A comprehensive game template designed for Godot 4, providing everything you need to kickstart your 2D top-down game development journey.
Godot version 4.4 or later is required, as the code utilizes typed dictionaries.
Play the web demo to get a grasp of the available features.
- Character Controller (basic movement + run, jump, attack, flash)
- Health Controller with optional health bars
- Interaction System
- State Management using State Machines
- Save/Load System
- Inventory Management
- ...and more!
Read the documentation.
To explore a specific topic in more detail, you can refer directly to the code—all key properties and functions are fully documented.
When starting your own project, you can safely remove all scenes that begin with "playground_", as they are only meant for demonstration purposes. Then, set your desired starting level by configuring the start_level
property in the start_screen.tscn
scene.
Take full control of your characters: make them move, run, attack, jump, and flash while managing their states seamlessly.
Enable your characters to interact with the game world. Trigger actions such as opening a chest, activating switches, or unlocking doors using the flexible interaction system.
The inventory manages all the items owned by a player. The project provides a simple node (Inventory.tscn
) assigned as a child of the player, which shows all the items owned by him. You can delete this inventory and create your own according to your preferences. Press ESC on your keyboard to open/close the inventory.
Easily save and load game progress, including player data, entity positions, and the current state of state machines. Saved data persists across levels and can be stored in a file for later retrieval, allowing players to continue from where they left off.
State machines form the backbone of this template, controlling characters, NPCs, enemies, objects, and more. Each state focuses on a single behavior, allowing you to decide when and how states are activated.
Seamlessly move between scenes, whether transitioning from a title screen to a level or from one level to another, and customize the transition effects to match your game's aesthetic.
Save and load user preferences, such as music and sound effect volumes or selected language. Effortlessly implement multi-language support and game localization.
Integrate a robust dialogue system to display message boxes and manage dialogues between game characters, enhancing narrative depth and player engagement.
If you plan to use Tilemaps and the pre-built Level scene to build your levels, here you can discover some useful tips to create new levels and setting up autotiles in no time.
Simplify testing with a configurable debugger. Test features like saving sessions, toggling player collisions, restoring health, or blocking enemies. The debugger is extendable, so you can add custom functionalities as needed.
- nathanhoad for Godot Dialogue Manager
- baconandgames for Godot4 Game Template
- dandeliondino for Tile Bit Tools
The Godot 2D Top-Down Template is one of the most comprehensive systems I have designed and developed. It is the result of my experience creating and playing various top-down action-adventure and RPG-style games. My hope is that this template helps you build something amazing and that one day, I’ll get to play your game!
The template is fully open-source, so feel free to explore the code and customize it to fit your needs. If you encounter bugs, missing features, or unclear documentation, don't hesitate to open an issue. Feature requests and contributions are also welcome, so feel free to submit them on the GitHub repository.
Check out my RPG Maker games that inspired the creation of this template!
Enjoy creating! 🚀