Skip to content
Projets

maxon887/Cross has 31 GitHub stars and 3 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-12 11:59 UTC. Last push 2026-07-31.

Comment ces chiffres sont mesurés

Cross++ Lightweight Crossplatform Game Engine

What you can do

  • Entity-Component system and scene management
  • Renderer with materials, lighting and model loading
  • Lightweight and fast. Distributable binaries and assets weight around 1.5mb
  • Crossp-platform input system

Progression mesurée des étoiles

in 24h
0
in 7 days
0
in 15 days
Mise à jour retardée
in 1 month
Mise à jour retardée

Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.

README.md

Original

Cross++

Is a lightweight cross-platform game engine. Written mostly on C++. Main purpose of this engine to be easy to learn, read and understand.

Questions can be asked via facebook instagram

Supported Platforms

Windows, MacOS, Linux, Android, iOS

Build Status

Windows MacOS Linux Android iOS

Demo Project

Demo project can be found in Demo/Projects/{TargetPlatfor} directory.

Features

  1. Entity-Component system and scene management
  2. Renderer with materials, lighting and model loading
  3. Lightweight and fast. Distributable binaries and assets weight around 1.5mb
  4. Crossp-platform input system
  5. Audio system
  6. Documented most part of code
  7. Base scene, material and shaders editor
  8. Event System
  9. Assert System. Allowing stop or skip broken code fragments
  10. Memory Manager
  11. Function Holders. Provides ability to bind to any method or function and call it later on demand
  12. Propereties. Aka Reflection support for basic types. Сonvenient for editor and load/save functionalities
  13. Factory for lazy objects creation added

Tutorials:

  1. Introduction and Windows Setup: https://www.youtube.com/watch?v=tnp09QB5sak
  2. MacOS and iOS Setup: https://www.youtube.com/watch?v=NiSvKbGyHXU&t=2s
  3. Linux and Android Setup: https://www.youtube.com/watch?v=GuREvKJUGho

Screenshot Gallery

Alt text Alt text Alt text Alt text Alt text

Axis Orientation

Cross is left-anded, Y-up asix oriented. Meaning X - pointing to the right, Y - pointing up, Z - pointing in front of camera.

New Game Creation

In order to create new game you must do 3 things.

  1. Create inherit class from Screen which will be reflection of you current game screen like "Menu", "Level 1", "Monkey Boss" etc. Every game needs at leas one screen to display. Most likely you will override virtual Screen function void Update(float sec); to provide game drawing or state updating mechanism or any your custom stuff.
  2. Create inherit class from Game which will be reflection of you game. You must override one pure virtual function called virtual Screen* GetStartScreen() = 0; to lets Game know which Screen you want to play first. This class usually contains general game information. Like saves, configuration available screens etc.
  3. Last thing to do is Create template function that returns you game to engine environment. This function declaration contains in Cross.h. Example of this function may looks like this:
Game* CrossMain(Launcher* launcher){
	Game* superCoolGame = new YourSuperCoolGame(launcher);
	return superCoolGame;
}

Explorer des projets similaires