Post-mortem on Magnetic Trek


The Spring Lisp Game Jam is now over, and this game, Magnetic Trek ended up being ranked 25th out of 30. As a result of this ranking, I want to go through the development of the game and the choices I made and look at why it may have ranked so low and what I should try to improve for the next jam (yes, I intend to participate next time too :-)).

Development of Magnetic Trek

Concept

The concept of Magnetic Trek only started two days before the Game Jam started only. As you can see in my notes [PDF], the first concepts of the game had it as a top-down scroller. The player's particle would collide with either good or bad particles, the good ones making it grow, and the bad making it shrink. At the end of the level, the player would encounter the disk's read head, where they'd need to be big enough to be read, or lose the stage.

Things evolved quickly in the 10 days of the challenge, and the concept switched to a side scroller instead. For expediency's sake, I opted to use coloured squares instead of textures – a decision that I came to regret.

The core game concept revolves around magnetism. Charged particles either attracting or repelling depending on their polarity. I think that makes for interesting game-play opportunities that I haven't seen used much in the wild. The first attempts at implementing magnetism involved a square of randomly charged particles surrounding the player particle as seen in the notes.

By the time the core concepts were working, I was only 2 days away from the Jam's end, and I could only spend max. 2h per day to complete the game. My original plan included shrinking particles and a level boss that the player had to be large enough to pass. But that all got cut off and instead I introduced the obstacles – aka the black bars of death – after seeing some microscopic images of the surfaces of hard drives.

Technical considerations

I made the choice of using Chicken Scheme because I hadn't yet had the opportunity to use Scheme. By far the Lisp I'm most experienced with is Elisp (in Emacs), and Common Lisp second. So that was a nice learning opportunity. My choice went with Chicken as it is compiled to machine code rather than interpreted, which is a nice change as my day job involves interpreted languages already.

Chicken has modules called eggs that can be installed easily with the chicken-install utility, which is nice. Those modules then get compiled in the executable right away when indicating to the Chicken compiler that we want a statically-linked executable, which makes distribution simpler.

To avoid memory issues – even though chicken is garbage collected – I have avoided spawning entities excessively. To that end, the game actually has a set number of particles which it reuses whenever one goes off-screen. It also does the same thing for obstacles, of which there are only ever 3.

In the end I used a statically compiled executable and shipped it out with instructions to install SDL2 and SDL2_ttf. This was OK, but some people still had to compile and struggled. One of them did it in a twitch video and he was unwilling to let chicken-install write into his /usr/local directory, which I can relate to. Distribution is definitely something to investigate for a future participation.

Ranking of the game

Magnetic Trek ranked 25th out of 30 games in the Jam, which isn't great. After analysing the data from itch.io, I can see that the game is deemed middling to begin with. But the ranking was hurt massively by having only a small number of ratings. In order to look into what to improved, I've worked out the distribution of each raw rating as below.

<colgroup> <col class="org-left"> <col class="org-right"> <col class="org-right"> <col class="org-right"> <col class="org-right"> <col class="org-right"> </colgroup>
Item Min 25th pct Median 75th pct Max
Creativity 1.895 2.956 3.676 4.078 4.800
Presentation 2.500 3.080 3.343 3.921 4.625
Entertainment 1.316 2.822 3.283 3.545 4.176

The raw ratings for Magnetic Trek are as follows:

  • Creativity: 3.625
  • Presentation: 2.750
  • Entertainment: 3.375

The ratings suggest below average creativity, which I find a little puzzling as I opted to go for magnetic game mechanics, which isn't something I've seen before. Because I firmly believe that my game has originality, I'll instead attribute this mediocre rating to a lack of communication that would cause players to not understanding what's happening and what's expected of them. I will concede that the obstacles are very boring black bars and not very creative.

When it comes to the presentation, I think I made an error in not using sprites from the get go. Now that I'm more familiar with the technical environment, it wouldn't have taken much longer and it would have resulted in a prettier game. This is well deserved.

The game is a little above average as it comes to entertainment, so I think fixing the looks and accessibility would have improved that rating also.

From the data of the other games, I can see a pattern were most games developed with a game engine are at the top. They are also the ones most likely to run in-browser; making them very accessible, and increasing their count of reviews. Some people did complain about not being able to install or compile my game and having graphical glitches. Even though I intervened as quickly as I could, no doubt the experience coloured their ratings.

What to improve for the next Jam

For the next jam, I think I will start preparing sooner and coming up with another cool concept. I will look into using a game engine, or building upon what I've learned to quickly bash out a game with custom logic.

As experienced, it's very important for the game to run easily. So I will be looking into making AppImage packages, and hopefully compiling the game to run in-browser.

What to improve in Magnetic Trek

I am interested in improving the game further. I want to refactor the code-base towards a more functional style of programming instead of having mutations and calls to SDL all over the place.

I plan on reworking the obstacles concept and have more interesting threat to the player, hopefully something magnetic too. And to introduce some shrinking opportunities and some abilities the player can gain and use to their advantage.

Thanks for reading this. Stay tuned for more!

Appendix

Here is the table of the raw data for all games I used to evaluate my rating. Feel free to reuse:

<colgroup> <col class="org-left"> <col class="org-right"> <col class="org-right"> <col class="org-right"> <col class="org-right"> <col class="org-right"> <col class="org-left"> <col class="org-left"> </colgroup>
Game Overall (weighted) Creativity Presentation Entertainment Ratings Uses game engine Finished
Bunny buddies 4.05 4.35 4.35 3.45 20 Yes Yes
Shelter creek 4.05 3.6 4.55 4 20 Yes Yes
Sandpipers 3.979 4.188 4.625 3.125 16 Yes Yes
Super Rogue 3.967 4.25 3.55 4.1 20 Yes Yes
Disastrous Flying Critters 3.965 4.105 4.105 3.684 19 Yes Yes
Eval-em-up 3.905 3.786 4.571 3.357 14 Yes Yes
The Maze and Lost Cat 3.742 3.727 3.955 3.545 22 No Yes
JOVIAN encounter 41 3.567 4.8 3.8 3.6 10 No Yes
Falldown 3.373 2.588 3.353 4.176 17 Yes Yes
Thirteen letters 3.333 3.333 3.4 3.267 15 No Yes
Apple 3.289 4.182 3 3.545 11 No Yes
Bee 3.289 4 3.133 2.733 15 No Yes
Thoughtbound 3.066 3.364 3.818 2.818 11 No Yes
Fantasary 3.005 4.571 4.571 3.143 7 No Yes
Reflected Pong 2.963 2.111 3.444 3.333 18 No Yes
sparXline 2.87 2.556 3.222 2.833 18 No Yes
Interlisp fifteen puzzle 2.836 4 3.2 2.5 10 No Yes
Super Bloom 2.83 4 4 3.571 7 No Yes
Cl-powder 2.804 3.556 3.444 3.111 9 No Yes
"Spooks-Be-Gone 2.792 3.125 3.063 2.188 16 Yes Yes
Wireworld 2.777 2.9 3.3 3.3 10 No Yes
Pacman Clone #0xfff 2.759 1.944 3.333 3 18 No Yes
Bleach Drinking Simulator Color Deluxe 2.66 3.9 2.5 2.7 10 No Yes
Waller 2.642 4.167 3.333 4.167 6 Yes Yes
Magnetic Trek 2.55 3.625 2.75 3.375 8 No Yes
XCB Boomshine 2.55 3.25 3 3.5 8 No Yes
Turbo-generic-forest-adventure 2.482 2.5 3.25 2 12 Yes No
Breakfast Shock Unfinished Edition 2.018 1.895 2.842 1.316 19 Yes No
Jam-no-theme 1.943 3.8 3 2.6 5 No Yes
Little Spark 0.981 2 2.5 3 2 No No

Files

magtrek-design.pdf 1 MB
Jun 09, 2023

Get Magnetic Trek

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.