What is js13kGames?
Read Tuts+ Gamedev intro article and see the Rules for details,
good luck and have fun!
Competition starts in...
Share the love for HTML5 games and support the js13kGames competition!
See the Contact section for more details on how to get in touch.
Pablo Farías Navarro
Founder of Zenva and author of over 40 online courses on game, web and mobile app development, including a Kickstarter-funded course on how to make 15 games with Phaser. Trainer at the HTML5 Developer Conference, avid tutorial writer and massive HTML5 game dev nerd.
Jason Weathersby currently manages the Developer Relations group at Mozilla, evangelizing Firefox, Developer Tools, Research projects, HTML5 Gaming and all things for the Open Web. He is a proponent of HTML5, Open Web standards and Open Source and is a regular contributor to the Mozilla Hacks blog. Jason has over 25 years experience in the software development field, ranging from real time process control to business intelligence software.
10 × PlayCanvas Pro-5 account
Ten 6-month PlayCanvas Pro-5 accounts offering cloud-hosted, collaborative platform for building video games.
3 × Pusher $300 credit
Three promo codes worth $300 each for the Pusher services.
1 × Proto.io Startup account
One Proto.io account with Startup plan for 12 months.
There will be three different categories,
you can submit your game to any of them - it's up to you.
Full power of the hardware.
Mobile touch devices.
There will also be a Twitter, Facebook and Google+ Specials just like before,
and the famous Community Awards voted among all the participants.
Package size below 13 kB
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 allowed. Your game should work offline by launching the index.html file in the browser (Desktop and Mobile categories, not applicable to Server) and all the game assets should fit in the package size limit. 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.
The main theme of the competition in 2016 will be revealed the same time the competition will start - August 13th 2016, 13:00 CEST. 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 2016
The competition starts at 13:00 CEST, 13th August 2016 and ends at 13:00 CEST, 13th September 2016. No submissions will be accepted after the end of the competition.
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.
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.
Errors and browser support
Your game must work and be playable in at least two browsers: Firefox and Chrome. The more supported browsers, the better - you can get more points for that. 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.
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.
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.
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, judging and announcing winners
The Social Specials contest will be held from the start of the compo on August 13th till the end of the judging on September 27th, winners will be announced on the same day right after it ends. The Community Awards voting among the participants will last for a week between September 13th and 20th, winners will be announced on September 21st. Judges will vote for the games during the two week period after the submission time ends: from September 13th till 27th, winners will be announced on September 28th.
Server category specific rules
- Sandbox server
- You can find the official sandbox server at js13kgames.github.io/js-game-server - it is maintained by Aurélio A. Heckert and Florent Cailhol.
- Package size still below 13 kB
- In this year one game package will contain all the game code and assets, for the client and the server.
- Sandboxed environment
- Your game will run in a node.js based sandbox environment. That means you will not really use node. You can require a limited collection of modules and your own modules shipped by your 13k pack.
- The allowed modules are:
- Assert, buffer, events, path, querystring, string_decoder, sandbox-io (a shimed version of socket.io already listening your game port) and sandbox-server (a shimed version of http.server already listening on your game port).
- Do not leak the sandbox
- This is not a hacking competition. This is a way to help the competition admins, the site persistence, and you. Trying to directly write files, to read files outside of your package, to use not allowed modules, to change the server port, or any other tries to leak the sandbox will cast you out of the competition.
- Yes, you can persist some data
- The sandbox has a global function "db(key[,value])". That can abstract the read/write json data from the disk for you. You must not use this feature to store assets, like essential game methods, images, or other data. Use it to game history or user related data. If you cheat the 13k limit using this feature you will be disqualified.
- Socket.io client lib
- You can use it. Simply add <script src="/socket.io/socket.io.js"></script> to your HTML and that will be loaded. No server configuration will be needed. The sandbox already did it.
- Respect your neighbours
- Besides the fact that you can be cast out if you deliberately affect another game by accessing files or it's server, you also have to try to not plunder the host computing resources. That is also needed to preserve the server health.
- Can I test the sandbox before submitting?
- Yes, you can and you must! Installing and getting it running is simple. Visit the project page at js13kgames.github.io/js-game-server.
- Is there any example? How do I develop my game using the sandbox server?
- There's an examples folder with the Pong game. You can also check out the Readme for details on running the server.
- I have more questions!
- Feel free to send them to firstname.lastname@example.org.
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 shipping of the prizes worldwide, making t-shirts 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?
- 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?
- Can I use compression through the self-extracting PNGs?
- More questions?
- Send them in via email or social media or post them in the dedicated topic at the HTML5GameDevs forums.
If You have any questions or propositions please feel free to contact us via e-mail: email@example.com.
The other options include visiting our profiles on Twitter or Facebook,
or joining our Slack channel and sending us the private message.