HTML5 and JavaScript Game Development Competition in just 13 kB

What is js13kGames?

js13kGames is a JavaScript coding competition for Web 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 2023. This year's theme was 13th Century.

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


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

The competition is organized by Andrzej Mazur from Enclave Games.

Check out js13kGames 2023 winners!

Latest blog post: 2023 winners announced

Platinum Partners

Poki OP Games Game7

Gold Partners

GitHub CrazyGames Flux Arcadia

Silver Partners

Addicting Games GS-JJ Litemint Ei8hts

Bronze Partners

Enclave Games Gamedev.js Web3 Gamedev School


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

Experts

Olayinka Atobiloye

Olayinka Atobiloye

Olayinka Atobiloye is a third-year Computer Engineering student at the University of Lagos. She is a GitHub Campus Expert and Chair of Women in Engineering, Unilag. Passionate about software engineering, she has built impactful solutions at Goldman Sachs and GitHub. Olayinka volunteers and grows communities, hosting events like GitHub Octernship Lagos and spearheading programs for female students. Committed to making an impact in software engineering and her community.

@yinkaatobiloye | linktr.ee/olayinkaatobiloye

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

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

Jeremy Burns

Jeremy Burns

Game programmer and size-coding enthusiast. Building apes.io at Addicting Games, pushing the boundaries of what people expect from browser-based games. Looking forward to participating in the jam again this year.

@jaburnsnet | apes.io

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

Frahaan Hussain

Frahaan Hussain

Frahaan Hussain is a dynamic host known for FireDEV - Fireside Chat, where he interviews industry personalities from small indies to CEOs. He's also the creator of the popular YouTube channel Sonar Systems with 47,000 subscribers and has taught over half a million students on Udemy. With a first-class degree in Computer Games Programming, Frahaan inspires and educates aspiring developers worldwide.

@SonarSystems | sonarsystems.co.uk

Raf Mertens

Raf Mertens

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

@CrazyGamesCom | crazygames.com

Frederic Kyung-jin Rezeau

Frederic Kyung-jin Rezeau

Founder of Litemint, the largest NFT marketplace on Stellar, and creator of Litemint.io TCG. Prev. Tech Lead for BGC Partners in London, developer for Crédit Lyonnais Bank in Paris and British Government National Program for IT (smart card technology in healthcare). Indie game developer, co-founder of Israeli-based company Massive Games, winner of the honorable mention prize at the 2014 Linux & Samsung Tizen App Challenge.

@FredericRezeau | kyungj.in

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 | developers.poki.com

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

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

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

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

Taufik Sani

Taufik Sani

A lifelong video games enthusiast, Taufik is a Game Producer who has worked on both AAA and web3 titles. He believes the art of making great games is all about embracing change, new tech, and pushing boundaries of current development practices. Outside of professional work, he mentors college students who are keen to explore video games as a career.

@gorilatictacs | linkedin.com/in/taufiksani

Luke Stapley

Luke Stapley

Luke Stapley has been working as a jack-of-all-trades in the game industry for over 15 years with experience in sales, journalism, marketing, QA Testing, and development of games. He’s one of a few Chinese game industry experts while sharing his knowledge of working in the industry from the ground up to anyone wanting help. He currently is the Marketing Director at Cocos, the world’s largest open-source game engine company, supporting web, mobile, PC, and Nintendo Switch developers.

@GameAddict | cocos.com

Winners (Overall)

Winners - Mobile

Winners - WebXR

Winners - Decentralized

Duelo

2nd place Duelo by Thiago Romão Barcala

Prizes

JS13K swag

113 × JS13K swag

JS13K 2023 swag: pins and patches for top100 entries, plus medals for top13 entries.

1300 USDC

1300 USDC

A total of 1300 USDC for the top10 entries in the Decentralized category.

Playcanvas

10 × PlayCanvas account

Ten PlayCanvas Personal plans for 12 months each.

WebStorm

9 × WebStorm license

Nine personal licenses for WebStorm JavaScript IDE created by JetBrains.

GDevelop Pro

7 × GDevelop Pro license

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

Aseprite

5 × Aseprite license

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

Sonar Systems podcast

1 × Sonar Systems podcast

FireDEV podcast episode by Sonar Systems dedicated to the winner and talking about their creation.

Vampire Survivors

10 × Vampire Survivors bundle

Ten copies of Vampire Survivors bundle: a game by Poncle along with two DLCs each available on Steam.

GitHub voucher

13 × $50 GitHub shop voucher

Thirteen GitHub Shop vouchers worth $50 each.

Proto.io

1 × Proto.io account

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

CSS Battle

13 × CSS Battle Plus account

Thirteen CSS Battle Plus accounts for 6 months each.

Ballistic Showdown

13 × Ballistic Showdown game

Thirteen licenses of Ballistic Showdown game made with Pixi to be released on Steam in November.

Construct 3

2 × Construct 3 license

Two Personal licenses of Construct 3 game engine for 12 months each.

Places

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

Desktop category (overall)

Top 100 games

  • 1st place: FireDEV, Construct 3, Jsfxr, Aseprite, Cocos, WebStorm, Phaser Editor, Vampire Survivors, GitHub, Jump Tracks, JS13K medal and t-shirt
  • 2nd place: Construct 3, Jsfxr, Aseprite, Cocos, WebStorm, Phaser Editor, Vampire Survivors, GitHub, Jump Tracks, JS13K medal and t-shirt
  • 3rd place: Jsfxr, Aseprite, Cocos, WebStorm, Phaser Editor, Vampire Survivors, GitHub, Jump Tracks, JS13K medal and t-shirt
  • 4th-5th places: Aseprite, Cocos, WebStorm, Phaser Editor, Vampire Survivors, GitHub, Jump Tracks, JS13K medal and t-shirt
  • 6th-9th places: WebStorm, Phaser Editor, Vampire Survivors, GitHub, Jump Tracks, JS13K medal and t-shirt
  • 10th place: Phaser Editor, Vampire Survivors, GitHub, Jump Tracks, JS13K medal and t-shirt
  • 11th-13th places: GitHub, Jump Tracks, JS13K medal and t-shirt
  • 14th-20th places: Jump Tracks, JS13K t-shirt
  • 21st-100th places: JS13K t-shirt

Mobile category

Top 13 games

  • 1st place: Proto.io, CodePen, How to Make, GDevelop, Pyxel Edit, CSS Battle, Ballistic Showdown
  • 2nd-3rd places: CodePen, How to Make, GDevelop, Pyxel Edit, CSS Battle, Ballistic Showdown
  • 4th-5th places: How to Make, GDevelop, Pyxel Edit, CSS Battle, Ballistic Showdown
  • 6th-7th places: GDevelop, Pyxel Edit, CSS Battle, Ballistic Showdown
  • 8th-10th places: Pyxel Edit, CSS Battle, Ballistic Showdown
  • 11th-13th places: CSS Battle, Ballistic Showdown

WebXR category

Top 10 games

  • 1st-5th places: JS13K t-shirt, PlayCanvas
  • 6th-10th places: PlayCanvas

Decentralized category

Top 10 games

  • 1st place: 500 USDC
  • 2nd place: 300 USDC
  • 3rd place: 200 USDC
  • 4th place: 100 USDC
  • 5th place: 50 USDC
  • 6th-10th places: 30 USDC

Categories

There are five 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.



There are special pages for WebXR and Decentralized categories if you want to know more,
and a blog post about the Unfinished one which is a special category
for submitting incomplete, bugged, or oversized entries so they won't be judged.

Outgoing links

online casinos at auscasinos.net online casino Australia Sister Sites casinokix.com Inkedin new online casino NonStop Casino NonGamStopSlots.com nongamstopbets.com Casino Deps casinogap.org Casino Online カジノ best paying online casinos and slots Game Server Hosting Online Casino Wiki Casino Utan Svensk Licens casino-wise.com fastest withdrawal casinos List of the newest online casinos not on Gamstop Guide of the most reputable non Gamstop casinos The most trusted online casinos not on Gamstop uk casino without verification NJCasimile.com automatenspielex.com Sofort Free Spins slot games migliori casino senza licenza AAMS CasinoZonderRegistratie.net nieuwe online casino Best NZ Online Casinos - Casinotop.co.nz Logo gambling sites not on Gamstop UK Sweet Bonanza casino online casino utan svensk licens most trusted casino online online casino´s in Nederland onlinecasinobuitenland.com betrouwbare casino´s zonder cruks NZ First Casinos

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 2023

The competition starts at 13:00 CEST, 13th August 2023 and ends at 13:00 CEST, 13th September 2023. 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 15th 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.