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 started at 13:00 CEST, 13th August and ended at 13:00 CEST, 13th September 2019. Theme for 2019 was back.

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.

Voting ended, winners announced!

Web Monetization category
WebXR category

Partners

GitHub Mozilla Coil
Twilio eBay Tech Berlin Poki
Spartez SkyWeaver
Famobi Photon Engine
Handsontable

Supporters

Jscrambler Y8
CrazyGames Silvergames

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

Judge

Kevin Whinnery

Creator and lead developer of TwilioQuest, a PC game (built with web technologies) designed to challenge a generation of software developers to change the world with code. After writing JavaScript for the last decade and founding JavaScriptMN, one of the Twin Cities' most active technical user groups, you'd assume he's better at JavaScript than he actually is. Kevin lives just outside Minneapolis with his wife and three devious children.

@kevinwhinnery | twilio.com/quest/next

Spartez Team

Spartez Team

Maciej Szpyra, Michał Nykiel, Paweł Skierczyński and Victor Debone. Developers during the day, gamers during the night. At Spartez, our personal passion for games was big enough that we needed to bring more team members to the jury, and we are ready to play all the games coming from 2019 developers 🕹🕹🕹 with some expectations from multiplayer games.

@thisisspartez | spartez.com

Pedro Fortuna

Pedro Fortuna

Co-founder and owner of Jscrambler where he co-leads business development, and supervises all R&D and technical activities. Inventor and co-author of several JavaScript-related patents in Application Security. Holds a degree and a MSc in Computer Science. Speaker at several IT events, related with Security and JavaScript.

@pedrofortuna | linkedin.com/in/pedrofortuna

Christof Wegmann

Christof Wegmann

Christof Wegmann is founder and CTO of Exit Games and develops the realtime, multiplayer, cross-platform product "Photon". Photon is used by more than 300,000 game developers - including companies like Square Enix, Ubisoft, Disney, Warner Bro, SEGA, Miniclip, Codemasters, Glu, Rilisoft or World Golf Tour. The high performance Photon Server and Photon Cloud allow cross-platform gaming between Mobile, PC, Console, Web, VR/AR and other popular devices.

@bertelmonster2k | photonengine.com

Florian Rival

Florian Rival

Creator and developer of GDevelop, a game creation tool accessible to everybody and built on JavaScript. Made Lil BUB's Hello Earth game, an 8-bit game starring the internet sensation cat. Big fan of JavaScript to create everything, from apps to games!

@florianrival | florianrival.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

Joep van Duinen

Joep van Duinen

Joep leads the creator team at Poki, the number #1 platform for play on web. Poki' on a mission to create the ultimate online playground: a place where kids of all ages and game developers come together to play and create. Reaching more than 30M monthly active users worldwide Poki is market leader on web.

They help a growing 200+ game developer community - including Kiloo (Subway Surfers), Hipster Whale (Crossy Road) and Colin Lane (Dunkers) to achieve success on web. Here's more information about how creators can get their html5 games featured on Poki.

@joepvduinen | poki.com

Pablo Farías Navarro

Pablo Farías Navarro

Certified game developer and Founder of ZENVA - the world's leading platform to learn game making, VR, data science and full-stack programming. Since 2012, Pablo has been developing professional-grade courses that have helped over 400,000 learn to code and make games.

@ZenvaTweets | zenva.com

Ilker Aydin

Ilker Aydin

Founder and CEO of Famobi, a cross-platform game service with 500+ HTML5 games and high revenue-shares for developers and publishers. Before Famobi, Ilker founded SpielAffe.de and KralOyun.com, Germany's and Turkey's biggest online gaming portals. After the successful exit in 2015, Ilker focusses on supporting talented HTML5 game developers. By doing this he wants to bring app quality to web and change the industry.

famobi.com

Ahmed Khalifa

Ahmed Khalifa

A Ph.D. student researching new techniques for automated game design and content generation and a game designer ⁄ developer since 2005 creating more than 30 games on various platforms.

@amidos2006 | akhalifa.com

WebXR category experts

Nathan Lie

Nathan Lie

Nathan is a Software Engineer at Coil who considers himself a gamer first and an engineer second. He's been working with and on applications using Web Monetization for the past year, including a proof-of-concept that Web Monetized a browser-based Quake server. He's looking forward to seeing what developers will come up with for the competition!

@feraltc | coil.com

Yuriy Dybskiy

Yuriy Dybskiy

Yuriy Dybskiy is a founder of Puma Browser, a privacy focused mobile web browser with a new way to pay for content and services without ads and tracking. Previously they worked with the following companies: Lyft, Parse, Meteor, Cloudant and a few others. They helped organize Apache CouchDB Conf and Worldwide Meteor Day and had a bunch of startup explorations that led to “experience” rather than great outcomes. Outside of work they enjoy spending time in nature, playing tennis, riding motorcycles, reading, taking photos and dancing Argentine Tango.

@html5cat | pumabrowser.com

Web Monetization category experts

Fernando Serrano Garcia

Fernando Serrano Garcia

Working on improving the WebXR content ecosystem at Mozilla Mixed Reality. Computer graphics and game development enthusiast, former demoscener focused on small size procedural intros.

@fernandojsg | fernandojsg.com

Josh Marinacci

Josh Marinacci

For over 20 years Josh Marinacci has worked as developer advocate, UX designer, researcher, engineer, and Twitch streamer. He has worked at such storied companies as Palm, HP, Nokia, Sun, and Mozilla. He is currently the Senior Developer Advocate for Mixed Reality at Mozilla. Josh believes in the power of technology thoughtfully applied, and the need for better human computer interfaces.

@joshmarinacci | joshondesign.com

Diego González

Diego González

Product Manager for Web Developer Advocacy in Samsung UK. American, gamer, gadget enthusiast and aspiring cat dad and goat grandad.

@diekus | diek.us

Jason Carter

Jason Carter

From working on feature animated movies at Dreamworks and Disney, to helping create the HoloLens at Microsoft, and now helping to shape the future of a more dimensional web with Babylon.js… Jason has dedicated his career to the intersection of art and technology. Jason is driven to shape a future for his children, full of richer worlds, more immersive stories, and deeper human connection.

@pirateJC | babylonjs.com

Winners (Overall)

racer

15th place racer by James

    49. Rebound by Michał Kuliński & Michał Skowronek
    101-110. Llama Adventure, Backionary, Back To The Stars, Start Over, Back from Kooky Island, Return to the Moon, Back to the Nest, VicBlitz, SNAKE IT BACK, Eat My Dust!
    111-120. Rectangles, BounceBack, AI, Begone!, BACKSIDE, Super Backpacking Adventure, Fall Back!, Don't Go Back, Troposphere, Slime'n Says, Back on Track
    121-130. Back to School, Back Scratching Salon, Back Down The Tower, DeStar, Behind the Scenery, Big Fish, Gem of truth, back to rescue, Back Back Back Back Gone!, Grow Back
    131-140. Flight Back Home, BackStone, Lights Back On, Eftiell: Back to the Crypt (mobile-only), Scroll! (mobile-only), The Back-up of YOU, Backout, Traversor, Get Jess Back, Go Back
    141-150. Jewelsback, Back To That Platform I Was On Before Jumping, Detro, Scroll Run, Cindy's Nightmare, Back to Skull Island, The Backlash, Back...to where we left off, Infinite Missiles, Back to oxygen
    151-160. Game of Backstabbers, Shoot2Live, Godai is back, Dottie Back to Sun, Numerical Error, Back Read, Comeback, Oh, My Poor Rheumatic Back, Backshooter, Got your back!
    161-170. Back to the Island, Back Home, BACKSPACE, Block Hammer, Bounce It Back, Jet Back Gravity, Bring Back the Berries, MeMo, Back to the beginning, Fight back
    171-180. Songbirds, Ninja Take Back, Back to the 80s, Time remnants - go back in time and fix the timeline, Game of Ur, Backo, Toe-Tac-Tic, Back To Source, Back in Dino, Backpack Monsters
    181-190. Beat Bricks, Pew Pew, Bring The Number Back, Coiner, Throw back (mobile-only), Tilted (mobile-only), Encoded Maze, angle, firedrone, Meadow
    191-200. Dengar, Awkward Turtle, The Empire Str13ks Back, Circle Back, watchmyback, Deserter, Back Online!, We Must Go Back!, Tube Masters, Reverse Simon

Winners - Mobile

Winners - Server

Winners - WebXR

Back up

5th place Back up by Holo & Michelle

Winners - Web Monetization

Prizes

js13kGames 2019 t-shirt

100 × js13k 2019 t-shirt

One hundred js13kGames 2019 t-shirts (and 100 custom bottle openers) shipped worldwide for free.

Coil

Coil subscription

Coil subscription plans for six months each for every competition participant as part of the Web Monetization category.

GitHub

13 × GitHub account

Thirteen paid GitHub Pro plans - personal accounts with unlimited private repositories for twelve months each.

Evil Glitch

100 × Evil Glitch game

One hundred copies of Evil Glitch game by Agar3s available on Steam.

Construct 3

3 × Construct 3 license

Three Personal licenses for one year each of Construct 3 game engine created by Scirra.

Playcanvas

10 × PlayCanvas account

Ten 6-month PlayCanvas Personal accounts offering a cloud-hosted, collaborative platform for building games.

Jscrambler

3 × Jscrambler license

Three Jscrambler Startup licenses for three months each.

CodePen

3 × CodePen Pro account

Three CodePen Pro Starter accounts with lots of cool features for 12 months.

WebStorm

9 × WebStorm license

Nine personal licenses for WebStorm JavaScript IDE created by JetBrains.

Proto.io

1 × Proto.io account

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

NodeBB

5 × NodeBB hosting

Five Hamlet hosting plans for 12 months each from the NodeBB team.

Kendo UI

5 × Kendo UI license

Five licenses of Kendo UI for ASP.NET (MVC & Core), PHP and JSP with priority support from Telerik for 12 months each.

SitePoint Premium

5 × SitePoint Premium subscription

Five SitePoint Premium subscriptions for 12 months each.

Aseprite

5 × Aseprite license

Five Aseprite animated sprite editor and pixel art tool licenses by David Capello.

CSS Battle

20 × CSS Battle Pro account

Twenty CSS Battle Pro accounts for 6 months each.

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.


Web Monetization category

Web Monetization

Earn money.

WebXR category

WebXR

Virtual reality.

Places

The first four categories (Desktop, Mobile, Server, Web Monetization) are interchangeable
(you can submit to any or all of them), while WebXR results will be treated separately.

Desktop category (overall)

Top 100 games

  • 1st place: Proto.io, CodePen Pro, SpriteStack, Build Arcade Games, Danger Crew, GitHub, CSS Battle Pro, Evil Glitch, Glitchbuster, js13k t-shirt + bottle opener
  • 2nd-3rd places: CodePen Pro, SpriteStack, Build Arcade Games, Danger Crew, GitHub, CSS Battle Pro, Evil Glitch, Glitchbuster, js13k t-shirt + bottle opener
  • 4th-5th places: SpriteStack, Build Arcade Games, Danger Crew, GitHub, CSS Battle Pro, Evil Glitch, Glitchbuster, js13k t-shirt + bottle opener
  • 6th-10th places: Danger Crew, GitHub, CSS Battle Pro, Evil Glitch, Glitchbuster, js13k t-shirt + bottle opener
  • 11th-13th places: GitHub, CSS Battle Pro, Evil Glitch, Glitchbuster, js13k t-shirt + bottle opener
  • 14th-20th places: CSS Battle Pro, Evil Glitch, Glitchbuster, js13k t-shirt + bottle opener
  • 21st-100th places: Evil Glitch, Glitchbuster, js13k t-shirt + bottle opener

Mobile category

Top 15 games

  • 1st-3rd places: Construct 3, WebStorm, SitePoint Premium, HTML5 Gamedev Mini-Degree, Phaser Editor, Pyxel Edit
  • 4th place: WebStorm, SitePoint Premium, HTML5 Gamedev Mini-Degree, Phaser Editor, Pyxel Edit
  • 5th place: SitePoint Premium, HTML5 Gamedev Mini-Degree, Phaser Editor, Pyxel Edit
  • 6th-13th places: Phaser Editor, Pyxel Edit
  • 14th-15th places: Pyxel Edit

Server category

Top 5 games

  • 1st-5th places: NodeBB, Fullstack Webdev Mini-Degree, AppDrag Cloud Backend ⁄ CMS Pro, CryPixels

Web Monetization category

Top 5 games

  • 1st-3rd places: Jscrambler, Kendo UI, Making Money with HTML5, Aseprite
  • 4th-5th places: Kendo UI, Making Money with HTML5, Aseprite

WebXR category

Top 15 games

  • 1st-3rd places: Oculus Quest, WebStorm, PlayCanvas, js13k t-shirt + bottle opener
  • 4th-5th places: WebStorm, PlayCanvas, js13k t-shirt + bottle opener
  • 6th-10th places: PlayCanvas, js13k t-shirt + bottle opener
  • 11th-15th places: js13k t-shirt + bottle opener

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 is back. 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 2019

The competition starts at 13:00 CEST, 13th August 2019 and ends at 13:00 CEST, 13th September 2019. 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: [email protected].
The other options include visiting our profiles on Twitter or Facebook,
or joining our Slack channel and sending us the private message.