Home

Awesome

<img src="./Docs/Images/Logo.png" width="176" height="228" alt="Mojoc Logo" title="Mojoc Logo" />

Mojoc v0.7.1

Mojoc is an open-source, cross-platform, pure C game engine. It is based on OpenGLES3 and written in C99. It currently works on IOS and Android, but can easily be extended to other platforms, and will support more platforms in the future.

Architecture

Mojoc Engine Architecture

License

Mojoc is licensed under the MIT License.

Core Idea

Less is more, simple is better, simplify complex ideas.

Features

Published Games

Mojoc has been used for a cross-platform Android and IOS game.

Samples

The samples will show all aspects of the Mojoc features. Each platform will provide native building project for native platform editor. For example: Android provides AndroidStudio project, IOS provides XCode project.

Currently there is only one sample, which is a simplfied version of the published game SuperLittleRed. Please check out the Quick Start guide for how to quickly run this sample.

The compiled and playable apk is here:

<img src="./Docs/Images/SuperLittleRed-Sample.gif" width="400" height="225" alt="SuperLittleRed-Sample" title="SuperLittleRed-Sample" />

FAQ

Why not C++?

What is the meaning of the name Mojoc?

Mojoc = Mojo + c

The c stand for the C language.

Who designed the logo and what is its meaning?

I designed it. The logo is an unknown creature made up of "Mojoc" letters.

M : ears  
OO: eyes  
J : body  
C : tail

How was Mojoc was born?

Mojoc started in 2012 as a spare time project. At first, Mojoc used Eclipse + CDT + ADT + NDK for development, and was focused on Android platform.

During the development I experienced a lot of repetition and thinking. For a long time I was not very sure and clear about how to use the C language to simulate OOP and keep it simple and uniform. So I tried a lot of ideas, repeated the proces: wrote code, modified, refactored, changed ideas, deleted code, rewrote it again and so on.

But in the end, I developed a unique rule set, the Mojoc Code Style and Mojoc OOC Model that felt right and nice, then I followed the rules to develop Mojoc.

What kind of games can Mojoc do?

For now, it is not recommended to use Mojoc to make games. To be honest, Mojoc is not yet quite perfect. There are many improvements and refinements left to be made, that I'm currently working on. But Mojoc's code architecture and programming model have already been established.

Therefore Mojoc is very suitable for learning and understanding of how to use the C language to build game engine.

Roadmap

The roadmap shows the direction of Mojoc development.

Graphics Module

Extension Module

Physics Module

Toolkit Module

Other Modules

Others

Support

:loop: