Cat Goric: Escape from the Warp Chamber - Post-Mortem

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • js13k-2021

    Discontinued Game created for the Js13kGames competition from 2021.

  • View on GitHub

  • tinyfont.js

    Tiniest possible pixel font for your JS games (<700b zipped, suitable for js13k)

  • For rendering the texts in canvas, though, I haven't used the built-in text support from Kontra. Instead, I've used TinyFont, as it renders perfectly pixelated independently of the game scale.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • jasmid

    UNMAINTAINED. A MIDI file reader and synthesiser in Javascript

  • On the other hand, for the background, I spent a whole week in research. It all started after xem released a tool called midi2array. It led me to rethink something I wanted since I first participated in js13k: using WolframTones to generate music for the game. Wolfram can export in MIDI format, so I needed some tiny lib to play this .mid file. In the end, I didn't use xem's tool, but instead, the tool he used to extract notes from MIDI: Jasmid. So after generating a lot of songs, Wolfram finally output a melody that, when played in Jasmid's piano synthesizer, matched the game pace! One of the best moments of this jam!

  • node-bestzip

    Provides a `bestzip` command that uses the system `zip` if avaliable, and a Node.js implimentation otherwise.

  • Code written in Typescript, compiled by Vite, compressed by Roadroller + BestZip + ECT.

  • ect-bin

    Efficient-Compression-Tool Binaries

  • And compressed final code even more with Roadroller (reduced 1.3 KB in the zip). And used ECT to recompress the zip (reduced 300 KB).

  • create-pubsub

    A tiny Event Emitter and Observable Store: https://npm.im/create-pubsub

  • View on GitHub

  • TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • It's worth mentioning that the bundle was generated with Vite, and the code was written entirely in Typescript.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • vite

    Next generation frontend tooling. It's fast!

  • It's worth mentioning that the bundle was generated with Vite, and the code was written entirely in Typescript.

  • kontra

    A lightweight JavaScript gaming micro-library, optimized for js13kGames.

  • I was still in doubt about using Kontra or Replay as the game engine. Still, in the end, I decided to use Kontra for having more built-in features I needed, and also because I had used it in a previous js13k game.

  • squoosh

    Make images smaller using best-in-class codecs, right in the browser.

  • So I started reducing their sizes. I've used Piskel to extract only the frames I needed from the sprite sheets. Then sent them through Squoosh to convert to WEBP with the smallest possible size (it's equivalent to the reduction from TinyPNG, with the difference that WEBP is smaller than PNG).

  • roadroller

    Roadroller: Flattens Your JavaScript Demo

  • And compressed final code even more with Roadroller (reduced 1.3 KB in the zip). And used ECT to recompress the zip (reduced 300 KB).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts