8000 GitHub - oh-facts/mizu: game engine
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

oh-facts/mizu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

8mb.video-AKi-W9TIfiN8.mp4

Mizu Mizu Game Engine 1 million

C++ game engine

Table of Contents

About

Hi, this is my game engine. Nice to meet you. Goodnight.

8/30/24

Build

If main doesn't work, stable probably will

Arguments: clean, platform, release, debug, app, cloc, run, meta

Windows

./build.bat meta debug platform app

Linux / Mac

SDL3 and box2d 3.1 need to be installed. Also, this doesn't compile on linux/mac yet. I am fixing the compiler errors one by one. I get bored sometimes. Give it a crack if you want. Its all platform related. clang and gcc are also valid args.

./build.sh meta debug clang platform app

Contributions

Open issue and make pr for anything. Off the top of my head, nothing comes to mind. If you want, you can attempt a linux / mac port. Linux port will require making sure it compiles and updating build.sh to match the current build.bat. For a mac port, you'd likely have to make an opengl 3.3 backend for the renderer. This would be quite a bit of work since the 4.5 backend is about 900 loc.

Project Structure

  • backends/ : opengl, win32 and linux backend code
  • generated/ : Generated code. Usually implicit params and templates.
  • meta/ : Metaprograms
  • third_party/ : external libraries, currently SDL, glad, box2d and stb
  • base.cpp : utility functions.
  • context.cpp : libc replacements + platform context cracking
  • draw.cpp : high level renderer layer. Handles batching.
  • editor.cpp : ui abstraction to make gfx tools
  • main.cpp : entry + game
  • os.cpp : OS abstraction. Mainly windowing and memory.
  • render.cpp : low level renderer layer
  • texture.cpp : texture cache
  • ui.cpp : immediate mode UI layer.

About

game engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0