Q1K3

Q1K3

released on Sep 13, 2021

Q1K3

released on Sep 13, 2021

An homage to Quake in 13kb of JavaScript.


Released on

Genres


More Info on IGDB


Reviews View More

For 10 minutes of FPS, it's pretty cool.

What should one expect from a JavaScript game jam exercise less than half the size of a mid-'90s Doom WAD? That's the question Phoboslab and other js13k participants try to answer each year. Some contest entries successfully provide a full game, often a puzzler like Road Blocks or something more adventurous like Greeble. Minimal logic, procedurally generated assets, and ingenious reuse of game systems can go a long way in reducing your program's size. But there's also something to be said for demaking a larger, well-known title into something pushing the limits of this coding paradigm. That's something Q1K3 accomplishes with aplomb. It's not even the first throwback FPS to rank high in a js13k roster, but only this one's received a Super Special award just for its technical achievements.

Q1K3 offers two levels and a few of the original Quake's items, enemies, and weapons to play with. While the opening map largely recreates E1M1, from its dour tech-room intro to the spiral ramp descending towards a slipgate, the second map smashes together memorable parts from other shareware levels. Everything's rendered in the browser, a lo-fi yet convincing facsimile of the source material when viewed at a glance. Sure, the textures and models are way simpler, and the lighting model leans heavily into color banding, but I wouldn't blame anyone for thinking "yep, it's Quake" for a couple of seconds. Pulling this off in only around 13kb must not have been easy!

In fact, a seasoned Quake player can spot all the cuts and simplifications no doubt needed to cram the essence of such complex software into this demo. For example, players can't bunny hop, dive underwater, use Quad Damage and other power-ups, etc. What's here is as minimal as a Quake demake can get in a recognizably modern 3D framework. I'm reminded of the much older but still impressive .kkrieger, a multi-level, well featured FPS packed tight into 96 kilobytes. With less time and less breathing room, Phoboslab's 2021 creation manages to match that preeminent demo in most ways. Player agility and weapon feedback could understandably be a lot better, but damn does this play well for a 10-15 minute romp through a hazily remembered vision of gibbed soldiers and Nine Inch Nails.

There's still some nitpicks I can't ignore, though, mainly with regards to the concept itself. I really didn't need to go through yet another faithful take on E1M1, especially when the map following it diverges from that goal. Swapping out the more predictable bits of the opener for set-piece areas from E2M1 & E3M1 would have made this more compelling to me. Same goes for the weapon selection, which may or may not have simply been curtailed due to the size limit. Shotgun, nailgun, and grenade launcher ain't half bad an arsenal, but I'd have loved to try out the lightning gun too. AI complexity here obviously couldn't match Carmack's work back in the '90s, yet the enemy placement's lacking a bit in attacking you from all angles, or challenging players to move around for better line-of-sight. That extra bit of finesse would go a long way here if Phoboslab ever revisits the project.

If anything, I find it odd that we don't see more low-filesize demakes like this. Maybe the js13k event's involvement with crypto sponsors, including a whole Decentralized prize category in the last couple of years, has turned away interested developers. (Hell, I know I wouldn't mess with anyone giving oxygen to Web3 creeps.) I love the recent Bitsy scene and how it's democratized making games under the most minimal restrictions, but more projects like this pushing the limits of common programming languages are always neat. Of course, nothing but demakes would get boring, yet I think they're a great way to showcase how far this level of extremely efficient coding can push one's creativity. Q1K3's a very short but very fun delve into how low-level this high-level Web technology can reach—play it on lunch break or something, it's that breezy. I ought to give POOM a go now, too, or whichever mad scientist recreates Deus Ex on the Atari 2600.

I initially tried to complete this without a mouse, instead using the nipple on this Thinkpad. This was pretty miserable but worked up until I ran out of ammo on the nailgun, when I realized this game does not allow pressing number keys to switch weapons and I didn't have a proper scrollwheel. At that point I had spent too long trying to complete it in my silly way to not finish it, so I went and grabbed a trackball mouse to do it in a much easier but still kind of silly way.

Anyway, the technical achievement is the main point of focus here but the vibes were still impeccable and this was a really cool take on a couple levels of an old favorite.
-
Despite Backloggd showing this as a Windows game, this is a purely in-browser game

Q1K3 is a 13kb downgrade of Quake made in JavaScript, with the first two levels of the game fully playable in its own custom-built engine. The game also features the first three enemies, the first three weapons, and a fully functional lighting effect. It even has the soundtrack and textures. That's 3846 times smaller than the original Quake!

It's an interesting little piece of curiosity and definitely kept me entertained for half an hour. For comparison purposes, the size of Atari ROMs typically contained just 4 Kbytes of ROM memory for program storage, the sizes of NES games vary from 8 KB to 1000 KB. For comparison purposes, the size of Atari ROMs typically contained just 4 KB of ROM memory, the sizes of NES games vary from 8 KB to 1000 KB. You can even strafe jump, circle strafe but you can't bunny hop and wallrun. Really cool!