MYTHOS is a realtime interactive environment 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 as extensible and portable as possible.
MYTHOS is a realtime interactive environment 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 as extensible and portable as possible.
| Simple and flexible cross-platform rendering. Direct3D 9 and OpenGL are already fully supported with the platform-specifics taken care of for you. MYTHOS is designed for expressively animated 2D games that take advantage of 3D acceleration, in a manner similar to the PopCap Games Framework. What's more, if you don't like the way MYTHOS draws something, you can take 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. It is an implementation of the Separating Axis Theorem, and it's deadly fast because you get to control it. You can use bitmasking, variable hitrate, and even disable parts of the algorithm entirely. | Eccentric hardware friendly.
Even though stock MYTHOS only officialy runs on modern PCs with a hardware FPU
right now, game logic requires integers only, so that you can
port it to really old hardware and get fast, predictable behavior. Our tested performance goal was — we're being absolutely serious — an Amiga 1200. |
| 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 total LoC count is only a couple thousand. To be totally fair, there is a lot of heavy lifting from external libraries, but not in a way that is excessive nor can't be improved. We're constantly looking to debloat where it matters, and the real brains of MYTHOS can reasonably be understood in an afternoon. | 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. |
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.
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.
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.
MYTHOS does not include some of it's dependencies: the A5 allocators, Physfs, XMP, Allegro, or allegro_qoi. Pulling them as Git modules or from the system package manager is trivial, however.
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 (except for CyberGraphX RTG cards) with a lot of abstractions that only make sense on a 3D accelerator, and we don't really expect the retro 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).
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.
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. Since these are the only really convenient C++ tools available on Windows, we suggest a strong familiarity with Unix systems before trying to use MYTHOS.
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.
No, it does not. This is our own original creation that has very unfortunate SEO.
MYTHOS was created for our scrolling shooter game TIME FALCON. It began development on October 24th, 2024.