My attempt at an all-in-one components-based framework/template for 2D games~

So I’ve fallen into one of those “strange moods” from Dwarf Fortress where a dwarf retreats from society to work on an artifact… Allow me to present to you this little monster I’ve been raising since I started using Godot around 8 months ago:

It’s how I always wanted to make games and Godot has been the [almost] perfect starting point! The idea is this:

Choose from a set of pre-written components for various common behaviors like movement, control, combat, collectibles, powerups etc. Add them like any other Node to your “Entity” which is also just a regular Node/Sprite/CharacterBody etc. and tweak each component’s settings in the Editor Inspector.

If an existing component doesn’t do what you want, you can improve it, in the following order of “more ease of use” → “more power and control”:

  1. Enable “Editable Children” or “Make Local” to modify the subnodes of a component, like the BulletEmitter of a GunComponent.
  2. Make a subclass of a component’s script, like extends DamageComponent and add your own features on top of the existing functionality, like injecting situational buffs/debuffs.
  3. Edit the original script files to completely modify or replace the default functionality.

This is still mostly for my own personal use but I’ve been polishing it up for others as much as I can ^^ It’s on the Godot Asset Library along with some other helper stuff like a dock plugin, UI templates and debugging aids like variable charting windows.

I’m making prototypes of multiple games at once, and whenever one game needs something that I think could be reused in another game, I add it to the framework. You can see some of the stuff I’ve made with it at https://syntaks.itch.io

Hopefully this’ll be useful to someone else and maybe even find me a partner in crime to join in on developing it!

Some images if you want a preview right here:

Imgur
Imgur

9 Likes