Blast from the past


Gametje V1

If you have read my about page, you may remember that I did an initial implementation of a couple games back in the Fall of 2017. I mainly did it at the time to learn NodeJS which was all the rage back then. I was able to build the frontend and backend in the same code base and it mostly worked. I also deployed it using the Heroku free tier which was pretty neat. At the time, I didn’t know much about containerization/Docker or running my own VPS, so it was the simplest way to share it with friends. You also can’t argue with free (the database too!). I was able to develop a prototype pretty quickly, but I never felt that comfortable with NodeJS. Typescript wasn’t really around yet and I missed the strongly typed help from Java. My job at that time was primarily backend oriented with some frontend built using jsps which were dated even at that time…

I had very little “modern” frontend experience outside of building a few websites for my sister. Those were comprised of poorly written CSS and tiny snippets of JavaScript for fancier navigation. Also needed to hack together some photo swiping and video playing libraries. I’m sure I’ve sold you on it by now, if you’re interested to give it a look, you can see it here (my sister is a copywriter for context).

Why you talking about the past man? We live in the future dude 😎

Good question, I recently found the code from my first two “Gametje”-like games. I wondered how difficult it would be to get them running in 2025 given I stopped working on them in late 2017/early 2018. I was curious to see if I could learn any lessons from my past self. With some package updates and a bit of finicking I was able to get them both running on my laptop.


Fibbage clone

The first game was a clone of Jackbox’s Fibbage. I compiled a list of interesting facts about the world and removed the most unique word(s) from the sentence. Players would then fill in the blank with a funny or believable word/phrase. It’s a bit like a multiplayer mad-libs. There is a right answer of course and the game mixes that in with all the player answers. Players then need to find the “truth”… yada yada yada, points are scored… you get the picture..


I digress... check out some screenshots/gifs:

NietWaar

What is NietWaar you say? The literal translation from Dutch is “not true”. You can see my theme of squeezing in Dutch where it doesn’t belong hasn’t stopped with the website name. Overall, I’d say it’s not a great of name for any true international appeal, but 2017 John wanted to pay tribute to the origin story of why it was created. After revisiting it, you can really see some of the similarities to my new games. The timer at the bottom, some indication whether a player has answered, screens to “reveal” what happened, and finally a score screen. I once play tested this with my former colleagues at RoCo and got some great feedback and encouragement. I’ll probably eventually recreate a similar game and add in some AI twist.


Acrophobia clone

The next was an acronym game where you get a category and an auto-generated acronym and then you need to write a clever phrase while trying to match the category and the letter restriction. Players then vote on the best answer. I was trying to recreate a childhood favorite game called Acrophobia that I used to play back in high school. Check out some game screenshots:

Gametje V1


The game was decently fun, the style was... let's be generous and say "passable", but it had a lot of bugs. State management was a bit of a mess. I wrote some clever scripts for generating acronyms that actually fit the language you were playing in (nobody wants X's or Z's occurring too often). I found the top 10,000 words/nouns of each language and analyzed the first letter frequency. I then translated that into the acronym generating algorithm. Nowadays, I guess ChatGPT could probably tell me with a simple prompt but oh well. We use the tools available to use at the time.

The bits and pieces of the puzzle were there but the expertise to make it good were not (yet). I never really spent enough time putting any polish on this game. I started working with Onegini in January 2018 and the move would teach me a ton of useful skills that I could apply later to make gametje.com successful.


What’s next?

I’m currently wrapping up an upgrade to React 19 on the frontend. I’m also adding some quality of life improvements to some of the older games (REQUIP and SNAPTION). They were designed with the idea that players need to see the main screen. The player screens were designed to input answers but then they’d follow along on the main screen. I’ve since changed course to allow the games to be played completely from a phone/tablet without the need to see the main screen. This required adding additional context about the state of the game and squeezing it into a smaller area. It also gave me a chance to refactor a ton of code on the frontend and backend. With this change, people will be able to play/host from wherever they want (like while grabbing a few drinks at a bar or maybe bored teenagers chilling during their free period). I’m also putting the finishing touches on Hide and Peek. See that blog post here. Thanks for reading.