Levrault's 2D platformer starter
This is my custom starter project (you can follow his development right here on Github) to quickly create a 2D platformer with some metroidvania mecanics. Feel free to use it to start your own project (and give me feedbacks). Just keep in mind it has been made to suit my way of developing but I think you can maybe find some useful tips.
The project contains
- Navigable menu interface with screen transition.
- Translatable interface
- Persistent settings menu (video, audio, key binding, language etc.)
- A ready to use Hierarchical state machine based on GDQuest course with basic move set (move, jump, run, attack)
- Castlevania navigation style rooms based level. A level is composed of multiples small rooms (scene), they are all loaded in memory and character can navigate through them)
- A branch dialogue system
- Unlockable abilities
- Save/Load system
I try my best to keep the wiki page up to date, you should find an explanation for almost every module.
See GDQuest's best practices guide and official Gdscript Guidelines
The only main difference, is own I approach the return behavior. I prefer make earlier return (to reduce nesting) instead of keeping only one value to return at the end. This is based on my goland experience
I tried to make my project structure clear as possible. An assets
folders for every resources (sprites, audio, json files) and a src
folder to contains the code and game logics.
The only rules insides the src
folders is that, every kinds of UI, GUI, go inside the Interfaces
folders and every singletons goes on the Autoload
folder.
The rest is divided between roles and code design decision.
Status | In development |
Platforms | HTML5, Windows, macOS, Linux |
Rating | Rated 5.0 out of 5 stars (1 total ratings) |
Author | Levrault |
Genre | Platformer |
Tags | 2D, Godot, madewithgodot, Open Source, Singleplayer, sourcecode |
Download
Development log
- v0.2.0Dec 31, 2020
- devlog - fix dialogue and menuJul 09, 2020
Comments
Log in with itch.io to leave a comment.
This is amazing! I haven't seen a state machine this clean! I did end up breaking the pause menu trying to select ui_options after trying to quit 3 or 4 times after I saved, but great work!
Wow…what a wonderful little demo, and an amazing system that you are building! Thank you for sharing… ;-)