Skip to content

Metal Slug demo: explosion VFX and a bomber enemy - #22

Merged
diego3 merged 2 commits into
mainfrom
claude/metalslug-jump-and-background
Jul 27, 2026
Merged

Metal Slug demo: explosion VFX and a bomber enemy#22
diego3 merged 2 commits into
mainfrom
claude/metalslug-jump-and-background

Conversation

@diego3

@diego3 diego3 commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Sphere hazard now spawns a black explosion particle-effect VFX (new generic Spritesheet tint feature) when it detonates, instead of just disappearing.
  • New stationary enemy_bomber enemy on platform_1 lobs the existing bomb (sphere_prototype) at the player along a computed parabolic arc, reusing the same bomb/explosion chain as the falling-sphere hazard. Required two small generic engine additions: engine.get_entity_position(name, axis) for scripts, and spawnEntity's optional vel_x/vel_y payload keys to launch a spawned clone with an initial velocity.
  • enemy_bomber tracks/faces the player every frame and only plays its attack animation while firing (idle otherwise).

Test plan

  • go build ./..., go vet ./..., go test ./... all clean
  • python3 -m unittest discover in games/metalslug_demo/scripts/python — 72 tests pass
  • Headless (Xvfb) manual runs: explosion VFX renders and cleans up correctly; bomber's thrown bomb visibly arcs and lands at the player's feet, then explodes; bomber faces the player from scene start and only shows the muzzle-flash animation while firing
  • Golden path (movement/shoot/jump) unaffected — no player-controller changes in this PR

🤖 Generated with Claude Code

- Sphere hazard now spawns a black explosion particle effect (via a new
  generic Spritesheet tint feature) when it detonates instead of just
  disappearing; the VFX is its own short-lived entity that cleans itself
  up once the one-shot animation finishes.
- New stationary "enemy_bomber" enemy (on platform_1) lobs the existing
  sphere_prototype bomb at the player along a computed parabolic arc,
  reusing the same bomb/explosion chain as the falling-sphere hazard.
  This needed two small generic engine additions: a script-facing
  engine.get_entity_position(name, axis) query, and spawnEntity's
  optional vel_x/vel_y payload keys to launch a spawned clone with an
  initial velocity.
- enemy_bomber tracks and faces the player every frame, and only plays
  its attack animation while a shot is firing (idle otherwise).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@cursor

cursor Bot commented Jul 27, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@diego3
diego3 merged commit b2311af into main Jul 27, 2026
3 checks passed
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