Skip to content

Conversation

@frixaco
Copy link

@frixaco frixaco commented Jan 24, 2026

Adds a 2D boss-fight environment where an agent must defeat a stationary boss by attacking while dodging AOE bursts.

Ran sweep for a bit, tuned config, trained successfully. Tested on AMD CPU, Apple Silicon CPU + MPS. Raylib rendering included.

First time with RL/PufferLib/C - happy to take any feedback!

Details

See README for more.

  • Arena: Square arena with grid overlay and crosshair axes
  • Boss: Stationary, cycles through IDLE → WINDUP → ACTIVE → RECOVERY with visual telegraphs
  • Player actions: Move (4-dir), Dodge (with i-frames + trail effect), Attack (melee with ring effect)
  • Challenge: Dodge timing - i-frames are shorter than AOE duration, forcing spatial escape

Discrete(7) actions, Box(12,) obs. Ends on kill, death, or timeout.

TODO

  • Improve Raylib visuals
  • More boss attacks (e.g. projectiles, telegraphed moves)
  • Boss as agent (self-play)

Open to suggestions!

Demo

Screen.Recording.2026-01-25.at.06.01.36_compressed.mov
Screenshot 2026-01-25 003555

@frixaco frixaco force-pushed the boss-fight branch 2 times, most recently from 2c45a31 to 068d2be Compare January 25, 2026 00:55
@frixaco frixaco force-pushed the boss-fight branch 2 times, most recently from 85c6401 to cfa0044 Compare January 25, 2026 01:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant