Clone wiki

index / Home

Hi, my name is Andi McClure and this is a list of all projects I have hosted here on BitBucket. Most of them are games. You can find my personal website here.

This list is split into sections, based on what tool I used. For each section there is a basic "engine" project, which is usually based on a permissive attribution-only license and designed for others to build projects on top of; and a series of more specific projects based on that engine, which are usually based on a sharealike or noncommercial copyleft license. Regardless of project, make sure to check the tags for release versions.

The tool I am currently using for projects is LÖVR (see below) so those will be the most recently posted code, whereas some of the projects on this page are over ten years old.

Table of contents:


  • emu-coop: A multiplayer hack for 1-player Super Nintendo games
  • qgcon-2018: Resources and a video from a talk I gave on making small programming languages.
  • mermaid-lovr: A set of resources for the LÖVR game engine.

LÖVR projects

LÖVR is an open source VR engine originally created by Bjorn Swenson. I've been using it since 2018. See my LÖVR resources page here.

  • Lovr: My fork of LÖVR on GitHub (no important differences from the main repo).
  • lovr-oculus-mobile: The main site for oculus mobile support using LÖVR (maintained by me).
  • lodr: A hot code reloading app for LÖVR.
  • lovr-ent: A "starting point project", sample code containing all the Lua helper code I include in all my LÖVR projects. Some of these are usable in non-LÖVR Lua engines.

Emily language

Emily was an experimental programming language I designed and worked on between about 2014 and 2017.


  • emily: In-progress interpreter for a programming language I designed.
  • test-emily-game: Experimental branch of emily (0.3b development is effectively occurring here)
  • emily-python aka Emily2: Experimental next-generation (post 0.3) prototype of Emily. Not yet documented.

Other materials

  • llvm-practice: Code for my "No Compiler" blog posts, written to learn about compilers.
  • Reimplementation of the `make` tool in Python, intended for use as Emily build tool
  • ppx_const: A ppx syntax extension for the OCaml programming language. Adds a compile-time "if" statement.
  • emily-objc: Abandoned first-prototype version of Emily. Suggest just ignoring.

Jumpcore projects

Jumpcore is my homegrown game engine. I started developing it in 2008 and use it for all my C++ game projects.


  • jumpcore: a get-started kit for portable C++ games



Polyconsole projects

Polycode is a game engine originally developed by Ivan Safrin. I used it between about 2011 and 2014.


  • polycode: My fork of Ivan Safrin's Polycode game engine
  • polyconsole: My Polycode "template project", a replacement for the Polycode Player which adds additional capabilities



Ufo projects

Ufo is a bundle of LuaJIT with some support libraries. I do not yet have a "trunk" repository for it.




Twine projects

Twine is an open source tool for creating interactive fiction in HTML. I used it for a few projects around 2014.


  • twine: My fork of the popular Twine IF tool (contains custom templates, etc)
  • twinetools: A small macro collection
  • spool: Tools for Twine games with online multiplayer
  • spool-heroku: Heroku port of Spool


Misc games


Misc projects

  • exacto: Manual stencyl project editor
  • whiteboard: A Google AppEngine collaborative pixel art app
  • badpng: Artistically buggy png encoder
  • votescript: CGI scripts that can be used to run an online ranked-voting poll
  • pseudogbs_au: An approximation of the GBS ("Game Boy Sound System") as a set of Mac OS X AudioUnits.
  • unitynativepluginexample: A Unity sample project which incorporates C++ code and uses CMake to build it.
  • dts2nim: A tool that converts TypeScript type definition files into a format that can be used by the Nim programming language. Can be used to call TypeScript code from Nim. May not work with most recent TypeScript.
  • emu-coop: A multiplayer hack for 1-player Super Nintendo games (project page, see main site here)
  • snes9x-coop: A build of snes9x-rr primed to run emu-coop (see main site here)
  • namespace.lua: A Lua library which adds a namespace feature to Lua. For Lua 5.1/LuaJIT.

Ports and forks


Open source project forks