Skip to content

A lightweight, open-source C# and C++ game engine designed for flexibility, modularity, and real-time development workflows.

License

Notifications You must be signed in to change notification settings

watermann420/GameEngien

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

image logo banner

GameEngine

Status Join Discord

Lightweight C++ prototype for a Win32 overlay/renderer with cross‑platform stubs. Ships with a headless renderer, simple physics helpers, and placeholders for future MusicEngine audio integration.

Features

  • Borderless overlay window with a clickable blue box; exit via click, ESC, or right‑click.
  • Headless render on startup to headless_output.bmp (800x600) via Renderer2D.
  • Audio hook: PlayMusicEngineNote currently triggers a MIDI/WinMM ping; ready to swap to MusicEngine DLL.
  • Cross-platform target in CrossPlatform/ using CMake, free of Win32 APIs.
  • Script samples (C# and C++) for MusicEngine DLL calls and smoke tests.

Project Layout

  • GameEngine/ – Win32 entry point and overlay composition. +- GameEngineCore/ – Core renderer, colliders, physics stubs, audio hook, sample scenes.
  • CrossPlatform/ – CMake target GameEngineCross (Windows/Linux); writes headless_output_cross.bmp.
  • MusicEngine_Linux/ – Stub placeholder awaiting the real MusicEngine sources.
  • scripts/ – Smoke tests and scripting examples (run_smoke_tests.cpp, C# integration scripts).
  • tests/ – AI-oriented harness notes and GameEngine.Test project.

Build & Run (Windows, Visual Studio/Rider)

  1. Open GameEngine.sln.
  2. Build GameEngine (Debug|x64 recommended).
  3. Run: overlay appears centered; click/ESC/right‑click closes; headless_output.bmp is produced in repo root.
  4. Optional: build tests/GameEngine.Test for a smoke sequence (audio ping, render throughput, overlay).

Build & Run (CrossPlatform / Linux)

cmake -S CrossPlatform -B build-cross
cmake --build build-cross
./build-cross/GameEngineCross          # Linux
build-cross\\Debug\\GameEngineCross.exe  # Windows MSVC

Outputs headless_output_cross.bmp and exercises core physics/render stubs.

MusicEngine Integration Notes

  • Windows: swap PlayMusicEngineNote to call the MusicEngine DLL (see scripts/csharp/MusicEngineIntegration.csx).
  • Linux: replace MusicEngine_Linux/src with real sources and adjust CMakeLists.txt.

License

This project is released under the Music Engine License (MEL). See LICENSE for terms.

About

A lightweight, open-source C# and C++ game engine designed for flexibility, modularity, and real-time development workflows.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Packages

No packages published