Skip to content

dtonna/markmos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Markmos Engine

A cross-platform game engine built from scratch — Metal backend for iOS/macOS, Vulkan backend for Android.

Written in C++23 with no exceptions, no RTTI, and no engine hiding the details from you.

Screenshots

Features

  • Renderer abstraction — Metal (iOS/macOS) and Vulkan (Android) behind a unified RHI
  • Sokol-style architecturemarkmos_main() as the single cross-platform entry point
  • Audio via miniaudio
  • Memory via rpmalloc
  • Job system for multithreaded tasks
  • Sprite batching with draw call sorting
  • C++23 — no exceptions, no RTTI, no unnecessary abstractions

Build

iOS (device)

cd engine
./build-ios.sh

iOS (simulator)

./build-ios-sim.sh

Android

cd engine
./build-android.sh                    # debug APK
CONFIG=Release ./build-android.sh     # release APK

Project Structure

engine/
├── core/          # Memory, VFS, job system, utilities
├── render/        # Renderer, shaders, sprite batch
├── rhi/           # Metal/Vulkan backends
├── app/           # Platform entry points (iOS, Android, macOS)
├── thirdparty/    # rpmalloc, miniaudio, simdjson, stb, metal-cpp, VMA
├── shaders/       # GLSL sources (Vulkan)
└── entry/         # Game entry point

License

MIT

About

Cross‑platform 2D game engine with Metal (Apple) and Vulkan (Android) backends. C++23, zero virtual dispatch, SoA layout, slotmap handles, bump allocators, job system, sprite batching.

Topics

Resources

License

Stars

Watchers

Forks

Contributors