Skip to content

Conversation

Calinou
Copy link
Member

@Calinou Calinou commented Feb 18, 2023

Work-in-progress first-person shooter demo, with a retro art style. Features one weapon (shotgun) and one enemy type (hitscanner). Also contains rain with collision using GPUParticles3D, boxes that can be pushed by firing a weapon on them, moving platforms, and a pool with swimmable water.

We've had 3D platformer and racing (Truck Town) demos for years, now is time to finally have a full-blown FPS demo 🙂

This effectively implements #1, as the IK demo which featured a minimal FPS example won't be updated for 4.0 (IK needs to be redone after 4.0).

Technical note:

  • CharacterBody3D's is_on_floor() is not used. Instead, a ShapeCast3D is used to allow for stair climbing without having to add clip planes on top of every staircase.

There are still things to improve before merging this:

  • Finish level design (add more different structures and textures).
  • Add sounds when jumping and landing.
  • Add sounds when taking damage and dying (both for player and enemies).
  • Add bullet impact sounds on surfaces.
  • Add sounds for moving platforms when they begin and end their travel.
  • Restore camera animation when landing (the code is there, but it doesn't work).
  • Add a second projectile-based weapon (probably a rocket/grenade launcher), as an example of demonstrating weapon switching.

Preview

First-Person Shooter

Calinou added 13 commits June 2, 2025 17:21
This is a retro-inspired FPS with a 2.5D aesthetic.

TODO:

- Finish level design.
- Add crouching and swimming.
- Add weapons (shotgun, machinegun, rocket launcher, energy rifle) with ammo pickups.
  - Player owns all weapons by default but no ammo for most of them.
- Add enemies (hitscan, projectile, melee).
- Add screenshot and README.
…er audio muffle

TODO:

- Make boxes pushable by the player's movement.
- Add level material shader (not currently used due to engine bugs).
- Work around sprite rotation by removing normal map support
  (still need to implement mirroring UV when needed).
… weapon kickback

- Add crosshair color by health and opacity by weapon state.
- Make boxes have particle collision.
- Reduce bullet damage, increase number of bullets shot by the shotgun.
… effect

- Fix stair snapping on steep slopes.
- Add large plane surrounding the level with invisible walls
  to prevent the player from falling out.
- Add ReflectionProbe to water pool.
@Calinou Calinou force-pushed the add-first-person-shooter branch from 6d4fa5d to 9321283 Compare June 2, 2025 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants