Summer Numbers - under the hood


Yesterday we launched Summer Numbers, our first game. Development and art took about 1 month and we are very happy with the results! Please enjoy this fun little puzzle game and its beautiful, hand-drawn art! 

This could be the end of the post, but actually what seems to be a simple retro-style HTML5 game is actually an operating system for x86 machines. It is running in your browser through a virtual machine. I always wanted to try developing an operating system, but I don't have enough spare time for a full-fledged OS like KolibriOS. On the other hand, doing a simple "Hello kernel" wasn't interesting either. 

So I decided to make a platform, a library operating system, which can be used to develop games or apps which are able to boot directly on bare metal without any OS. I set my target at the late 486 era and developed a very simple system supporting graphics, sound and keyboard input with minimal overhead. Unlike DOS (and its games) the system runs in 32-bit protected mode, which means (among other things) that they have direct access to up to 4gb of RAM.

Contrary to expectations, it was relatively easy to get the system do something interesting/demoable and run on various x86 emulators (86Box, DOSBox-X, QEMU, Bochs) and even real hardware, booting from an USB drive! What I would have never expected, though, is that the game would be playable through a browser. Just out of curiosity I looked if a virtual machine in Javascript existed... and it did! The game didn't work perfectly at first, but with a few changes (the most notable of which is having the music actually play outside of the game and keep only the sfx in-game) it started running pretty good. It actually even runs on Android/iPhones (adding buttons simulating keyboard presses) but the phone would immediately get too warm so we decided not to advertise it.

You can actually get the source code and more details on GitHub. Since it is MPL2.0 licensed, you can use the library to develop new games as well! The reasons why you would want to do this are if you are into retro computing and want to get a bit more intimate with the hardware.

Get Summer Numbers

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.