Nicolas Allemand

Music, game dev and emulation.


Here's the list of all the work I've done during my free time. Note that you need LÖVE to run .love files.


invaders screenshot

An emulation of the famous "Space Invaders" arcade machine from 1978. The most complex task was to emulate the whole Intel 8080 processor, with all its registries, opcodes and peculiar flags. The emulator currently passes a fair share of test roms.

The whole project was made in C with the SDL2, and has been tested on macOS and Linux. You can find it on GitHub.


chip8 screenshot

An interpreter of CHIP-8 programs. It was a fascinating project that introduced me to the world of emulation. The system itself isn't complicated (it only has 35 opcodes), but it's a quick way to understand the basics of how simple machines work.

The project, programmed in C with the SDL2, works on macOS, Windows and Linux and can be found here.


quadLÖVE screenshot

A koalastothemax clone. It is a little experiment where the user can choose an image and gradually uncover some parts of it with his mouse.

The process is based on quadtrees: for each child, I compute its colour (average of all the corresponding pixels of the original image). The results are sometimes really beautiful, in their own "lowres" kind of way.

Lua librairies

Here are some Lua libraries I made over the years to facilitate my game development with LÖVE:

  • denver.lua: audio waveform generation (basic synthesizer included)
  • stackie.lua: teeny tiny game state manager module
  • bluclass.lua: class implementation in pure Lua with simple inheritance
  • signals.lua: simple implementation of signals (inspired by the observer pattern)
  • sandwich.lua: resource manager


  • participation in the french translation of IINA, a video player for macOS.
  • contributions to Emu-Docs project, a repository that aims to archive emulation documentation.
  • contributions to pylibui project, a Python binding for libui, a multiplatform GUI lib in C.


  • Pelican: a music player web app that retrieves music from YouTube and plays it on the browser (source)
  • bbeats: binaural beat generator using the Web API