The MAGE Engine is a 2D game engine built on top of the homemade Arcana2D framework(see here), and uses the incredibly simple and fast Wren programming language to expose the native C++ API. With a minimalist API that's easy to develop in, the MAGE Engine will help you Make Awesome Games Easy!
// Sample import modules
import "mage-utils" for Vec2
import "mage-random" for Random
import "mage-timer" for Timer
import "mage-app" for AppConfig
import "mage-input" for Keyboard
import "mage-geom" for Point
// Main application template
class Main {
construct new() {
}
config(cfg) {
}
init(ctx) {
}
update(ctx) {
}
render(ctx) {
}
finish() {
}
}
The MAGE Engine has currently only been tested on MacOS, and ports for Windows and Linux will be rolled out eventually. Right now, the MAGE Engine can be downloaded as a ZIP file or cloned from GitHub, then compiled with Premake or GNU Make. From there, you can start writing a game in Wren externally, putting all of the required files and resources within a single directory that contains a main.wren
entry point. This folder can then be dropped on the compiled MAGE executable and run.
mage-utils
: Provides Vector and Color classesmage-random
: Provides random number generationmage-window
: Provides access to window manipulation and event handlingmage-timer
: Provides a timer class for processing and handling timemage-res
: For loading files, images and fontsmage-camera
: Allows access to the scene camera and setting zoom, rotation and offsetmage-input
: For receiving inputs from the keyboard and mousemage-geom
: Provides simple classes for defining shapesmage-gfx
: For rendering graphics and creating shader programsmage-audio
: Simple audio playing and management