Full disclosure: I won a year of CodePen Pro as part of the prizes from js13k.
A couple of months back I was approached by Ania Kubów, who has a YouTube channel dedicated to JavaScript tutorials. She wanted me to contribute to a video for FreeCodeCamp showing of the top 20 entries of this years JS13K, by having their devs show and explain some cool bits of code. As Edge Not Found managed to get 2nd place, I figured I should actually record and voice this video myself (something I don’t often do online). My code example is about how I render the same level seemingly infinitely across the screen, which you can find on CodePen here.
My part start at 9:12 in the video, but I’ve also provided a transcript with images of my part in the video below. I hope it is useful to someone!
My project development style involves a lot of downtime. Either I lose motivation, or are busy in my actual work, the prototype failed, or some other reason causes me to be unable to continue working on the game to finish it. But that doesn’t mean I’ve given up on the game. For nearly all of my games, those were made over large periods of time, with effort I put in growing and shrinking like the waves.
For this, it’s important that you ice your projects correctly. Icing is similar to making a backup of a project (also super important!) but it involves more than that. When you ice a project, you should not only record it’s current state, but it’s also about ensuring that you can access that project multiple years in the future, and what your intentions were when you last worked on it. Aside from doing obvious things like commenting your code, some special considerations must be made if you want to ice your project in such a way that you can still get started with it years into the future. That is what this post is about. I have six thoughts I want to share.
So I participated in js13k again this year, this time sticking to my cards better and decided to make an eye- as much as a brain-bending puzzle game called Edge Not Found. After working for almost a year in TypeScript (and Canvas) for my job, I feel I have a lot more experience working with the browser, along with the things I’ve learned from my entry last year. So here’s another larger-than-13kb postmortem about a smallen-than-13kb game.
js13k last year was the most fun I’ve had with a game jam. There’s a lot of activity from devs on Twitter (though not overwhelmingly so), the month-long deadline is very relaxed compared to some other game jams (you’ll finish on time even if you contribute just half a kilobyte per day!), and there are simply some amazing technical marvels that people create even despite all these limitations.
Last year I wanted to try out the Zdog library, this time my choice fell on rough.js, which creates seemingly hand-drawn versions of geometrical shapes like cubes and circles. I stumbled upon a blog post that explained how this effect was achieved, which made me want to try it out. Next to that, I’ve been working on a mini JS framework called Tomato that supported timing, hitbox and input management, which I wanted (and did) improve during the jam. And programming in JavaScript with a live reload plug-in is absolutely a blast thanks to the blazingly fast iteration time.
And, of course, a seed for a game idea. I’ve made a couple Sokoban variants before, and my next idea was to have the level continue infinitely into all directions. A small spoiler warning, though: I’ll vaguely describe some of the puzzle mechanics (though no puzzle solutions!) in this postmortem, so you might want to play the game a bit before reading on.
Yes! Fake Illusions (the game I’ve spent a year and a half developing, and will probably continue to work on for a bit) is now out on both Steam and itch. It’s great to finally have it out of the door, and I’m curious about how it will perform on both platforms.
It has been a little bit of final sprint to get to this point, but the application is nice and stable now. I feel it’s the first game that I’ve made that I feel comfortable slapping a price tag on. So we’ll see how it goes! There’s also a new launch trailer to go along with it.
If you want to request a review copy or want to use the game for educational purposes, feel free to reach out for a free copy: my contact details are on the top of this page.
Thank you and enjoy!
There have been a lot of games about optical illusions recently, but most of these have focused around impossible geometry in Esher-esque environments. However, many more interesting visual phenomenons are still unexplored in games. I had the idea of hiding “fake” optical illusions inside real ones, and having the player point out the cheater. After an initial prototype with a few illusions, I’ve spent the last year and a half working on expanding this idea, and I’m currently preparing it to launch on Steam soon!
Because the game idea is so unique and visual-focused, it runs at a high risk of being very inaccessible to play, for example for people with bad eyesight, colorblindness, or other handicaps. I have some experience with this subject when designing the accessible precision platformer Mobility, so I wanted to ensure the same accessibility for this game, even though the two game ideas are wildly different. Today, I’d like to run through my design choices for keeping Fake Illusions accessible while still embracing minimalism and surrealism.