{"id":18218776,"url":"https://github.com/lucasmcclean/godot-game-template","last_synced_at":"2025-10-29T00:31:35.463Z","repository":{"id":211924604,"uuid":"730282630","full_name":"lucasmcclean/godot-game-template","owner":"lucasmcclean","description":"Project template for any Godot 4.0+ project. It comes with several robust core systems and thorough documentation. Currently under development.","archived":false,"fork":false,"pushed_at":"2025-01-23T21:44:53.000Z","size":372,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T23:33:40.631Z","etag":null,"topics":["game-template","gdscript","godot-4","godot-game-engine","godot4-2","godotengine","platformer","save-system","state-machine"],"latest_commit_sha":null,"homepage":"","language":"GDScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucasmcclean.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-11T15:34:51.000Z","updated_at":"2025-01-23T21:44:57.000Z","dependencies_parsed_at":"2024-01-01T16:24:35.508Z","dependency_job_id":"13efdb74-61be-4f7c-a614-d86e579b8d02","html_url":"https://github.com/lucasmcclean/godot-game-template","commit_stats":null,"previous_names":["lucksdev/2d_platformer_template","lucksdev/godot_game_template","lucasmcclean/godot-game-template","ljmcclean/godot-game-template"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasmcclean%2Fgodot-game-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasmcclean%2Fgodot-game-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasmcclean%2Fgodot-game-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasmcclean%2Fgodot-game-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasmcclean","download_url":"https://codeload.github.com/lucasmcclean/godot-game-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238749425,"owners_count":19524158,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-template","gdscript","godot-4","godot-game-engine","godot4-2","godotengine","platformer","save-system","state-machine"],"created_at":"2024-11-03T18:01:30.733Z","updated_at":"2025-10-29T00:31:35.035Z","avatar_url":"https://github.com/lucasmcclean.png","language":"GDScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Godot Game Template \u003csup\u003e\u003cbr\u003e***In Progress***\u003c/br\u003e\u003c/sup\u003e\n\n\n![Static Badge](https://img.shields.io/badge/Godot-4.0+-478cbf?logo=godotengine\u0026logoColor=ffffff\u0026style=flat-square\u0026labelColor=121821) \n![Static Badge](https://img.shields.io/badge/License-MIT-750014?style=flat-square\u0026labelColor=121821)\n[![Static Badge](https://img.shields.io/badge/Discord-%20-121821?logo=discord\u0026style=flat-square\u0026labelColor=121821\u0026color=7289da)](https://discord.gg/98SXCFJJ5k)\n\n\n\n\n\n\n## Summary\n\u003cdetails\u003e\n\u003csummary\u003e\u003ch3\u003eIncludes:\u003c/h2\u003e\u003c/summary\u003e\n\n- Player\n  \n  \u003e Basic movement state machine with idle, moving, jumping, and falling states\n  \u003e already setup.\n  \n- State Machine\n  \n  \u003e Basic finite state machine for managing anything with single active states.\n  \u003e (e.g. player, enemy, crops, etc.)\n  \n- Save \u0026amp; Load System\n  \n  \u003e Uses encrypted binary serialization to provide security, a smaller save file,\n  \u003e and a custom save structure. This system is highly customizable for more\n  \u003e complex projects. Also contains methods for saving and loading user\n  \u003e preferences (controls, volume, etc.).\n\n- User Preferences\n\n  \u003e Save and load system specifically for user preferences. Completely modular for\n  \u003e custom game settings.\n  \n- Scene Manager\n  \n  \u003e A simple scene manager to provide additional utilites such as a loading screen\n  \u003e and simple pause and resume functions to abstract and simplify basic processes.\n\n- Basic Menus\n  \u003e Simple main menu, loading screen, and settings menu. They are purely functional\n  \u003e and will require sprucing up. They have built in scene changes and buttons for\n  \u003e necessary interaction. The settings menu interfaces with necessary systems\n  \u003e and can update and save user preferences.\n\n- Simple Audio System\n  \u003e This system includes some basic convenience functions and a prebuilt bus layout\n  \u003e integrated with the settings system.\n\u003c/details\u003e\n\nThis template provides all of the necessary systems to get started with a new game\nright away. Unlike some other options on GitHub though, these systems are\ndesigned to be extremely customizable and modular. Most, if not all, of them\ncan be easily modified or completely removed.\n\n\n## Getting Started\n\nThere are two options to get started:\n\n#### 1. GitHub Template:\n1. Create a new repository using this [template](https://github.com/new?template_name=godot_game_template\u0026template_owner=LucksDev)\n2. Clone the repository on your device\n3. Open the project in [Godot](https://godotengine.org/download/)\n\n#### 2. Local Project:\n1. Go to the latest release (not yet active)\n2. Download the source code zip\n3. Unzip the project\n4. Open the project in [Godot](https://godotengine.org/download/)\n\n\n## Setting Up\n\nNow that you have the project on your device you will need to do a few things before you can\nget going.\n\n- Set the projects Default Bus Layout to \"res://common/audio/default_bus_layout.tres\"\n\n  \u003e This settings can be found via the Project tab \u003e Project settings... \u003e General \u003e Audio \u003e\n  \u003e Buses \u003e Default Bus Layout\n\n- Set the Main Scene to \"res://scenes/main/main.tscn\"\n\n  \u003e This settings can be found via the Project tab \u003e Project settings... \u003e General \u003e Application \u003e\n  \u003e Run \u003e Main Scene\n\n\n## Further Information\n\nFor specific details about each of the systems you can reference the [docs](_docs) or you can use \nGodot's in-editor class reference ([learn more](_docs/systems.md#ineditor-documentation)). \n\nFor notes on coding style you can reference the [style guide](_docs/best_practices.md#style-guide)\nand for notes on the project structure you can reference the \n[file structure](_docs/best_practices.md#file-structure) documentation.\n\n**Autoload Roles**:\n\n- Scene Manager\n  \n  \u003e [Scene Manager Documentation](_docs/systems.md#scene-manager)\n  \n  - The scene manager is used for handling scene changes and transitions. It comes with several\n    methods for handling loading screens, additive loads, etc.\n    \n- Audio Manager\n\n  \u003e [Audio Manager Documentation](_docs/systems.md#audio-manager)\n  \n  - The audio manager serves the role of abstracting low-level interactions with Godot's `AudioServer`\n    while simultaneously ensuring consistent transitions for volume and effects.\n\n- Events\n\n  \u003e [Events Documentation](_docs/systems.md#events)\n\n  - The events singleton provides a single point for global signal handling.\n\n- Save \u0026 Load\n\n  \u003e [Save \u0026 Load Documentation](_docs/systems.md#save--load-game)\n\n  - This class is used for saving and loading the game with encrypted binary serialization. This means\n    that this class is likely the most flexible but also one of the most complex of all of the autoloads.\n    If you feel lost, NightQuestGames has a wonderful\n    [resource](https://www.nightquestgames.com/godot-4-save-and-load-games-how-to-build-a-robust-system/)\n    that covers all of the intricacies of the process thoroughly.\n\n    \n## Resources, Credit, \u0026 Licensing\n\nThis project is free to use, modify, or redistribute (see [LICENSE](LICENSE)). Credit is not required\nbut it is appreciated. If you would like to credit me feel free to link my \n[GitHub account](https://github.com/LucksDev).\n\nGodot Download: [Download](godotengine.org/download)\n- Godot License: [License](godotengine.org/license)\n\nThank you to...\n\n- [NightQuestGames](https://www.nightquestgames.com/ \"NightQuestGames' blog\")\n\n- [GDQuest](https://www.gdquest.com/ \"GDQuest's website\")\n\n- Godot's amazing [community](https://www.bing.com/ck/a?!\u0026\u0026p=f5a756818708d6cfJmltdHM9MTcwMzIwMzIwMCZpZ3VpZD0xMzMyNDg1ZS04NGJkLTY0MTktMmYxZi01YmNlODVjYTY1MzcmaW5zaWQ9NTE5Ng\u0026ptn=3\u0026ver=2\u0026hsh=3\u0026fclid=1332485e-84bd-6419-2f1f-5bce85ca6537\u0026psq=official+godot+discord\u0026u=a1aHR0cHM6Ly9kaXNjb3JkLmNvbS9pbnZpdGUvekg3TlVneg\u0026ntb=1 \"Godot's official Discord server\")\n\n\n## Discord Community\nIf you're interested in joining a Discord community – to give feedback or help on development of this project\nor to learn from and share with other devs – check out [Developer Nexus | Godot](https://discord.gg/98SXCFJJ5k).\n\u003cbr\u003e\u003c/br\u003e\n\u003csup\u003eIf you appreciate the project, give it a star!\u003c/sup\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasmcclean%2Fgodot-game-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasmcclean%2Fgodot-game-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasmcclean%2Fgodot-game-template/lists"}