Culture / Development / Technology

Hundreds of Developers Build Tiny JavaScript Games for JS13K

17 Oct 2021 6:00am, by
thumbnail images of js13kb game entries

For the 10th year in a row, hundreds of amateur game developers competed to build the best games using just 13 kilobytes of JavaScript.

“If you think about it, 13kB isn’t really a lot,” noted a post on the GitHub blog by Lee Reilly, a senior program manager for developer relations at GitHub, one of the event’s many sponsors. But 233 fearless developers took the challenge, tempted by the competition’s unique blend of fun, prizes and community.

And a new category in this year’s competition — decentralized — also offered game makers the chance to explore an even more current set of technologies.

The festival not only gave developers an opportunity to show off their skills but also showcased a larger theme in today’s tech culture: There’s always a critical mass of developers willing to blur the lines between playing and learning, but sharing is baked into the process — both of finished games, and of the tools and information needed to build them.

And of course, creativity abounds. Reilly was also one of the event’s judges, and wrote in the post that this year’s theme, space, “prompted many clones of Asteroids and Space Invaders (some with major twists in gameplay), perplexing puzzle games using and abusing empty space, and games that required, well, a lot of mashing the SPACE bar!”

The official rules offered some flexibility: “You can freely interpret the theme and implement it however you feel would be the best.”

So from Aug. 13 to Sept. 13, developers attempted to create small-game masterpieces, with the winners announced earlier this month.

A Creative Competition

Participants agreed to abide by some clear and simple rules. No Flash;  only open web technologies like JavaScript, HTML and CSS (as well as WebGL). And while HTML 5 tricks are OK, games should use only JavaScript — not CoffeeScript or TypeScript. (But WebAssembly and Rust were deemed OK, because “those are web technologies, and can work well with JavaScript games if used properly.”)

The “fun part,” of the contest, according to the competition’s official blog, is the file size limit.

And what was the criteria for deciding the winners?? “Innovation, Fun, Theme, Gameplay, Graphics, Audio, and Controls,” explained Andrzej Mazur, the competition’s founder, in an official blog post. “The overall ranking was a sum of all those attributes.”

Winners were chosen in six categories — three chosen by the participants themselves, and three judged by a panel of experts. The best desktop, mobile, and server games (chosen by participants) were Space Garden, Black Hole Square, and Operation Cleanaholeic.

But there were also three specialized categories where the winners were chosen by experts: web monetization, decentralized and WebXR (for virtual/augmented/”mixed” reality), with the competition giving participants a chance to experiment with some new technologies.

The server category required entries to be hosted on the cloud platform Heroku. (The process is detailed in the official rules: using a free or a paid Heroku service plan, developers created a new Heroku WebApp, then connected it to their GitHub repository to deploy their code.)

The contest maintained an official dev server (and a downloadable “skeleton” object to facilitate communication), plus some other quirks unique to this category. (Persistent storage is allowed, but “key and value size also counts into the limit!” the rules warn.)

Meanwhile, in the WebXR category, participants were allowed to use several frameworks without counting them toward their 13-kilobyte total.

“WebXR makes it possible for web developers to get involved,” declared the JS13K site — immersing game players in more complete experiences that might even involve the world around them.

“Four years ago we introduced a whole new category with the A-Frame framework, three years ago [we] added Babylon.js as the second option, last year we’ve added Three.js to the mix, and this year tossed in PlayCanvas, so you have plenty of options to chose from,” the site reported. “We can’t wait to see what you create!”

And though the contest’s rules specify no external libraries (or remotely-hosted images or data files), the decentralized category allowed connecting to specific decentralized technologies from Protocol Labs (like IPFS, Filecoin, NFT.storage, etc), NEAR Protocol, or Flux technologies.

“I’m always trying to improve and grow the competition every single year,” Mazur writes in a blog post, “and the big news in 2021 is the introduction of the new category: decentralized.” (Though Mazur knows these technologies have their detractors, “you can’t deny blockchain gaming and game-related NFTs are rapidly growing in popularity.”)

The contest site described the category as “an experiment taking Web 3, blockchain, crypto, NFTs, and all the similar buzzwords, mixing them together with game development, and seeing what comes out of it.” The prizes were paid in cryptocurrency, and the prize pool “consists of 73 FIL, 1,460 NEAR, and 4,000 FLUX, which are currently worth about $10,000 total.”

The web monetization category (introduced in 2019) required game makers to include a payment stream (enabled by a single line of HTML code adding a meta tag specifying their payment pointer). The content was then viewable in browsers using a special browser extension from Coil, one of the event’s sponsors. (Every JS13K participant received a free two-month Coil subscription, while participants in its web monetization category were given a six-month subscription.)

The winning games were ultimately awarded cash prizes provided by Grant for the Web, a fund promoting web monetization. The first-place winner won $600, while the next high-ranked entries won $300, $150, $75, $50 respectively; the next five games in the rankings each won $25.

One additional winner was hand-picked by Mazur for a “Super Special” appreciation award, recognizing an entry that was original and unique — one that stood out from the others. This year’s winner: The game Q1K3</A. — for squeezing a tribute to the classic game Quake into just 13 kilobytes.

But this year’s big desktop/overall winner was the game Space Garden, in which a stick figure representing a “planet pollinator” rockets through space (with a cool MIDI theme, subtly flashing graphics and some nicely rendered planets). “The pixel art was really fun and really fit with the music and general feel of ‘space,'” wrote Ania Kubów, a software developer/YouTube educator who was one of the experts judging the competition.

space garden online game

A glimpse of Space Garden, this year’s overall winner in the JS13k competition.

A Creative Community

What really comes through is a strong sense of enthusiasm in the small but supportive community that’s grown up around the competition.

Working in teams is OK, the official rules pointed out: “Just remember that the number of prizes is fixed, so you’ll have to share your trophies with your teammates.”

On YouTube, game blogger Jupiter Hadley has even been streaming her efforts to play all 233 games.

And the competition culminated with an official JS13KGames awards ceremony (broadcast on YouTube) with Mazur joined by Sascha Depold (an engineering manager at eBay GmbH, and a long-time supporter of the event since its second edition).

“I’m really happy how the competition is growing year over year,” Mazur said at the event. Though this year saw 223 submitted entries — close to last year’s tally of 227 entries — the number of votes increased more than 29%, to 6,086 (up from 4,682 in 2020).

The fun isn’t over yet. A Colombia-based videogame developer who calls himself Slashie has promised to highlight one game a day for the next 233 days on the official JS13K Slack channel, “for the community to focus on it and give feedback and encouragement to the developers!”

And though the event doesn’t start until Monday, Slashie pointed out in a blog post, “We have almost a complete year of fun games ahead. Isn’t it exciting?”


WebReduce