A lightweight framework for 2D video games on low-end Windows and Linux PCs.
It's small and fast in the right hands, with a laser-focus on being extensible and portable.
MYTHOS should feel like a game engine you wrote for yourself.

Tranquility in simplicity. Because less is more.

Features



Simple and flexible cross-platform rendering. Direct3D 9 and OpenGL are fully supported out-of-the-box with the platform-specifics taken care of for you. MYTHOS is already perfect for expressively animated 2D games. But when the basics aren't good enough, or if you just don't like the way MYTHOS draws something, you can take back direct control.


Built-in background music system that can play both tracker modules and PCM streams. The underlying libxmp backend is under the developer's control and MYTHOS takes care of the resource management. Reactive music scores and compact file sizes are made easy. A wide variety of encoding formats for music streams are optionally supported.


Collision detection routines for convex hitboxes, built specifically for high-performance arcade games. You can use polygons, radials and single points. Optimization controls include bitmasking, adjustable hitrates, and you can even disable parts of the algorithm entirely.


Eccentric hardware friendly. MYTHOS is ready to change shape. Game logic requires integers only, so that you can port MYTHOS to really old hardware and your game will keep its fast, predictable behavior. LUTs for slow math are included.
MYTHOS itself requires an FPU out of the box for rendering and depends on modern libraries. Porting, while easy, will still require manual effort on your part.


Integrated with PhysicsFS for smaller download sizes, easy DLC and patch distribution, and resource pack management. PhysicsFS is a virtual filesystem driver that can mount compressed folders in a lot of formats, and even mount new files on top of old ones.


All the other little things that make MYTHOS nice to use. A detailed manual, simple helpers for deterministic pseudo-RNG, crash handling, vertex manipulation, and a nice command line interface a la Quake that you can use to add and call your own debugging commands.
It's small. The engine core is only a couple thousand LoC in length. The entirety of MYTHOS can reasonably be understood in an afternoon. To be totally fair, there is a lot of heavy lifting from external libraries, but not in excess. And we're constantly looking to debloat where it matters.It's free and open source, under a permissive license. We'll never extort you after you've released your game. We don't care what you do with it, how much money you make, or even if you don't give something back. We would appreciate your donations or contributions, though.

So where can I try it?

We expect to have the first beta version ready in December. 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.


FAQ

What platforms are supported?

As of Version A1, Windows and Linux PCs using the x86 architecture are supported as build targets. Currently, Windows 7 is the oldest version of Windows to work, but compatibility with Windows XP is planned. No other platforms are supported at this time. Porting the engine to other platforms should be trivial, however, provided they have a working OpenGL backend or similar.

For those keeping up on our blog posts: This version will NOT contain AmigaOS 3 support. Modern rendering hardware is very different from what's needed on that platform and we don't really expect the AGA graphics support planned for TIME FALCON's special engine branch to have much use afterwards. That being said, TIME FALCON will have it's source code released at some point after the game is finished (a very long time from now).

What is included with MYTHOS?

The first public release will include some sample programs to help you get started, and extensive documentation for both the beginner developer and the performance-minded. Prior knowledge of object-oriented C++ is a requirement.

What external dependencies or libraries does it need?

MYTHOS is built on top of Allegro, PhysicsFS, and the eXtended Module Player, which are expected to be already installed on your workstation. It also bundles some lightweight dependencies as Git submodules and some directly within the Includes folder. Most notably, the QOI plugin for Allegro, and some custom arithmetic libraries. Allegro will pull in media decoding libraries, which you can turn on or off at compile time — by default it will use everything it can find.

Glib and Freetype2 are temporarily required in these early versions of MYTHOS since they are used by some Allegro plugins. They will no longer be needed once we replace them with lighter alternatives.

What are the terms of the copyright license?

MYTHOS will become available under the MIT license. It can be used for any purpose, even in proprietary software, but you are required to disclose it's use.

Third party dependencies must also have their licenses respected. Please refer to the THIRD_PARTY.TXT file included with the engine for more information.

What toolchains are supported?

MYTHOS is fully compatible with GCC since version 5.6 and clang-LLVM since version 3.4. Most forks of GCC 5.6+ should also work without hassle, including MinGW. A fully ISO-compliant standard library is needed.

Microsoft's toolchain (the MSVC compiler and C++ runtime) are NOT supported and we have no plans to support them in the future due to how unstable they are and how much developer time they waste.

The build scripts we use are designed for cross-compiling from a Linux host. We suggest a strong familiarity with Unix systems before trying to use MYTHOS.

What do I need to bundle to ship a MYTHOS program?

On Linux, very little, provided your customers have the correct packages installed. Valve ships containers with many libraries common in games from within their Steam client. If one of the required libraries is not here, you may be able to include them yourself and then change the LD_LIBRARY_PATH.

Windows makes things a little easier thanks to looser version checks and automatic search of the program's storage location, but on the other hand many of the libraries MYTHOS relies on are not expected to be installed. At this time you will need to ship around 50 DLLs and require that users install the Universal CRT update package for their computer. This requires Windows 7 at the absolute oldest (the Vista version of this update erroneously contains NT 7 function calls). Many of the libraries are dependencies of eachother or of Allegro plugins which we are deprecating in favor of our own replacements in the future.

Does this have anything to do with the engine by Pink Moon, or the libraries by Charybdis Enterprises?

No, it does not. This is our own original creation that has very unfortunate SEO.

Where did MYTHOS come from?

MYTHOS was created for our scrolling shooter game TIME FALCON. It began development on October 24th, 2024.