LittleJS πŸš‚ The Tiny JavaScript Game Engine That Can!

All aboard!

LittleJS is lightweight 2D JavaScript game engine with a WebGL rendering system. The goal of this project is to be small, simple, and easy to use for a variety of applications from size coding game jams to commercial releases.

This engine has everything necessary for most games including super fast rendering, physics, particles, sound effects, music, keyboard/mouse/gamepad input handling, update/render loop, and debug tools.

πŸš‚ LittleJS Engine on GitHub

Continue reading
Posted in Game Dev, JavaScript | Tagged , , , | 5 Comments

Space Huggers: A run and gun roguelike for JS13K

πŸš€ Play Space Huggers in your browser!

The souce code is also available on GitHub!

Continue reading
Posted in Game Dev, JavaScript | Tagged , , , , | Leave a comment

Batafuraiko – Winner of JS1024 2021

It’s official, “Batafuraiko” is the winner of JS1024! This is one of my favorite game jams because the main restriction is the program must be under 1 kilobyte. I had a blast with my entry and learned a few things working with the other participants on Discord. Thank you to the organizer and other participants. In addition to the winner I summitted 2 other programs: “Digilemma” (a self generating puzzle game that received 3rd place) and “Lightning Storm” (a storm sim with sound and visuals).

The official 1k version of my game along with all the other entries are available to play on the JS1024 website. I also made a codepen version of my game embedded below so you can jump right in and even take a look at the code!

See the Pen Batafuraiko πŸ¦‹ Winner of JS1024 2021! by Frank Force (@KilledByAPixel) on CodePen.

Posted in Game Dev, JavaScript | Tagged , , , , | Leave a comment

Bad Shapes – Music Video Website

Live Demo on

I made an interactive website for the band Bad Shapes! This virtual art installation features the self titled album by Bad Shapes and generative visual art set in a realistic 3D scene.

Posted in JavaScript, Music, Projects | Tagged , , | Leave a comment

Cityscape Sunset – Tiny Code Video Lesson

Posted in JavaScript | Tagged , , | Leave a comment

Dissecting A Dweet #9: City Sunset

Hello, tiny coders, I’m back with another dwitter dissection! Today we will explore the JavaScript code that produces this beautiful procedurally generated cityscape.


Continue reading on for a full explanation of how it was made!

Continue reading
Posted in JavaScript | Tagged , , | 7 Comments

NoteCraft Submitted to JS13k

Play The Official JS13k Entry

NoteCraft on GitHub


  • Export to ZzFXM and OS13k
  • Share compressed links
  • Several example songs
  • Instruments are customizable
  • Undo and Redo
  • Cut, copy, and paste
  • Turing complete!


  • 20th place overall out of 227 entries
  • 1st place Audio
  • 1st place Innovation
Posted in JavaScript, Music | Tagged , , , | Leave a comment

OS13k Submitted to JS13k

Play The Official JS13k Entry

OS13k on GitHub


  • 3 Games!
  • JS13k Trophy System
  • ZzFXM Music Player
  • ZzFX Sounds
  • Piano & Visualizer
  • Custom User Programs & Dweets
  • More apps and bonus features


  • 32 place overall out of 227 entries
  • 9th place in Innovation
Posted in Game Dev, JavaScript | Tagged , , , , | Leave a comment

1Keys – How to Make a Piano in only 1kb of JavaScript

Digit Dilemma

The legendary JavaScript competition JS1k was thought to have ended, but it has risen from it’s ashes in the form of JS1024! This competition for making tiny JavaScript programs has been going on for 10 years and will now be continuing under a new name. Thank you to the organizers and other participants, you should definitely check out some of the other entries.

Figuring out how make something cool with such a small amount of code is quite the challenge, but it’s not my first rodeo. This year I submitted two programs, so check out my other entry, Digit Dilemma Plus, a logic puzzle game with procedural levels. The contest provides “shims”, html starter code for canvas and WebGL programs, but neither of my entries use them.

JavaScript provides a powerful though simple audio library, the Web Audio API. I first explored it while developing ZzFX, a tiny sound effect system. For while I’ve been itching to make some musical instruments. This demo works much differently from ZzFX, mostly using the oscillator and gain nodes.

In this post I will go through every single line of my 1 kilobyte piano and explain how some of the trickier parts work. The whole thing is open source on GitHub and has a some improvements since my JS1024 submission. So please continue reading and let’s make sweet music together!

Here’s 1Keys running live in a CodePen for you to mess around with. It can be played with either the mouse or keyboard.

See the Pen 🎹 1Keys – 1k Version by Frank Force (@KilledByAPixel) on CodePen.

Source Code on GitHub

Official JS1024 Entry

Update: 1Keys won first place in JS1024 2020!

Continue reading
Posted in JavaScript, Music | Tagged , , , | 17 Comments

Major ZzFX Update

New ZzFX Features

  • 19 parameters (over twice as many)
  • 7 Presets for easier sound effect creation
  • Improved web browser compatibility
  • Streamlined user interface and workflow
  • Cleaner and simpler code
  • The fully minified version is under 1 kilobyte.
  • So much more!

ZzFX Sound Designer

ZzFX on GitHub

Posted in Game Dev, JavaScript, Projects | Tagged , , | 1 Comment