AGE is a multi-threaded game engine for Android using OpenGL ES2 shader-based rendering.
In-depth GL knowledge is not necessary to get started; use the OBJ loader to bring in your favorite models from Blender and elsewhere, attach textures, and start rendering!
Threads are used strategically to partition different activities, e.g. initialization, framerate, timer, game cycle.
Threads use the apartment model, and communicate by message passing.
The drawing cycle is inverted from typical game loops. AGE uses a dedicated timer for framerate, and the SurfaceView is in on-demand rendering mode.
Game components opt-in to system services by implementing the "marker" interface corresponding to the service.
Game components enter the system via Install Pipeline, an asynchronous "standard" implementation that keys on the marker interfaces and performs the "protocol" for that marker. There are also Event and Uninstall pipelines.
- Render using OpenGL ES 2 with shaders
- Minimal knowledge of GL internals required to get started
- Basic shaders supplied for uniform color, per-vertex color, textures, or supply your own
- Load OBJ models exported from Blender et al
- Multi-task single-thread apartment model
- Message-passing for inter-task communication
- Opt-in service model for game components
- Pipeline architecture for "fire-and-forget" setup, teardown, and event delivery
- On-demand rendering for framerate control (very helpful in emulators)
- Full-featured timer service for recurring, continuous, one-shot
- Indirect property model; components need not be tied to Java classes
- Indirect reference model; components access each other just-in-time
Be the first to post a review of Android Game Engine!