DoNutForgetIt! (itch.io link) is a game developed over four weeks in June 2025. I developed it because

  1. I couldn’t find a game exactly like this to test my memory, and
  2. I felt obligated to develop at least one completed video game in my life to demonstrate my abilities as a programmer.
It was made using Love2D, and the language used was Lua.

Difficulties Encountered

The process of making the game was fairly stressful, and confirmed to me that I have no interest in pursuing game development any further! With that said, it did help me to improve my programming chops (which will come in handy with my ongoing web development and scripting work), and I do feel a great sense of pride in showing it off, even if it is a fairly basic game.

Probably the biggest issue I ran into when putting it together was in underestimating just how complex and involved game development is; when I first started coming up with the idea and experimenting with code, I had so many grand ideas. Actually implementing them was much more time-consuming that I had envisaged, and I decided to pull out a lot of half-developed features for the sake of completing the project and giving me time to move on with other goals. Ultimately, the game still serves the basic purpose I created it for, so I’m still happy with it.

Programming Difficulties

All in all, it’s about 650 lines of code. Most of these I worked out by reading through tutorials (Sheepolution and Love2D’s manual being two frequent reference points), and a few were based on solutions ChatGPT provided. Although I did consult ChatGPT for advice on how to overcome problems and implement code, I never copied and pasted anything, and any solutions provided were rewrote in my own style (often using lots of unnecessary brackets for precedence and readability, but that’s just how I like to write code).


Click to enlarge

The source code was canned and restarted five or six times. The above function was written during the first iteration, and worked so well that I actually reused it through each iteration to the final project. The only thing I can’t remember, looking back, is why I was passing boxSize as an argument twice! In any case, it does a good job of plotting the X and Y positions and dimensions according to the available screen size.


Click to enlarge

Other parts were written toward the end of the project, when I was fatigued and keen to finish the game as soon as possible. The above functions for playing audio were based on answers from ChatGPT, but I unnecessarily added a couple of flag checks to make sure "1" (no music) was not the currently selected track:

(“if(currentSong~=1)”)
Without these, music was still playing when Option 1 was selected, and so I just left them in as they work as expected (but, as with most janky code, I’m not exactly sure why!).

Project Reflections

At the end of the day, I can’t complain. I managed to write a fairly basic game, and I can now use it on my resume. In future, I’ll stick to playing video games and probably just design card games for my own amusement! If DoNutForgetIt! Is of interest to you in any way, I’d love to hear about it.

The project will, once I have other parts of my life settled, be completely open-sourced on Github as all of the content (code, music, sound, and art) was created by me during one very stressful month in 2025!

I hope you’re having fun with whatever passion project you’re working on yourselves.

Jamie