If you haven’t heard of the JS13kGames competition, you are in for a treat.
But first, what are the Js13kGames, you might ask?
As the name suggests, all your code and game assets should be smaller than or equal to 13 kilobytes (that's exactly 13,312 bytes, because 13 x 1024) when zipped.
The competition is meant to be kept on the light side. But to make everyone's lives a little easier and the entries more standardized, there are some rules you should abide by. These rules are taken from the Js13kGames website, and you can see the full set here. We'll go through them now.
You are not permitted to use external services or libraries
You are not permitted to use any libraries, images or data files hosted on a server or services that provide any type of data.
For example, Google Fonts are not permitted. But you are allowed to ask users to live-load a web font to support some characters or emoji on devices that can't display them properly. You just have to make sure your game will work without them, too.
Analytics and other stat-collecting scripts are also not allowed.
All the game assets should fit in the package size limit (the A-Frame, Babylon.js, and Three.js frameworks are not counted towards the size limit, but you can use them only in the WebXR category).
If you manage to shrink your favorite library below 13 kilobytes including the code itself, then you can use whatever you want – just remember the 13 kB limit.
And let's face it – sometimes, in a world where developers can get caught up scrolling through the npm library, trying to find the latest shortcut to their problem, it’s nice to strip it back to basics.
You should stick to the theme
The main theme for the competition is announced around August each year. I strongly advise you to follow the theme in your game, because the judges will pay attention to that.
But you can freely interpret the theme and implement it however you feel is best. For 2020, the theme was all around the number 404.
Manage errors and browser support
Your game must work and be playable in at least two browsers: the latest Firefox and Chrome. But the more supported browsers, the better.
There should also be no errors. You can lose some points if your game is showing any errors in the console. If we cannot play your game, it won't be accepted.
How many games can I submit?
You can submit as many games as you want! You can submit with a friend, a group of friends, your dog, it’s super flexible and anyone can join :)
This awesome competition was created by Andrzej Mazur in 2012 in his spare time. Andrzej used his own savings to print off t-shirts for contestants, he sent prizes, and essentially ran the whole thing on his own.
In its 8th year the competition now has global recognition, with entries from all over the world.
I am very honored to be sharing their entries with you via video today.
The 2020 Js13kGames Winners and the Code They Are Most Proud of Writing
I created this video for FreeCodeCamp. You can follow me on Twitter, Instagram or YouTube to see more content like this.
A complete list of winners and where you can find their games and code:
Ninja vs EVILCORP by Rémi Vansteelandt
- GitHub repo: https://github.com/remvst/ninja
- Twitter: https://twitter.com/remvst
Edge Not Found by Tom Hermans
- GitHub repo: https://github.com/Auroriax/js13k-2020
- Twitter: https://twitter.com/auroriax
CHOCH by kostik1337 & lampysprites
- GitHub repo: https://github.com/kostik1337/CHOCH
- Twitter: https://twitter.com/kostik13337
Track not found?! by xem
- GitHub repo: https://github.com/xem/track-not-found
- Twitter: https://twitter.com/maximeeuziere
Stolen Sword by Ian Chiao
- GitHub repo: https://github.com/chiaogu/stolen-sword
- Twitter: https://twitter.com/chiaogu
The Last Spartan by Michael Ferron
- GitHub repo: https://github.com/ferronsays/js13k-TheLastSpartan
- Twitter: https://twitter.com/ferronsays
FOURFOLD by Saud
- GitHub repo: https://github.com/rottencandy/js13k2020
- Twitter: https://twitter.com/rotttencandy
I want to google the game by Mark Vasilkov
- GitHub repo: https://github.com/mvasilkov/js13k2020
- Twitter: https://twitter.com/mvasilkov
Highway 404 by Jerome Lecomte
- GitHub repo: https://github.com/herebefrogs/highway-404
- Twitter: https://twitter.com/herebefrogs
MINIPUNK by Cody Ebberson
- GitHub repo: https://github.com/codyebberson/js13k-minipunk
- Twitter: https://twitter.com/codyebberson
Searching for 04 by Nicklas Löf / Snukey
- GitHub repo: https://github.com/nicklaslof/searching/
- Twitter : https://twitter.com/nicklaslof
Johnny Smiter III by Paul Brunt
- GitHub repo: https://github.com/supereggbert/JohnnySmiterIII
- Twitter: https://twitter.com/super_eggbert
Island Not Found by Ben & Salvatore
- GitHub repo: https://github.com/SalvatorePreviti/js13k-2020
- Twitter: https://twitter.com/SN74HC00
You have found by Mark Knol
- GitHub repo: https://github.com/markknol/js13k-2020
- Twitter: https://twitter.com/mknol
404kph by jaburns
- GitHub repo: https://github.com/jaburns/js13k2020
- Twitter: https://twitter.com/jaburnsnet
WIZARD WITH A SHOTGUN by Elliot Nelson
- GitHub repo: https://github.com/elliot-nelson/js13k-2020-wizard-with-a-shotgun
- Twitter: https://twitter.com/7tonshark
Connection by Federico Tibaldo
- GitHub repo: https://github.com/fedetibaldo/connection-js13kgames2020
- Twitter: https://twitter.com/fedetibaldo
Sojuz 404 by Markus Fisch
- GitHub repo: https://github.com/markusfisch/Sojuz404
- Twitter: https://twitter.com/markusfisch
Symmetry Not Found by sirxemic
- GitHub repo: https://github.com/sirxemic/js13k-entry-2020
- Twitter: https://twitter.com/sirxemic
NoteCraft by KilledByAPixel
- GitHub repo: https://github.com/KilledByAPixel/NoteCraft
- Twitter: https://twitter.com/KilledByAPixel