/godot-4-3d-third-person-controller

Godot 4 demo with a plug-and-play 3D Third-Person Shooter (TPS) character controller inspired by games like Ratchet and Clank.

Primary LanguageGDScriptMIT LicenseMIT

cover itchio tags description
static/cover.png
3D third-person-shooter shooter controller
A 3D Third Person Shooter Controller Demo

RoboBlast: Third-Person Shooter demo (Godot 4, 3D)

This open-source Godot 4 demo shows how to create a 3D character controller inspired by games like Ratchet and Clank or Jak and Daxter. You can copy the character to your project as a plug-and-play asset to prototype 3D games with and build upon.

It features a character that can run, jump, make a melee attack, aim, shoot, and throw grenades.

There are two kinds of enemies: flying wasps that fire bullets and beetles that attack you on the ground. The environment comes with breakable crates, jumping pads, and coins that move to the player's character.

How to run:

  1. Download or clone the GitHub repository.
  2. Press F5 or Run Project.

Known issues:

There are some known issues with Godot beta releases. Currently, the project is known to run on Godot 4 beta 17 with some minor issues.

You can find the list of known issues here: https://github.com/gdquest-demos/godot-4-3d-third-person-controller/issues?q=is%3Aissue+is%3Aopen+label%3Abug

Feel free to open a pull request with a fix!

Controls:

  • WASD or left stick to move.
  • mouse or right stick to move the camera around.
  • Space or Xbox Ⓐ to jump.
  • Left mouse or Xbox Ⓑ to shoot.
  • Right mouse or Xbox RTto aim.
  • Tab or Xbox Ⓧ to cycle between bullets and grenades.

FAQ:

How do I use the player character in my game?

Copy the following folders into the root of your project:

  • Player: contains the main Player assets and scenes.
  • shared: contains shaders used by the player asset.

The following Input Map actions are needed for the Player.tscn to work:

  • move_left, move_right, move_up, move_down: move the character according to the camera's orientation.
  • camera_right, camera_left, camera_up, camera_down: rotate the camera around the character.
  • jump, attack, aim, swap_weapons: Action buttons for the character.

The Player.tscn scene works as a standalone scene and doesn't need other cameras to work. You can change the player UI by changing the Control node inside Player.tscn.

License:

All code is MIT-licensed, and assets are CC-By 4.0 GDQuest.