This December was a productive one. I set out a simple task for myself that I would produce a simple array of 3D games for the Linux software store Snapcraft.
Albeit simple games starting from the 15th of December I managed to complete four by the 5th of January, 21 days total, ~5 days per game.
My general target was to imagine myself as a 5 to 10 year old and having just setup my first computer running Linux, stumbling my way into the Linux app store, what kind of games would I have liked to have found and played? I remember when I was that young I had very fond memories of the game Chips Challenge. I suppose that I just liked the adventure of it, not knowing what was coming next, and the basic puzzle-solving nature of it. It was exciting! I have played through many of the existing games on Snapcraft and I felt like there were far too many basic 2D games, vanity games, or just old abandonware games playing through emulators. Many of these games had not aged well and that was a factor playing on my mind... I wanted my games to have better longevity. There were a few 3D games on there, but they ranged from extremely complicated, realistic, and hobbyist, even for a well seasoned nerd such as myself — to just plain generic FPS clones of Cube/Saurbraten or Quake 3 and well that’s no fun! You can’t enjoy those on your own, they’re not single-player experiences kids would enjoy. We’re in an age now where if I was a child I would not be satisfied with basic 2D games anymore. I certainly felt that there needed to be more basic 3D games. So that’s what I set out to do.
People who know me know what I think simple games should be, something anyone can just pick up and get right into, something that is intuitive enough anyone of any language can just pick up and play for a while and put back down. I knew I didn’t have the time or patience to choreograph a set of levels so the games had to be randomly generated to some extent.
It’s tricky because coming up with the initial idea is hard and then being enthusiastic enough to persevere through from idea to code is a beast in its own right. But it happened and while they may not be amazing games, they are games. Well. They’re my games — which means they have no discernable ending, essentially infinite, play ‘till you drop gameplay.
Snowling was the first idea I had, I had to pick some kind of classical existing game to reproduce for time is of the essence. I quite liked the idea of air hockey because the physics are quite simple and it would generally just be quite easy to make but it had already been done. No one had done a bowling game though, and although it is a little more complicated than air hockey, it had room for some creative direction. I decided that we could bowl with snowballs, and strike pins made of three snowballs stacked up like a snowman and that I would do away with the side gutters in regular bowling and make the bowling lane an elongated half-cylinder like a Ski slope or something. Then, I would introduce new obstructions to the ball getting to the pins, and some UN-obstructions, I would have lava spots that melt your snowball, blue ice that hardens the snowball for a harder hit, and purple patches that 2x the speed of your snowball for again, a harder hit. Putting all this together and you have this:
You will find I use snow themes fairly frequently and that’s simply because it is easier to model a snowy environment, honestly, the time of year was just convenient, it would have been a snow-themed game regardless.
After finishing Snowling I felt it was going to be pretty hard to outdo myself on originality, the name in itself was a fairly good pun and the execution was fairly unique, ideas like that don’t just come by easily. So I figured the next game was going to have to be simple, not only to give myself a bit of a break but so that I didn’t have to fuss around picking an idea. So I went with that classic game idea people have been peddling online since the earliest Java and Flash games, simple racing-esque games where you have to dodge obstacles and collect power-ups. I already had the idea of a cute snowman on a snowboard so I went to make a toboggan track for him to snowboard down and realised I was not really into the time investment of making a big track and that even if I did make it people would just expect more, and I was not in for that kind of time investment on this kind of game. But what I did get excited by, was the idea that I could use a simple trick to give the impression of a never-ending track, albeit basic, a bit tacky, but it worked out and it should have run well on low-end hardware such as the raspberry pi, which it did, just not as well as I had hoped. It was incredibly low poly, the scene would have contained no more than around 500 triangles at any one time. It was low. I think it came out well, it didn’t take long obviously and I actually enjoyed making this one the most.
Alright, Cube Shooter. Well, I had this memory from around 2006 where I discovered this game which was simple and reminiscent of the games I tend to make now, long but forgotten some spark of activity in my brain brought it back into the mind’s eye... I knew it was from the demo scene, had something to do with cubes, and was either from Farbrausch or Razor1911. Well, within the hour, I had found it, and done a little digging on the original author. A Simon Ley from Cologne, Germany who operated under the Alias of “red”. Here is a video of the original game by red:
So I had what was rather, to be honest, quite a grand idea of how to remake this game. But, what actually ended up happening was that I just made a game with cubes and it ended up being a shooter. Yeah. So. But it was fun, and I really liked the game that I ended up making, even if my plan to re-create an even better version of the original swirling spiral effect in the distance never had a chance to come to fruition (maybe in reserve for a future title, I’m sure you’re as excited as I am *rolls eyes*).
Alright, this one is my favourite, hands down. Look, if you thought it could not get easier than snow-themed games, well you were wrong, there is one even bigger cop-out than to make snow themed games and that is to make space-themed games because damn, is it easy, space is just blackness, the physics for lighting and movement are all incredibly simple. It’s basically a creative license to do whatever you want, I was tempted to theme it around a holy boiler (yes a water boiler, don’t ask) which floated around majestically in space like the bag out of Donnie Darko but alas, it’s just you and a few thousand asteroids floating around in some infinite vacuum (if you really want to test out the range limits of a float32 lmao). Here was a bit of a nerdgasm because I was excited by the idea of efficiently rendering a huge asteroid field… and it worked out. There are 9 base types of asteroid and when you get them all together in space at different speeds, scales, rotations, you can’t tell any of them apart… and to top that off, each asteroid has its own distinct surface colouring to illustrate what “minerals” (/resources) they contain, five in total. I won’t bore you with the details but if you really care read up on the Snapcraft page here. I like this game because it’s more a game of patience than anything. After all, you have limited resources, and you kind of just have to strategically float from one asteroid to another which is kinda slow because the faster you go the more fuel you have to burn just to slow back down again, which I think is also a really good educational lesson for the new generation of kids who if Jeff Bezos and Elon Musk are anything to go by will very possibly be working in space-bound careers. To the infinity and beyond! as Buzz Lightyear once said in my childhood.
And well, that’s where it all ends. For now, I really do enjoy making games, and if there’s any difference I can make in the world from my passion to make simple games it’s to think that I gave a kid out there that same feeling I had when I played Chips Challenge before school every morning.
I thank you for reading my drivel and wish you a grand new year.