Leafgem is the humble beginning of a 2D open source game engine written in Crystal!
git clone https://github.com/tfcat/Leafgem.git
cd Leafgem
shards install
crystal run -s -p examples/demo/main.cr
flare map files
What are the main things we need for a Game Engine? Here's what I can think of off the top of my head.Each of the given features could be contained in a class which correlates to their purpose.
Documentation
Control
Objects
Sprites
Drawing
Audio
Rooms
Background renderer
Foreground renderer
Tileset renderer
Tile layers
Spawn objects in predetermined places
Easier workflow regarding room creation... (Currently use Tiled; should I make an editor?)
get_tile_at
within maps.cr
. This results in unexpected true
returns with some object functions; meeting_tile
and meeting_tile_layer
I'm not all that good with Crystal - I'm creating this project as practice using the Crystal language!
That means any and all contributions to this engine are welcome and heavily appreciated, no matter how big or small. The aim is to give creators an intuitive toolkit for making games quickly and easily!
Any ideas are welcome!Fork, and work your magic!