Skip to content

Latest commit

 

History

History
60 lines (41 loc) · 3.31 KB

File metadata and controls

60 lines (41 loc) · 3.31 KB
cover itchio tags description
static/cover.webp
3D third-person-shooter shooter controller
A 3D Third Person Shooter Controller Demo

RoboBlast with Godot LLM addon: 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. Open the project and install the Godot LLM addon from the asset library. Alternatively, get the addon from the github release page.
  3. Download a supported multimodal model in GGUF format, including botht the language model and the mmproj model. For example, moondream2-text-model-f16.gguf and moondream2-mmproj-f16.gguf from this repo.
  4. Reload the project, open LLM/llava.tscn, point Model Path and Mmproj Path to the corresponding model file.
  5. Press F5 or Run Project.
  6. Close the demo page, press L to open the text generation UI, input some texts (e.g. "Describe the environment"), click Generate, then close the text generation UI by pressing Esc.
  7. Wait for a while, you will see the generated text appears at the top.

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.
  • L to open the UI for multimodal text generation, Esc to close the UI.
  • Alt to toggle mouse capture.

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.