Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Against the Endless Enemy

Entry for Gynvael's Winter GameDev Challenge 2017.

To play the game itself, download and run ./dist/index.html via Chrome. Or it can be downloaded from Google Drive. The final packed version weighs 19.4KB.

It was 85% fun, and I learned things doing it. I didn't manage to squeeze sound into the package, stripped away a few intended game mechanics, and didn't do all the fancy UI animations I had orginally hoped to do, but otherwise the game ended up looking pretty close to my original ideas.

I did have some early setbacks. I started using Svelte as my framework before moving to Hyperapp. Svelte just weighed too much, and I prefer JSX over Svelte's templating language. I cobbled together my own packer using lz-string, but RegPack did the job better. I also spent an afternoon fighting with Google's Closure Compiler before giving up and just using uglify-es.

Stuff used to make this thing:

  • Hyperapp , a microscopic framework
  • Rollup, babel (for JSX parsing only), cssnano for minifying the CSS, and uglify-es for minifying the JS.
  • RegPack for packing (around a 25% difference)
  • This awesome tutorial for pathfinding with depth-first
  • Tweezer (modified for my use case) for tweening values
  • Game-Icons for the SVG icons. Specifically, the icons I used came from Lorc. They were modified with:
  • Inkscape, and then minified with SVGOMG.


entry for Gynvael's Winter GameDev Challenge 2017



No releases published


No packages published