https://github.com/nezvers/Godot-GameTemplate
Template for top-down shooter, with solutions for tough problems.
https://github.com/nezvers/Godot-GameTemplate
async gdscript godot loading manager menu options pause sfx
Last synced: 19 days ago
JSON representation
Template for top-down shooter, with solutions for tough problems.
- Host: GitHub
- URL: https://github.com/nezvers/Godot-GameTemplate
- Owner: nezvers
- License: mit
- Created: 2019-12-15T11:10:45.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-02-22T15:47:03.000Z (about 2 months ago)
- Last Synced: 2025-03-29T23:01:34.304Z (21 days ago)
- Topics: async, gdscript, godot, loading, manager, menu, options, pause, sfx
- Language: GDScript
- Homepage:
- Size: 8.67 MB
- Stars: 1,312
- Watchers: 24
- Forks: 84
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-godot - Godot-GameTemplate - Template with all necessary stuff taken care of. Designed for pixel art games. (Templates / 3D)
- awesome-godot-3 - Godot-GameTemplate - Template with all necessary stuff taken care of. Designed for pixel art games. (Templates / 3D)
- awesome-godot-3 - Godot-GameTemplate - Template with all necessary stuff taken care of. Designed for pixel art games. (Templates / 3D)
README
# Godot Game Template
[itch.io WEB DEMO](https://nezvers.itch.io/advanced-godot-template-isometric)
A starting point and reference project for creating games with the Godot Engine, particularly suited for top-down shooter games.
Project is located in [addons/top_down](addons/top_down/) to keep project conflicts to a minimum. It showcases recommended project structure.This repository also includes [addons/great_games_library](addons/great_games_library), a collection of scripts that offer general-purpose solutions applicable across various games.
Additionally, for task organization, the project includes a simple [Kanban Tasks - Todo Manager](https://godotengine.org/asset-library/asset/1474) plugin.
> **⚠️ CAUTION:**
> Due to an issues with a custom `AudioBusLayout` resource locations in Godot, I've kept the audio bus layout at its default location and name as [default_bus_layout.tres](default_bus_layout.tres).> **NOTE:**
> - This template is not recommended for beginners who may need a guidance.
> - It serves as my personal project template and will continue to evolve as I develop my own game. Updates will be made until the project starts to go beyond the needs of a generic top-down shooter and into game-specific content.
> - All assets are made by me and are free to be modified and used for inclusion in commercial products, but not sold as your creation. Soon will be released as a separate package on [nezvers.itch.io](https://nezvers.itch.io)
## Main Features
- Menu system
- Full Screen
- Audio (Master, Music, Sounds)
- Button state style tweaning
- Pausing system
- Input Rebinding
- Frame by frame debug pausing (`P` - pause and advance, `[ + P` to unpause)
- Scene transition using shader on a screenshot
- precompile (Shader, CanvasMaterial, ParticleProcessMaterial) and preload scenes [boot_load.tscn](addons/top_down/scenes/ui/screens/)
- Node reference managment [ReferenceNodeResource](addons/great_games_library/resources/ReferenceNodeResource/)
- Easy instancing with configuration callbacks and dynamic instance pooling [InstanceResource](addons/great_games_library/resources/InstanceResource/)
- Static functions for threaded loading [ThreadUtility](addons/great_games_library/static/ThreadUtility/ThreadUtility.gd)
- Sound effect system [SoundResource](addons/great_games_library/resources/SoundResource/) with autoloaded [SoundManager](addons/great_games_library/autoload/SoundManager.gd)
- Resource saving [SaveableResource](addons/great_games_library/resources/SaveableResource/SaveableResource.gd)
- Data transmission system used for damage, pickups, obstacles [AreaTransmitter](addons/great_games_library/nodes/AreaTransmitter/)
- Scene central data collection [ResourceNode](addons/great_games_library/nodes/ResourceNode/)
- Enemy AI Astar grid path finding
- Enemy wave spawning## Recommendations
To have easier learning experience on how project works I would suggest to start with these scenes:
- Menu - addons/top_down/scenes/ui/screens/title.tscn
- Rooms - addons/top_down/scenes/levels/room_0.tscn
- Actors - addons/top_down/scenes/actors/actor.tscn
- Weapons - addons/top_down/scenes/weapons/weapon.tscn
- Projectiles - addons/top_down/scenes/projectiles/projectile.tscn## Project breakdown
[](https://www.youtube.com/watch?v=2ZRxUUY6SeM)