itch.io is community of indie game creators and players

Devlogs

Retrospective on the Spring Lisp Game Jam

Magnetic Trek
A downloadable game for Linux

I've been a parenthesis lover for the past 10 years or so, being mostly introduced to Lisp as a side effect of my use of Emacs. I have had the Gigamonkeys book sitting near my desk for years, but finding opportunities to use Lisps anywhere isn't so easy. So when I came across a post on Mastodon about a Lisp game jam, I signed up right away.

The scheme

Then came the choice of language first. I decided to try a new type of Lisp: a Scheme. And I wanted a really fast scheme because I was writing a video game. So after a little bit of research I settled on Chicken Scheme, which is a scheme that transpiles to C and then compiles down to machine code. It also has libs for SDL, which were desirable to write a game.

Writing the game

And now I was faced with the main challenge: writing a game. Despite having been a professional developer for almost 15 years, I've in fact never written a working video game before. I had learned a lot of scary game theories about ECS systems and game design loops, but who has time for that stuff in a jam? So instead I just started off by displaying a square on the screen and moving it around with the WASD keys. Once that was done, everything became a lot clearer!

All in all, I had a lot of fun using Chicken. Scheme does a good job at being expressive while remaining minimal. My only regret is that I ended up using a lot of side effects, rather than functionally updating the game state and then translating the game state updates into on-screen changes. Also the lack of unit tests because of time and not understanding Chicken modules. Magnetic Trek is published under MIT license and the source available on Gitlab too.

The Jam

The Jam itself was fun, and there was a small community on mastodon that posted about their progress regularly, so it was good not feeling too isolated. I think it'd have been even nicer to have some form of official chat (IRC or other) where all game developers could casually share and converse.

The future

I'm planning to try and clean up my code at the very least, and possibly improve the game features. Maybe to have a proper menu and make it more interesting. I don't plan on turning it into a AAA game :-).

Thanks for reading and trying out my game!

Files

  • magtrek.zip 4.7 MB
    Jun 04, 2023
  • magtrek-binary.zip 2.3 MB
    Jun 04, 2023
Download Magnetic Trek
Leave a comment