Leikr Groovy Game System

Leikr is a game system for building small retro-esque games using the Groovy programming language.

The goals of this project originally were to help myself learn Groovy and more Java. One great benefit of using Leikr would be to help as a sort of intro to programming using the “easier syntax” of Groovy to help folks ease into developing Java games. Once a level of comfort is gained, folks can either continue making games in Leikr, or move “up” to bigger projects like Mini2Dx itself or LibGDX.

It has a relatively concise API for easily prototyping and building small 2D games, using a screen size of 240x160 (influenced by the Gameboy Advance) but with currently far fewer restrictions as far as “hardware” restrictions.

The github page: https://torbuntu.github.io/Leikr/

A quick spec sheet in case one doesn’t want to travel to github:

Spec
Resolution 240x160
Sprites 128 max draw calls per frame. Sprites.png gets split into 8x8, 16x16, 32x32 and 64x64 pixel sprites.
Art Can load images to be used as backgrounds or however else you wish.
Maps .tmx maps loadabled from Maps directory. (currently unlimited) Animated tiles supported.
Audio 16bit .WAV files loaded from Audio/Sound and Audio/Music (Limitations TBD)
Controls Primary: Keyboard, Mouse. Secondary: USB Controllers (snes layout). Tested using SNES style controllers on Linux. Note: The controllers are configurable using the Program Controllers which comes with the system. It maps inputs to the file Data/system.properties

A sample game (Flappy bird clone): https://pixelbath.itch.io/flappybirb-leikr

I’d love to have any feedback or constructive criticism!

3 Likes

That’s rather cool. I do love the concept of these virtual console system. I tweeted a link to the project just now.

1 Like

Wow, thank you!

If you have any questions or anything let me know. I’ve had a great time with this project and love sharing.

I plan to re-introduce a graphical menu again eventually, since I know the terminal is only useful for “dev-mode” and want a graphical interface when I deploy this to SBC’s like the raspberry pi.