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

Wiki

I try my best to keep the wiki page up to date, you should find an explanation for almost every module.

Guidelines

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

Folder's Structure

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.

StatusIn development
PlatformsWindows, macOS, Linux, HTML5
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorLevrault
GenrePlatformer
Tags2D, Godot, madewithgodot, Open Source, Singleplayer, sourcecode

Download

Download
levraults-2d-platformer-starter-html.zip 4 MB
Version v0.2.0 Dec 31, 2020
Download
levraults-2d-platformer-starter-win.zip 13 MB
Version v0.2.0 Dec 31, 2020
Download
Levrault's 2D platformer starter.zip 14 MB
Version v0.2.0 Dec 31, 2020
Download
levraults-2d-platformer-starter-linux.zip 14 MB
Version v0.2.0 Dec 31, 2020

Development log

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… ;-)