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 main theme for 2013 is bad luck, though it's not mandatory. Competition started at 13:00 CEST, 13th August 2013
and ended at 13:00 CEST, 13th September 2013.

The competition is organized by Andrzej Mazur from Enclave Games. See the Rules section for detailed info about the official rules of the competition.

Good... bad luck to you all and have fun!

Sponsors

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

Winners - desktop (overall)

JunoJS

2nd place JunoJS by Robert Kotecki

Traffic

5th place Traffic by Krisztián Tóth

Origin

7th place Origin by Evan Hahn

Dodger

18th place Dodger by Girish Budhwani

Winners - mobile

JunoJS

1st place JunoJS by Robert Kotecki

Traffic

2nd place Traffic by Krisztián Tóth

TSVETT

8th place TSVETT by Liza Shulyayeva

Winners - server

Tanks

3rd place Tanks by ArkahnX

Winners - specials

Facebook Specials

Geometriko

2nd place Geometriko by indies4indies - 301 likes

Twitter Specials

Geometriko

2nd place Geometriko by indies4indies - 56 tweets

Google+ Specials

Judges

Jesse Freeman

Jesse Freeman

Jesse Freeman is a Technology Evangelist at Microsoft focusing on Windows 8 gaming. Before joining Microsoft, Jesse was a consultant building large scale web and mobile apps for some of New York most prestigious companies such as HBO, MLB, the New York Jets and more. In his spare time he is an Indie game developer and artist.

@jessefreeman | jessefreeman.com

Prizes

onGameStart tickets

onGameStart tickets 35% cheaper

Everyone can get onGameStart conference tickets for 35% less when using 'js13kgames' promo code. Get them while they last!

Construct 2

5 × Construct 2 game engine

Two business and three personal licenses for Construct 2 game engine created by Scirra.

Pusher

3 × Pusher plans

Three different Pusher plans: 6 months Startup, 6 months Bootstrap and 3 months Bootstrap.

Kendo UI Complete

3 × Kendo UI Complete

Three licenses for Kendo UI Complete, with 1 year of upgrades and commercial support.

JetBrains

6 × JetBrains product license

Six licenses for one of the many various JetBrains professional development tools.

Modulus

5 × Modulus $100 credit

Five promo codes worth $100 each for Modulus services.

Clay.io

Advertisement on Clay.io

Advertising of the three winning entries (one from every category) on the Clay.io marketplace and one chosen entry on their homepage.

Making money with HTML5

9 × Making money with HTML5 ebook

Top 3 entries from every category will win a copy of this ebook by Matthew Bowden.

From zero to the appstore

From Zero to the Appstore ebook

Unlimited ebooks by Olaf Horstmann for every participant and 30 packages with resources and assets worth $59 each.

PlayCanvas

10 × PlayCanvas Pro account

Ten 12-month PlayCanvas Pro accounts offering cloud-hosted game development and publishing tools.

The Few

The Few game and 3 T-shirts

Unlimited copies of The Few game by Blackmoon Design for every participant and the t-shirts for the winners of every category.

McPixel

McPixel game

Unlimited copies of the McPixel game by Sos Sosowski for every participant of the competition.

QbQbQb

QbQbQb game

Unlimited copies of the QbQbQb game by Rezoner Sikorski for every participant of the competition.

Jesse Freeman online review

Online review time with Jesse Freeman

One hour of one-on-one online review time with Jesse Freeman for any of the top4 winners about helping them monetize and publish their games.

BoosterMedia

Advertisement on BoosterMedia

BoosterMedia will license the winning game from the Mobile category and provide the exclusive promotion on featured game position.

MarketJS

Advertisement on MarketJS

One month advertising of the winning games from every category on the MarketJS website.

Nodejitsu account

5 × Nodejitsu Micro plan

Five 1-Year Individual Micro plans (worth $108 each) from Nodejitsu.

JS Bin

3 × JS Bin pro account

Three JS Bin pro accounts from Remy Sharp - for free, for life.

GitHub

30 × GitHub 6 month medium account

Thirty paid GitHub plans - medium accounts for six months.

Professional HTML5 Mobile Game Development

5 × Professional HTML5 Mobile Game Development book

Five printed copies of the book by Pascal Rettig published by Wiley.

Developing Mobile Mapping Applications

Developing Mobile Mapping Applications ebook

Unlimited ebooks for every participant of the competition.

Categories

There will be three different categories with top 10 games in every category.
You can submit your game to one, two or all three categories - it's up to you.

There will be a Twitter, Facebook and Google+ Specials just like a year ago.

Prize

Desktop

Full power of the hardware.

Prize

Mobile

Mobile touch devices.

Prize

Server

Node.js multiplayer.

Places

Mobile category

1st place mobile

  • Advertisement of the game on BoosterMedia, Clay.io and MarketJS
  • Software licenses:
    • ImpactJS game engine
    • JetBrains product license
  • Accounts licenses:
    • GitHub 6 month medium account
    • Kendo UI Complete for 1 year
    • PlayCanvas Pro account for 1 year
  • Books:
    • [printed] HTML5 Games: Creating Fun with HTML5, CSS3 and WebGL
    • [printed] Professional HTML5 Mobile Game Development book
    • [printed] Building HTML5 Games with ImpactJS
    • [printed+ebook] The Web Game Developer's Cookbook
    • [ebook] Making money with HTML5
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
    • [ebook] Releasing HTML5 Games for Windows 8
  • Other:
    • The Few T-shirt
    • Online review time with Jesse Freeman
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

2nd place mobile

  • Software licenses:
    • ImpactJS game engine
    • JetBrains product license
  • Accounts licenses:
    • GitHub 6 month medium account
    • PlayCanvas Pro account for 1 year
  • Books:
    • [printed] Professional HTML5 Mobile Game Development book
    • [printed] Building HTML5 Games with ImpactJS
    • [printed+ebook] The Web Game Developer's Cookbook
    • [ebook] Making money with HTML5
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
    • [ebook] Releasing HTML5 Games for Windows 8
  • Other:
    • Online review time with Jesse Freeman
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

3rd place mobile

  • Software licenses:
    • ImpactJS game engine
  • Accounts licenses:
    • GitHub 6 month medium account
    • PlayCanvas Pro account for 1 year
  • Books:
    • [printed] Professional HTML5 Mobile Game Development book
    • [printed] Building HTML5 Games with ImpactJS
    • [printed+ebook] The Web Game Developer's Cookbook
    • [ebook] Making money with HTML5
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
    • [ebook] Releasing HTML5 Games for Windows 8
  • Other:
    • Online review time with Jesse Freeman
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

4th place mobile

  • Software licenses:
    • ImpactJS game engine
  • Accounts licenses:
    • GitHub 6 month medium account
  • Books:
    • [printed] Professional HTML5 Mobile Game Development book
    • [printed] Building HTML5 Games with ImpactJS
    • [printed+ebook] The Web Game Developer's Cookbook
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
    • [ebook] Releasing HTML5 Games for Windows 8
  • Other:
    • Online review time with Jesse Freeman
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

5th place mobile

  • Software licenses:
    • ImpactJS game engine
  • Accounts licenses:
    • GitHub 6 month medium account
  • Books:
    • [printed] Professional HTML5 Mobile Game Development book
    • [printed] Building HTML5 Games with ImpactJS
    • [printed+ebook] The Web Game Developer's Cookbook
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
    • [ebook] Releasing HTML5 Games for Windows 8
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

6th-10th places mobile

  • Accounts licenses:
    • GitHub 6 month medium account
  • Books:
    • [printed] HTML5 in Action
    • [printed] Learning HTML5 Game Programming
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

Desktop category

1st place desktop

  • Advertisement of the game on Clay.io and MarketJS
  • Software licenses:
    • JetBrains product license
    • Construct 2 game engine
    • Isogenic Engine premium license
  • Accounts licenses:
    • GitHub 6 month medium account
    • Kendo UI Complete for 1 year
    • PlayCanvas Pro account for 1 year
  • Books:
    • [printed] HTML5 Games: Creating Fun with HTML5, CSS3 and WebGL
    • [printed+ebook] The Web Game Developer's Cookbook
    • [ebook] Making money with HTML5
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • Other:
    • The Few T-shirt
    • Online review time with Jesse Freeman
    • HTML5 Animation and Transition video
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

2nd place desktop

  • Software licenses:
    • JetBrains product license
    • Construct 2 game engine
    • Isogenic Engine premium license
  • Accounts licenses:
    • GitHub 6 month medium account
    • PlayCanvas Pro account for 1 year
  • Books:
    • [ebook] Making money with HTML5
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • Other:
    • Online review time with Jesse Freeman
    • HTML5 Animation and Transition video
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

3rd place desktop

  • Software licenses:
    • Construct 2 game engine
    • Isogenic Engine premium license
  • Accounts licenses:
    • GitHub 6 month medium account
    • PlayCanvas Pro account for 1 year
  • Books:
    • [ebook] Making money with HTML5
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • Other:
    • Online review time with Jesse Freeman
    • HTML5 Animation and Transition video
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

4th place desktop

  • Software licenses:
    • Construct 2 game engine
    • Isogenic Engine premium license
  • Accounts licenses:
    • GitHub 6 month medium account
  • Books:
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • Other:
    • Online review time with Jesse Freeman
    • HTML5 Animation and Transition video
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

5th place desktop

  • Software licenses:
    • Construct 2 game engine
    • Isogenic Engine premium license
  • Accounts licenses:
    • GitHub 6 month medium account
  • Books:
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • Other:
    • HTML5 Animation and Transition video
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

6th-10th places desktop

  • Accounts licenses:
    • GitHub 6 month medium account
  • Books:
    • [book] Secrets of the JavaScript Ninja
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • Other:
    • HTML5 Animation and Transition video
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

Server category

1st place server

  • Advertisement of the game on Clay.io and MarketJS
  • Software licenses:
    • JetBrains product license
  • Accounts licenses:
    • GitHub 6 month medium account
    • Kendo UI Complete for 1 year
    • PlayCanvas Pro account for 1 year
    • Modulus $100 credit
    • Pusher Startup plan for 6 months
    • Nodejitsu Micro plan for 1 year
  • Books:
    • [printed] HTML5 Games: Creating Fun with HTML5, CSS3 and WebGL
    • [printed+ebook] The Web Game Developer's Cookbook
    • [ebook] Making money with HTML5
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • Other:
    • The Few T-shirt
    • Online review time with Jesse Freeman
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

2nd place server

  • Software licenses:
    • JetBrains product license
  • Accounts licenses:
    • GitHub 6 month medium account
    • PlayCanvas Pro account for 1 year
    • Modulus $100 credit
    • Pusher Startup plan for 6 months
    • Nodejitsu Micro plan for 1 year
  • Books:
    • [ebook] Making money with HTML5
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • Other:
    • Online review time with Jesse Freeman
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

3rd place server

  • Accounts licenses:
    • GitHub 6 month medium account
    • PlayCanvas Pro account for 1 year
    • Modulus $100 credit
    • Pusher Startup plan for 6 months
    • Nodejitsu Micro plan for 1 year
  • Books:
    • [ebook] Making money with HTML5
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • Other:
    • Online review time with Jesse Freeman
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

4th place server

  • Accounts licenses:
    • GitHub 6 month medium account
    • Modulus $100 credit
    • Nodejitsu Micro plan for 1 year
  • Books:
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • Other:
    • Online review time with Jesse Freeman
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

5th place server

  • Accounts licenses:
    • GitHub 6 month medium account
    • Modulus $100 credit
    • Nodejitsu Micro plan for 1 year
  • Books:
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

6th-10th places server

  • Accounts licenses:
    • GitHub 6 month medium account
  • Books:
    • [printed] Hello! HTML5 and CSS3
    • [ebook] Making Isometric Social Real-Time Games with HTML5, CSS3 and JavaScript
  • For all:
    • The Few
    • McPixel
    • QbQbQb
    • From Zero to the Appstore
    • Mobile Mapping Application

Specials

Twitter Specials (for the highest number of tweets)

1st place
  • JS Bin pro account for life
  • $100 USD Amazon gift voucher
2nd place
  • Isogenic Engine premium license
3rd place
  • [printed+ebook] The Web Game Developer's Cookbook

Facebook Specials (for the highest number of likes)

1st place
  • JS Bin pro account for life
  • GameMaker: Studio professional + HTML5 Module
2nd place
  • Isogenic Engine premium license
3rd place
  • [printed+ebook] The Web Game Developer's Cookbook

Google+ Specials (for the highest number of +1's)

1st place
  • JS Bin pro account for life
  • PlayCanvas Pro account for 1 year
2nd place
  • Isogenic Engine premium license
3rd place
  • [printed+ebook] The Web Game Developer's Cookbook

Prizes for every participant

  • The Few
  • McPixel
  • QbQbQb
  • From Zero to the Appstore
  • Mobile Mapping Application

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 package should contain index.html file and when unzipped should work in the browser.

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 (Desktop and Mobile categories, not applicable to Server) and all the game assets should fit in the package(s) 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.

Main theme - bad luck

The main theme of the competition is the concept of bad luck, but it's not mandatory, so your game could be about anything you want and will still have the chance to win. You can interpret bad luck any way you want.

Deadline - 13th September 2013

The competition starts at 13:00 CEST, 13th August 2013 and ends at 13:00 CEST, 13th September 2013. No submissions will be accepted after the end of the competition.

Server development

When participating in the Server category you have 13 kB for the server and 13 kB for the client, so it's a total of 26 kB. You can use Socket.io to ease your development and help you with the online communication.

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.

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 in at least one browser. 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. You'll get extra points if your game supports any mobile devices.

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

Use this 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. If you have a Node.js game you can deploy it on Nodejitsu - read the walkthrough in this blog post.

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.

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 Node.js?
Yes, as long as your code size is lower than or equal to the 13 kB limit for client side and the same for server side - 26 in total. The only allowed library is Socket.io, nothing else.
Can I use Flash?
No, you can code your game using only the open web technologies like JavaScript, HTML and CSS.
Can I use CoffeeScript or TypeScript?
Yes, you can use it, but you can't submit it. Only pure JavaScript code will be accepted, so remember to have your compiled code within the 13 kB limit.
Can I use compression through the self-extracting PNGs?
No, this technique is strictly prohibited. Only pure JavaScript minifying is allowed.
More questions?
Send them in via email or social media, visit #bbg channel on Freenode IRC or post them at the HTML5GameDevs forums.

Server category FAQ

How will the size of a server game be measured exactly? Should the server side + client side code together zipped into one file be 26kb?
Since the Socket.io was chosen as sanctioned multiplayer lib, it should not be counted in the allotted 13kb. A submission should not contain the node_modules directory. Instead, it should have a valid package.json file, defining the dependencies. This way, we can unzip the server files, run "npm install", and be ready to go. Since the dependencies are in JSON format, it can easily be parsed to see if only allowed libraries are used. If node modules are used that aren't on the sanctioned libraries list, they must count for the 13kb, so the node_modules directory must be included, containing only those. Combining the server/client into a single zip file would make it possible to create a 20kb server with a 6kb client, which is not what we want. Participants have to submit separate zip files for client/server.
Can we use a public STUN server for WebRTC? Will still implement the signal server in Node.js.
Please remember that the WebRTC is still in the early stage. Google offers free STUN/TURN servers, and the technology would be nearly impossible to use without them (implementing your own STUN server will place an unfair burden on your server code size).
The code for server side, to calculate that would I zip up everything but the node_modules folder containing Socket.io?
See the first answer. The server zip package must be less than 13kb. Sanctioned dependencies (only Socket.io) can be installed using "npm install", which parses package.json.
If I include the Socket.io library (client and server side), does it count against my 26k (13k*2)?
The Socket.io library is itself larger than 26kb, so no. You can't count it as part of the 13kb submission.
Is the client side Socket.js lib allowed as well or only the server side packge? Just found out that the server side Socket.io package ships the browser files as well. So it's ok to use that? So that we can load "/socket.io/socket.io.js"?
The client side library for Socket.io is required to use it, as Socket.io implements its own protocol inside websocket (or fallback carrier). Alternatively, the "websocket" module does not require any client side library.
Can I create my own REST APIs on the server to let the user save and load custom game data, as long as it's <13kb? I just persist a JSON created by server.js on a file to preserve user data on crash/reboot. Does it go against rule 3?
Creating your own REST APIs doesn't count as an external dependency, so it does not conflict with rule 3. However, all server-side code must be included in the 13kb server zip. The data itself does not count for the game size limit, as it is created at run-time (in the same way that procedural graphics can be generated and cached at runtime).

Contact

If You have any questions or propositions please feel free to contact us via e-mail: [email protected].
The other options include visiting our profiles on Twitter or Facebook and sending us the private message.