
MYTHOS is a realtime interactive environment for 2D video games and demos, designed for low-end Windows and Linux systems. It's small, simple, and fast.
Unlike competing game engines, it grants uncompromised control over your project and doesn't overly obscure itself. It is incredibly extensible. Experienced programmers will understand exactly what's going on in their game and intuitively know how MYTHOS works after mere minutes. New programmers can use the engine as a learning tool to better understand how computer games are engineered.
MYTHOS is based on the Allegro multimedia library, which permits the engine to interface with a variety of platforms without worrying about API differences. This makes the rendering code fairly straightforward to understand, and therefore very portable.
Engine overhead is relatively minimal. The majority of memory usage comes from creating the GPU context. Total memory consumption of a MYTHOS game is otherwise as small as you are able to make it. Further optimizations tailored to your game are not only possible but made easy. Games are compiled as part of the engine's core codebase itself, so the entire source is right there as you interact with it, and developers are invited to make game-specific tweaks if they are comfortable doing so.
You are free to use MYTHOS for commercial or hobbyist purposes, under any license. It will be released as permissive free software.
Features
- Out-of-box support for Direct3D 9 and OpenGL. Includes helpers for HLSL/GLSL shader compilation.
- Multiple sprites per object that can be scaled, rotated, and translated arbitrarily, as well as their UV coordinates. The extensible rendering pipeline can be overridden in subclasses to bypass the default rendering limitations.
- Built-in support for tracker modules through libxmp, and support for a variety of audio formats through Allegro's acodec plugin. Adding a new codec implementation takes only a single function call.
- Custom texture container for a variety of standard compression formats, including QOI, S3 Block Compression, raw bitmaps, indexed bitmaps, and even Amiga-style planar-indexed bitmaps capable of non-byte-aligned color depths.
- Bit-shifting pseudo-RNG system useful for adding random chance to games that require determinism.
- Fast convex collision algorithm based on the separating axis theory, with bitmasking and rough first-pass culling using axis aligned bounding boxes. Colliders can be rotated and translated arbitrarily. Update rates can be reduced for more speed during CPU-congested gameplay.
- Built on reliable embedded-friendly technology. MYTHOS comes pre-packaged with the A5 Allocators and fpm Fixed Point Mathematics libraries and uses them by default. Also included are lookup tables for things like sines and division. You can expect reasonable performance on not just a modern Intel CPU, but even M68k computers and cheap ARM devices. (Within reason depending on your game.) Keeping good CPU cache efficiency and avoiding problematic math is a core consideration and we have plans to push it even further.
- Whatever you can give back! Something missing? Failed to deliver on one of these promises? Tell us, or hand us your changes to become part of the next release.
So where can I try it?
We're not ready to fully release it yet. The MYTHOS engine was originally written by a single developer for one of our games in-house, and it needs more time to be cleaned up and thoroughly documented. Some of the features advertised above still have not been finished. We'll update this page with links to the instruction manual and the source code when it's available to try. If you have further questions, please mail them to: bonkmaykr@canithesis.org.