Hi,
I am totally new to game development, as preparation for this Jam I made a flappy bird clone in common lisp. I always wanted to make a lode runner clone so that was my next target. I choose Guile and Chickadee to base my game on, Guile because I want to use it more for GUIX and chickadee because I was reading the excellent documentation from dthompson and thought it would be a good experience using it. I also did most of the work on a freshly installed GUIX system which still had to be shaken out.
I fully expected that I would ride myself into the swamp of complexity and get lost in the codebase, but that actually did not happen. I leaned heavily in the module system and tried to keep a DAG in my head of how responsibilities flowed and that helped I think. I sprinkled a liberal amount of unit tests to avoid sliding back too much or implement tricky logic. Also the chickadee library proved to be rock solid (except the bundling tool which refused to find the libraries, tbf that was warned about in the manual).
Where I lost a lot of time was building and bundling the game. I had very little (and very old) experience in the GNU tools (autoconf, automake and friends), so that was a learning curve. Similarly with baking guix packages from source and dealing with the intricacies of where the stuff materializes after installation. Especially finding the assets reliably caused me to lose time a lot. In the later days I found myself losing a lot of time with mundane things like building new releases, automating that.
And then I got on a side-quest to finally implement CI runners for my self-hosted code forge.
I also found out I really do not like creating levels. I load levels from text files and can easily draw them in emacs or vim. However I just hated the experience. I also tried out the tiled map editor, which worked beautifully but it provided nothing else for my game that was not handled better and more user friendly by using the text based levels so I ripped that out again. The TIled maps allow much more but I do not use it and it would just be in the way. Maybe for another game.
As mentioned I did not have high hopes for completing the game at the start so my ambitions were not that high. In my eyes I hit the main targets I aimed for, I learned a lot about tools I wanted to learn for a long time, I shook out my main system installation and other dev tooling. I made good progress in getting familiar with Guile and I had a blast writing it and interacting with the community.
snamellit