This repository is a starting point for Godot 4 projects that need a basic 2D player controller and weapon system. The template includes example scenes, scripts and a minimal UI so you can jump straight into prototyping.
- Run
./setup-godot.shto download the Godot editor to~/.local/bin/godot. - Launch the editor and open
project.godot(the main menu will load by default). - Test the weapon system by running
Scenes/Testing/weapon_test_scene.tscnor try the new sample stage atScenes/Testing/sample_stage.tscn.
- See game_design_document.md for the overall design plan and asset guidelines.
- See file_structure_guide.md for where scripts and scenes belong, plus a quick‑start checklist.
- Player controller with several movement modes and a basic state machine.
- Modular weapon architecture supporting hitscan, projectile and melee weapons.
- Includes basic beam and area-effect examples.
- Built‑in effects like muzzle flashes, shell casings and bullet impacts.
- Simple UI scene that displays the current weapon and ammo count.
- A dedicated test scene with target dummies and weapon spawners.
- Basic enemy scene and script ready for AI experimentation.
- A minimal main menu that loads a sample stage demonstrating the weapon spawner.
The Scenes/Enemies folder contains a reusable enemy setup. The main scene
(Enemy.tscn) includes an AnimatedSprite2D, a NavigationAgent2D for
pathfinding and a WeaponMount for equipping any of the provided weapons.
Variants like EnemySideScroller.tscn or EnemyTopDown.tscn simply set the
movement_mode property to match the player controller. Open the test scene at
Scenes/Testing/weapon_test_scene.tscn to see an example enemy chasing and
firing at the player.
Pull requests and issue reports are welcome. Fork the repo, create a branch for your changes and submit a PR with a clear description. Please keep commits focused and follow the existing code style.
See TODO.md for the list of planned improvements.