Clone this wiki locally
This wiki is currently for version 1.1.0. It should be updated to 1.2.0 soon.
Ammo is a library for the LÖVE (or, Love2D) game engine. It's purpose is to provide a simple, flexible organisational structure for your games. The core library itself is pretty lightweight, but can be extended easily (see below for a list of extensions available). Ammo was inspired heavily by the awesome FlashPunk engine.
In case you're wondering, the name "Ammo" is derived from the Latin word "amo", which means "to love, like, be fond of, cherish." Most libraries for LÖVE have their names somewhat related to the term or concept of love, so I decided I'd combine the Latin word with "ammunition".
Current Version: 1.2.0
- ammo - The main module.
- World - An organisational class to hold and process entities.
- Entity - The core unit of which games are made.
- Camera - A class that embodies a camera.
- Sound - A class that makes it easier to manage sounds.
- Vector - A data structure for 2D vectors.
- LinkedList - A linked list data structure. Used internally.
- API Extensions - Lists the changes made to the APIs of Lua and LÖVE.
- Files - Gives information about each file and what it does.
There's a number of extension modules which can be independently hooked into Ammo:
- physics: An interface that allows you to connect Ammo's worlds and entities to love.physics.
- debug: A versatile, highly customisable debugging console.
- input: A simple input mapping library.
- tweens: A tweening library.
- assets: A simple asset management library.
The only external library required is MiddleClass, version 2.0. If you've cloned Ammo's Git repository, you can automatically download MiddleClass into the
git submodule update --init
Other than MiddleClass and the extensions above, here's a few other external libraries you may want to use: