Skip to content
Switch branches/tags

Latest commit


Git stats


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

aroma v0.0.3

a game engine

Leaf Corcoran, 2012 Changelog


Aroma is game creation framework/platform that targets Chrome's Native Client. It lets you create games that can be distributed through the Chrome Web Store.

Aroma games are written in the Lua programming language.

Aroma implements the LÖVE API in order to make porting existing games easy.

How it works

Upload Aroma's .nexe binaries, .nmf file, and javascript support to a directory. Then upload your entire game (Lua code, images, and audio) alongside it and write a simple html file.

See the tutorial for a more detailed guide.

Aroma facilitates resource loading for you. It also handles drawing to an OpenGL powered canvas. Aroma will reuse features of the browser whenever possible, for things like decoding images, playing audio and downloading code.


How To Build

Building can be a bit challenging, but here is a brief overview. I build Aroma on Linux. It should work on OSX. If you're on Windows you're on your own! (But if you figure it out, tell me and I'll update this guide)

The following dependencies are required before building:

If you want to build the website (which you probably don't), you need sitegen and lessphp

After all the dependencies are set up, head into the nacl folder and run:

$ ./installs_deps

This will download and extract Lua 5.1.2 and Lua CJSON.

Next, head to the root directory, set up tup and tell it to build!

$ tup init
$ tup upd

By default this will build the 64 bit version of Aroma. I've provided a makefile in the nacl folder with a directive for building 32 bit, just run:

$ make 32

If you want to make tup build 32 by default then edit tup.config in the root directory, and uncomment the line:


And finally, I use tup for this reason, run this command:

$ tup monitor -a -f

This watches the filesystem and builds what's needed when you change something.


a game engine: lua, opengl es 2.0, native client




No packages published