The A2 Engine logo from EECS 298 : Game Engine Architecture at the University of Michigan

The A2 Game Engine

A simple, Unity-inspired, Lua-based 2D game engine with Box2D Physics.
Designed for education at the University of Michigan, Ann Arbor.

Download the engine Read the docs

Features

Component-based Lua Architecture

Components are written in Lua with common lifecycle functions (OnStart, OnUpdate, OnDestroy, etc) before being attached to Actors (gameobjects).

Performant C++ Core

The Lua scripting / guest language sits atop a high-speed c++ core, with built-in Box2D physics, fast particle systems, and more.

Educational Mission and MIT License

Game Development students at the University of Michigan build their own engines from scratch, using the A2 Engine as a reference. You are welcome to use the engine for anything you like (even commercially), but the source code will remain hidden for educational reasons.