A starter template for quickly bootstrapping new Godot projects. This base includes essential systems and tools commonly used in game development, aiming to reduce setup time and help maintain consistent project architecture.
-
GodotSteam
Integration for Steamworks features, ready to be configured with your game. -
Quiver Analytics
Plug-and-play game analytics for tracking in-game metrics.
-
Events
A centralized event bus (Autoload) for decoupled communication across your game. -
Global Access
Includes a shared random number generator (rng) and optional logic for generating seeds per game run. -
Save Manager
Handles save/load functionality, with support for managing save files via custom resources. -
Save Resource
The main resource used to persist game data.
Utility functions available via Helpers.function(...):
-
clear_all_children(node: Node)
Removes all children nodes from the given parent. -
connect_signal(node: Node, signal_name: StringName, method: Callable)
Connects a signal if it's not already connected. -
disconnect_signal(node: Node, signal_name: StringName, method: Callable)
Disconnects a signal if it's currently connected. -
calc_percentage(current_val: int, max_val: int)
Calculates the percentage value (0–100) between a current and max value.
All relevant project settings are pre-configured:
- Autoloads
- Display settings
- Debug settings
You can freely modify them to fit your own project needs.
-
Fork this repository to your GitHub account.
-
Clone your forked repository:
git clone https://github.com/your-username/godot-base-project.git
-
Open the project in Godot.
-
Customize the global systems and save structures to suit your game.
- Replace or extend the
Saveresource to match your data model. - Adjust
SaveManagerlogic for custom slot handling or encryption. - Configure the
GlobalAccessseed logic for roguelike or procedural runs. - Enable or disable Addons in
project.godotas needed.
Feel free to build on this base and make it your own!