Introducing Mojoc
Mojoc is a unique, open-source game engine that offers developers a new way to create games. As a cross-platform and pure C engine, it's based on OpenGLES3 and written in the C99 programming language. Mojoc currently runs on iOS and Android devices, with plans to extend support to more platforms in the future.
What Makes Mojoc Unique?
One of the standout features of Mojoc is its dedication to simplicity and efficiency. It adheres to the philosophy that less is more and aims to simplify complex ideas. The engine is crafted using only the essential features of the C language, avoiding any dependency on third-party libraries for its core functions.
Features of Mojoc
- C99 Language: The only programming skill required to work with Mojoc is proficiency in C99.
- Platform Independence: Mojoc ensures its code remains platform-independent by using only the standard C library.
- Unique Coding Style: Mojoc has its own coding standards, promoting a clean and consistent codebase.
- Object-Oriented Programming Model: Despite being a C-based engine, Mojoc incorporates an Object-Oriented C (OOC) model to structure its functionality.
- Component Architecture: Applications are built using components, state machines, and a message-driven approach, making development organized and scalable.
Mojoc in Action
Mojoc is already making waves in the gaming world with a successful cross-platform game available on both Android and iOS. Additionally, developers can explore and learn from the engine through samples, such as the simplified version of the game "SuperLittleRed". This sample showcases the engine's capabilities in a challenging bow and arrow shooting game.
Why Choose C Over C++?
Mojoc was born from a desire to be different. While C++ is popular for game engines, Mojoc sticks with C for its simplicity and the power to do exciting things with less complexity. The name "Mojoc" itself reflects this philosophy: "Mojo" plus "C", where "C" stands for the C language, indicating the engine's distinct approach.
The Journey of Mojoc
Mojoc began as a passion project in 2012. The development journey involved a lot of trial and error, seeking to find a way to implement object-oriented concepts using C, and ultimately led to the creation of the Mojoc Code Style and OOC Model. These innovations set Mojoc apart as an educational resource for those interested in game engine design.
Future Roadmap
Mojoc continues to evolve with ambitious plans:
- Graphics Module Enhancements: Expanding support for Vulkan, Metal, and D3D and improving shader control.
- Extension and Physics Modules: Adding features like bitmap font support and enhanced physics simulations.
- Toolkit Module and Other Developments: Introducing a UI module, network capabilities, and even a game script language called "MojoScript".
Get Involved
Mojoc is more than just a game engine; it's a community project. Users can support its growth by playing Mojoc games, engaging with its GitHub repository through stars, issues, or forks, and sharing it with others. Every bit of support helps Mojoc reach its potential and continue to be a useful resource for developers around the world.