HTML5 and JavaScript Game Development Competition in just 13 kB

What is js13kGames?

Js13kGames is a JavaScript coding competition for HTML5 Game Developers. The fun part of the compo is the file size limit set to 13 kilobytes. The competition will start at 13:00 CEST, 13th August and end at 13:00 CEST, 13th September 2020. Theme will be announced on August 13th.

Read GitHub's tips and tricks article, check the Resources for tools,
read the Blog, and subscribe to the Newsletter - good luck and have fun!



The competition is organized by Andrzej Mazur from Enclave Games.

Next competition starts in:

Web Monetization category
WebXR category

Partners

Grant for the Web eBay Tech Berlin Coil
GitHub

Supporters

Poki

Friends

Write my essay for me

Share the love for HTML5 games and support the js13kGames competition!
See the Contact section for more details on how to get in touch.

Experts

Dann Sullivan

Dann Sullivan

Dann is the Editor of Pocket Gamer, Managing Editor for 148Apps and AppSpy, as well as the founder & Editor in Chief of Big Boss Battle (B3). He believes that curation and feedback can create a better, more fluid industry.

@FBFDann | bigbossbattle.com

Tom Greenaway

Tom Greenaway

Tom Greenaway is the gaming lead for Chrome and Web Developer Relations at Google. He's also a multi-award winning game designer having created Duet for Android and iOS which was downloaded nearly 20 million times worldwide.

@tcmg | duetgame.com

Expert

Expert

Expert's bio.

Expert

Expert

Expert's bio.

Expert

Expert

Expert's bio.

Expert

Expert

Expert's bio.

Prizes

Playcanvas

10 × PlayCanvas account

Ten PlayCanvas Personal plans offering a cloud-hosted, collaborative platform for building games, for 12 months each.

GitHub

13 × GitHub account

Thirteen paid GitHub Pro plans - advanced tools for your private repositories for 12 months each.

Construct 3

3 × Construct 3 license

Three Personal licenses of Construct 3 game engine created by Scirra for 12 months each.

SitePoint Premium

5 × SitePoint Premium subscription

Five SitePoint Premium subscriptions for 12 months each.

Proto.io

1 × Proto.io account

One Proto.io account with Startup plan for 12 months.

devtodev

devtodev services

One $500 devtodev services credit, and free usage of the platform to all participants for 3 months each.

Prize

Prize

Prize's description.

Prize

Prize

Prize's description.

Prize

Prize

Prize's description.

Prize

Prize

Prize's description.

Prize

Prize

Prize's description.

Prize

Prize

Prize's description.

Categories

There are five different categories, you can submit your game to any of them - it's up to you.
There are special pages for Web Monetization and WebXR categories if you want to know more.

Desktop category

Desktop

Full power of the hardware.

Mobile category

Mobile

Handheld touch devices.

Server category

Server

Node.js multiplayer.


WebXR category

WebXR

Virtual reality.

Web Monetization category

Web Monetization

Earn money.

Rules

Package size below 13 kB

All your code and game assets should be smaller than or equal to 13 kilobytes (that's exactly 13,312 bytes, because of 13 x 1024) when zipped. Your .zip package should contain index.html file in the top level folder structure (not a subfolder) and when unzipped should work in the browser. Don't overcomplicate building the zip package, it should unpack on any platform without problems. You can use tools that minify JavaScript source code.

Two sources - readable and compressed

The competition is focusing on the package size, but learning from others is also very important. Please provide two sources of your game - first one should be minified and zipped to fit in the 13 kB limit (sent via the form) and the second one should be in a readable form with descriptive variable names and comments (hosted on GitHub).

No external libraries or services

You can't use any libraries, images or data files hosted on server or services that provide any type of data - for example Google Fonts are not permitted (although 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, but you have to make sure your game will work without them). Analytics and other stat-collecting scripts are also not allowed. Your game should work offline (Desktop and Mobile categories) and all the game assets should fit in the package size limit (not counting WebXR's A-Frame, Babylon.js, and Three.js frameworks). If you manage to shrink your favorite library below 13 kilobytes including the code itself, then you can use whatever you want, just remember about the 13 kB limit.

Main theme

Main theme for the competition will be announced on August 13th. It's highly advised to follow it in your game, because the judges will pay attention to that, but you can freely interpret the theme and implement it however you feel would be the best.

Deadline - 13th September 2020

The competition starts at 13:00 CEST, 13th August 2020 and ends at 13:00 CEST, 13th September 2020. No submissions will be accepted after the end of the competition, although there may be exceptions to that.

Licensing

You have to have the rights for every asset used in your game. Remember that the submitted games will be published and made available for everybody to see. On the other hand, you have the right to report any game publisher that will link to (or iframe) your entry on their portal without your permission.

New content only

Do not submit any old games or demos - you have a whole month to work on something new and fresh, this should be more than enough. Also, submitting Breakout or Flappy Bird clones taken out of a tutorial make no sense at all - try creating something at least a little bit more original.

Errors and browser support

Your game must work and be playable in at least two browsers: latest Firefox and Chrome, but the more supported browsers, the better. There should 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.

Teams

It doesn't matter if you're working alone or with your friends, just remember that the number of prizes is fixed, so you'll have to share your trophies with your teammates.

Sending submissions

There's a special form to submit your game. Please remember that you have to provide two sources (see the Rule #2 for details) - a link to a public repository on Github and a zipped package. Participants are allowed to submit more than one game in the competition, though sending the same game as independent submissions targeting different platforms (for example separate builds for desktop and mobile) is forbidden.

Accepting submissions

Submissions will be checked manually and published after positive verification. This may take up to a couple of days, so be patient if your game is not yet online. I claim the right to reject any submission without giving a reason, although I hope I don't have to. I also have the right to update the rules of the competition at any time.

Time frames for voting, giving feedback, and announcing winners

The voting among the participants will last for three weeks between September 16th and October 4th, winners will be announced on October 5th. Experts will give the games constructive feedback (one per game) during the same three week period - their comments will also be published on October 5th.

Save data ⁄ persistent memory

Remember to add prefix to your variables and create a namespace for your game when you save data to localStorage as all the games on the server share the same memory when played in the browser. Also, be sure to NOT use localStorage.clear() as it will wipe out all the data of all the other games. Manipulate the data you are sure is yours.

Code of conduct

All participants and judges at js13kGames are required to agree with the following code of conduct. Organizers will enforce this code throughout the online event. We are expecting cooperation from all participants to help ensuring a safe environment for everybody.

Js13kGames is dedicated to providing a harassment-free competition experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, or religion. We do not tolerate harassment of competition participants in any form. Competition participants violating these rules may be sanctioned or expelled from the competition at the discretion of the competition organizers. TL;DR: Be excellent to each other. For more details see Berlin Code of Conduct.

Privacy policy

By entering your email address and sending a game through the submit form you agree to receive email communication about important events of the competition like announcing the winners or sending out the digital prizes, but also curated content from the partners about their tools, services, or job offers. I will never share your email with anyone though.

Frequently Asked Questions

Why exactly 13 kB?
Well... why not? :)
What's in it for you? Are you getting paid?
Nope, it's just my own idea and it's made for pure fun. I'd love to get a sponsorship though as I spent my own private money on the first edition to cover making t-shirts, shipping of the prizes worldwide, etc.
What does the "zipped" term exactly mean?
Sent package should be zipped with your usual system archiver, the only allowed extension is .zip. Let's keep it simple - it's a competition for coders and this should be your main focus, the code itself. Thanks to the zipped archive you will easily send your game and we will easily check the file size.
Can I use Flash?
No, you can code your game using only the open web technologies like JavaScript, HTML and CSS.
Can I use WebGL?
Yes, though it might be hard to fit it into 13 kilobytes if you plan on doing an FPS game.
Can I use CoffeeScript or TypeScript?
Yes, you can use it, but you can't submit it. Only JavaScript code will be accepted, so remember to have your compiled code within the 13 kB limit. This is to ensure that the submitted entries are an actual HTML page with scripts, not a binary.
Can I use WebAssembly and ⁄ or Rust?
Yes, after all those are web technologies, and can work well with JavaScript games if used properly.
Can I use compression through the self-extracting PNGs?
You can use it, but remember that the zip is as good, or even better in terms of compression than PNGs, so there's no point in doing so.
Do I have to register somewhere?
No, you just need to submit your game through a form when it's ready.
How many games can I submit?
As many as you want, there are no limitations.
More questions?
Send them in via email or social media or post them in the dedicated topic at the HTML5GameDevs forums.

Contact

If You have any questions or propositions please feel free to contact us via e-mail: contact@js13kgames.com.
The other options include visiting our profiles on Twitter or Facebook,
or joining our Slack channel and sending us the private message.