HTML5 and JavaScript Game Development Competition in just 13 kB

What is js13kGames?

js13kGames is a JavaScript coding competition for HTML5 Game Developers running yearly since 2012. 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 2022. Theme for this year was DEATH.

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!


Interested in some history? Check out the editions from previous years:
2021, 2020, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012.

The competition is organized by Andrzej Mazur from Enclave Games.

Check out js13kGames 2022 winners!

Latest blog post: 2022 winners announced!

Platinum Partners

NEAR Protocol OP Games Coil

Gold Partners

Facebook Gaming Poki GitHub Flux
eBay Tech CrazyGames Andersen People
Game7 Arcadia Mina Protocol

Silver Partners

Enclave Games Web3 Gamedev School Gamedev.js


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

Michelle Mannering

Michelle Mannering

Michelle is a Developer Advocate in the realms of innovation and technology. Known as the “Hackathon Queen” 👑 you'll often find her on stage MC’ing or speaking on a range of topics from artificial intelligence, to business, community engagement, the future of work, and esports. With a background in both science and arts, Michelle has a passion for gaming and combines this with her experience in a range of industries. Michelle brings a unique insight into gaming and is a gaming journalist and Twitch Streamer too!

@MishManners | mishmanners.com

Matt Hackett

Matt Hackett

Hey, it's Matt! I’ve been making hobby games for 30 years and working in the games industry since 2010. My indie games have sold over 50,000 copies and the games I developed for other companies have been played by tens of millions of players. Recently I co-founded Valadria, a new venture dedicated to publishing games and content about making games.

@richtaur | valadria.com

Clément Pasteau

Clément Pasteau

CTO at GDevelop, creating the tools that will lower the entry to game creation and make it accessible to anyone. Passionate about improving the place and the image of video games in our world.

@ClementPasteau | gdevelop.io

Huabin Ling

Huabin Ling

Huabin leads the engine development team of Cocos, an open source 3d game engine which is driven to reduce the barriers of game creation and help developers reaching out to the most vast users on mobile, web and instant gaming platforms. With 1.5m developers, a great number of successful titles are developed with Cocos world wide, including AFK Arena, Top War, Ubisoft Nano and a lot more.

@pandamicro | linkedin.com/in/huabinling

Joep van Duinen

Joep van Duinen

Joep leads the game developer operations team at Poki, the global market lead on web. Poki is on a mission to create the ultimate online playground: a place where players and game developers come together to play and create. Together with a growing 300+ game developer community, they're creating the new standard for web games. Interested in getting your creation out to millions of players or reading up on the latest web tech? developers.poki.com

@joepvduinen | poki.com

Noël Meudec

Noël Meudec

Partner Engineer at Facebook since 2017, working mainly on the Instant Games platform. I am a movie and video game addict, secretly dreaming of becoming a movie director. I joined and co-organized quite a few game jams (Global Game Jam in Singapore in 2018, 2019 and 2020, etc.). I am always excited to see how talented developers manage to make gems from constraints.

facebook.com/instantgames

Raf Mertens

Raf Mertens

Raf founded CrazyGames in 2013. Since then it’s grown to 20M monthly users worldwide. Hundreds of game developers have tapped into that userbase to earn revenue and cross-promote their games. Development studios like SEGA, Ubisoft, Blue Wizard, Voodoo, and a vast community of indie creators. Find out how you can join them.

@CrazyGamesCom | crazygames.com

Daniel Keller

Daniel Keller

Daniel Keller comes from the data/information sector, and pursues the use of blockchain to further protect personal medical, financial and personal data through encryption and decentralized identification. Dan got involved in the cryptocurrency space through World of Warcraft, by using Bitcoin to buy "gold". He now works as the Chief Strategy Officer and Co-Founder of Flux, and helps push for a decentralized world with disruptive technologies.

@dak_flux | runonflux.io

Tim Sulmone

Tim Sulmone

Tim Sulmone is blockchain veteran and life-long video game addict. Beginning his journey by running a Bitcoin node in 2011, to then moving onto contributing towards various cryptocurrency projects, Tim is no stranger to decentralized infrastructure. He now leverages his experience as the Sr. Business Developer for Flux, to help further ensure that our world has a decentralized network to host on.

@little_stache | runonflux.io

Marc Neuhoff

Marc Neuhoff

Co-founder of BestFit and Construct Arcade. UI/UX enthusiast and always eager to empathize with the user's role as best as possible. Marc is always trying to support developers to make great WebXR games and give them a place to reach the world at constructarcade.com. He loves the complexity of Path of Exile and how it makes him really get into it to maximizing stats.

@MCHoff1 | constructarcade.com

Fernando Serrano Garcia

Fernando Serrano Garcia

Software Engineer at Apple, previously worked at the Mozilla Mixed Reality team. Web, computer graphics and game development enthusiast.

@fernandojsg | fernandojsg.com

Josh Marinacci

Josh Marinacci

For over 25 years Josh Marinacci has worked as developer advocate, designer, engineer and author. He has worked at such storied companies as Palm, Nokia, Sun, and Mozilla; and currently manager at industrial 3D printer company Markforged. Josh believes in the power of technology thoughtfully applied, and the need for better human computer interfaces. He lives in sunny Eugene Oregon with his son building crazy robots.

@joshmarinacci | joshondesign.com

Joao Ruschel

Joao Ruschel

Developing games first as a hobby back in Delphi 2005, Joao Ruschel is now a software engineer at the PlayCanvas team. Previously at SAP HANA-Vora, and then Amazon's Alexa, Joao has also developed and released a couple of Mobile games - such as STAP, a Google Top 10 Europe Indie Games Showcase 2019.

@dejohn_paul | medium.com/@joao.ruschel

Victor Debone

Victor Debone

Victor is a software engineer passionate about design and the user experience. He thinks games are the ultimate user experience. Given that, they require feedback and early exposure, which is the best gift judges can provide to JS13kGames participants and what he's here to do!

@javascripl

Pawel Skierczynski

Pawel Skierczynski

Pawel has played countless computer and board games. His primary focus is game design. What makes the game project successful? How to create a real masterpiece? He is ready to play your games and share with you some valuable feedback.

@kesipyc

Nathan Lie

Nathan Lie

Nathan is a Software Engineer at Coil who considers himself a gamer first and an engineer second. He's currently contributing to Rafiki, a project built on Interledger, the protocol on which Web Monetization is built on. That, or throwing himself headfirst into some hip video game.

@feraltc | coil.com

Filip Dukat

Filip Dukat

Filip is a Software Engineer at Andersen specializing in Javascript. Besides creating user-friendly UI in React, he loves reading books and outdoor activities. Huge fan of grand strategy games and The Witcher franchise.

@filip_dukat | people.andersenlab.com

Yuriy Dybskiy

Yuriy Dybskiy

Yuriy is a founder of Puma Browser – mobile web3 browser and wallet, private by design. Previously worked at Lyft, Facebook, Meteor, Cloudant and a few startups as Developer Advocate ⁄ Engineer. Grew up in 🇺🇦🇯🇵🇨🇦. Lives in SF now, enjoys tennis, moto rides, park walks and games.

@html5cat | pumabrowser.com

Aliaksandr 'Sasha' Hudzilin

Aliaksandr 'Sasha' Hudzilin

Aliaksandr studied business at UC Berkeley, worked in investment banking under Frank Quattrone, and spent 4 years selling and marketing MuleSoft and MemSQL products.

@aliaksandrh | humanguild.io

Vlad Grichina

Vlad Grichina

Vlad started his career as a professional TopCoder competitor and worked on mobile apps since 2009. He founded a 15 person mobile dev company and worked 3 years at Google on the Play Store.

@vgrichina | humanguild.io

Paul Gadi

Paul Gadi

Paul is CTO / Co-Founder of OP Games, focused on helping game developers successfully create decentralized games. He also leads the KERNEL Gaming Guild, a fellowship of the most talented builders in Web 3. He loves exploring the intersection of new technologies with game design, and believes that decentralization and shared virtual economies will revolutionize how we play games.

@polats | opgames.org

Taufik Sani

Taufik Sani

Taufik is a video games enthusiast, having worked in esports, monetization, and production tracks with EA and Ubisoft titles. Having graduated from his MBA, he decided to pivot into video games to truly integrate his lifelong passion and career. He aspires on developing a future where video games aren't just mediums of entertainment, but a gateway to experience a better world.

@gorilatictacx | linkedin.com/in/taufiksani

Anurag Banerjee

Anurag Banerjee

Anurag is Engineering advisor at Game7. Prior to that, he has around 18 years of Web 2 game industry experience working on various AA and AAA game titles in engineering leadership capacities at Ubisoft, Rocksteady studios, Warner Bros games, and Improbable. His game titles include Batman Arkham, Assassin’s Creed series, Suicide Squad, and more. Most recently, his team at Improbable was working on the Otherside metaverse for Yuga labs, where he was serving as Director of Engineering. He loves how technology is revolutionizing games development and opening up entirely new genres, as demonstrated by Web 3 gaming. He wishes to encourage more Web 2 game developers to take the next step and explore this new space.

@BanerjeeAnurag | linkedin.com/in/anuragbanerjee

Will Cove

Will Cove

Will Cove runs community programs to support Mina Protocol, a light-weight blockchain that remains a constant 22kb in size using recursive, zero-knowledge proofs. Previously, he helped build Sofar Sounds, a grassroots music community that puts on living room concerts in over 400 cities around the world. Will is a gaming enthusiast and excited about the intersection of zero-knowledge smart contracts, javascript & game development.

@WillCove | minaprotocol.com

Winners (Overall)

Dante

1st place Dante by Salvatore Previti

13

7th place 13 by Elias Ku

Winners - Mobile

Dante

1st place Dante by Salvatore Previti

13

3rd place 13 by Elias Ku

Winners - Server

13

1st place 13 by Elias Ku

Winners - WebXR

C99+1

4th place C99+1 by Oscar BV

Winners - Web Monetization

Winners - Decentralized

Prizes

Grid Studio frame

3 × Grid Studio frame

Three Grid Studio physical frames of your choosing, for example a Game Boy.

Coil membership

Coil membership and tip credit

Coil membership plans for six months each, with $10 tip credit, for every participant.

GDevelop Pro

7 × GDevelop Pro license

Seven GDevelop Pro licenses - a no-code, easy game-making app.

Playcanvas

10 × PlayCanvas account

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

Construct 3

2 × Construct 3 license

Two Personal licenses of Construct 3 game engine for 12 months each and two $50 asset store vouchers.

WebStorm

9 × WebStorm license

Nine personal licenses for WebStorm JavaScript IDE created by JetBrains.

NodeBB

5 × NodeBB hosting

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

Proto.io

1 × Proto.io account

One Proto.io account with Freelancer subscription for 12 months
for all team members.

Aseprite

5 × Aseprite license

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

Poki

5 × Poki swag

Five Poki surprise swag packages.

Coil

5 × Coil swag

Five Coil surprise swag packages.

Cocos

5 × Cocos swag or Cocos Store item

Five Cocos surprise swag packages or Cocos Store items.

Places

The first three categories (Desktop, Mobile, and Server) are voted by participants themselves separately,
while WebXR, Web Monetization, and Decentralized category results are judged by the experts.

Desktop category (overall)

Top 100 games

  • 1st place: Proto, Construct, Grid frame, Cocos swag/credit, Vampire Survivors, GDevelop, WebStorm, Pyxel Edit, js13k t-shirt
  • 2nd place: Construct, Grid frame, Cocos swag/credit, Vampire Survivors, GDevelop, WebStorm, Pyxel Edit, js13k t-shirt
  • 3rd place: Grid frame, Cocos swag/credit, Vampire Survivors, GDevelop, WebStorm, Pyxel Edit, js13k t-shirt
  • 4th-5th places: Cocos swag/credit, Vampire Survivors, GDevelop, WebStorm, Pyxel Edit, js13k t-shirt
  • 6th-7th places: GDevelop, WebStorm, Pyxel Edit, js13k t-shirt
  • 8th-9th places: WebStorm, Pyxel Edit, js13k t-shirt
  • 10th place: Pyxel Edit, js13k t-shirt
  • 11th-100th places: js13k t-shirt

Mobile category

Top 10 games

  • 1st-2nd places: Making Big Indie Games, Aseprite, Poki swag, Phaser Editor, How to Make a Video Game All By Yourself
  • 3rd-5th places: Aseprite, Poki swag, Phaser Editor, How to Make a Video Game All By Yourself
  • 6th-10th places: Phaser Editor, How to Make a Video Game All By Yourself

Server category

Top 5 games

  • 1st-3rd places: CodePen, NodeBB
  • 4th-5th places: NodeBB

WebXR category

Top 10 games

  • 1st place: Valve Index VR Kit, PlayCanvas, Construct Arcade promo
  • 2nd-10th places: PlayCanvas, Construct Arcade promo
  • 11th-all places: Construct Arcade promo

Web Monetization category

Top 10 games

  • 1st place: $600, Coil swag, Coil membership and tip credit
  • 2nd place: $300, Coil swag, Coil membership and tip credit
  • 3rd place: $150, Coil swag, Coil membership and tip credit
  • 4th place: $75, Coil swag, Coil membership and tip credit
  • 5th place: $50, Coil swag, Coil membership and tip credit
  • 6th-10th places: $25, Coil membership and tip credit
  • 11th-all places: Coil membership and tip credit

Decentralized category

Top 10 games

  • NEAR Protocol challenge:
    • 1st place: 400 NEAR (~$2000)
    • 2nd place: 200 NEAR (~$1000)
    • 3rd place: 125 NEAR (~$500)
    • 4th place: 75 NEAR (~$250)
    • 5th place: 50 NEAR (~$200)
    • 6th-10th places: 30 NEAR (~$150)
  • OP Games challenge:
    • 1st place: 1000 USDC + Arcadian NFT
    • 2nd place: 300 USDC + Arcadian NFT
    • 3rd place: 100 USDC + Arcadian NFT
    • 4th place: 50 USDC
    • 5th place: 50 USDC
  • Arcadia challenge:
    • 1st place: 1000 USDC + Arcadian NFT
    • 2nd place: 300 USDC + Arcadian NFT
    • 3rd place: 100 USDC + Arcadian NFT

Categories

There are six different categories, you can submit your game to any of them - it's up to you.


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.

Decentralized category

Decentralized

Blockchain features.


There are special pages for WebXR, Web Monetization, and Decentralized categories if you want to know more.

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. 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 about the 13 kB limit.

Main theme

Main theme for the competition is 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 2022

The competition starts at 13:00 CEST, 13th August 2022 and ends at 13:00 CEST, 13th September 2022. 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. You can, however, use any available libraries and resources that are not yours, but you have the right to use them.

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. Don't stress too much if there are any warnings, but if we cannot play your game, then 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 14th 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.

By submitting, you also grant the competition organizers the right to re-use the uploaded materials for advertisement of the competition in any form.

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 gam... oh, nevermind.
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.

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 end3r a private message.