Skip to content

r-lyeh/v3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Framework to build Game Engines.

Screenshots

TBD

About

  • v3 is a minimal C framework to help you build custom, scalable game engines.
  • v3 is modular at its core, allowing you to toggle or replace its APIs at runtime.
  • v3 is community-driven, enabling developers to create and share extensions without requiring approval.
  • v3 is a major overhaul of the earlier v2 and v1 iterations.
  • v3 is lighter and more flexible than previous v2 and v1 efforts.

Features and roadmap α••(ᐛ)α•—

  • Modern C++ Simple C.
  • Royaltie fee Free.
  • Licensing clauses Nope.
  • Full featured Extendable.
  • Rich build system gcc v3/v3.c
  • Ecosystem: Community-driven by design, via extensions.
  • Modular: Module APIs can be toggled, replaced or switched at runtime.
  • Compilers: MSVC, GCC, clang, clang-cl, mingw.
  • Desktops: Windows, Linux, OSX. Emscripten (untested).
  • App: window, icon, cursors, alerts.
  • Input: Keyboard, mouse, battery and gamepad (untested) devices.
  • Archives: DIR, ZIP.
  • Images: PNG, JPG, TGA, BMP, PSD, GIF...
  • Scripts: Lua and Teal languages included.
  • UI: buttons, sliders, checkbox, colors, popups.
  • Time, timers, threads and coroutines (planned) utilities.
  • Logger, callstacks, memory leaks finder, unit-tests.
  • Resources: embedded into binary automatically.
  • Compression: Deflate.
  • Documents: JSON, JSON5, SJSON, XML, INI.
  • Upgrade V3. How to Install extensions.
  • Extend V3. How to Publish and Share your extensions.

Minimalism everywhere. Why?

v3 is a minimal C framework that omits standard systems (e.g., rendering, audio, math libraries, or asset tools) unless specific extensions are added. This deliberate choice lets developers integrate their preferred tools to build a tailored game engine, enabling game creation with minimal bloat. Key benefits include:

  • Freedom of Choice: Developers can select libraries that match their preferred syntax or performance needs, avoiding rigid or unfamiliar APIs.
  • Lightweight & Portable: A small footprint boosts performance on low-end hardware and simplifies cross-platform development.
  • Customizable & Scalable: Build only what you need, from simple to complex projects, without unnecessary features.
  • Clear & Maintainable: A lean codebase enhances understanding, reduces overhead, and eases debugging.
  • Community-Fueled: The "bring your own tech" approach encourages community to experiment with new directions for v3, driving its future through innovative contributions.

Quickstart

  • Double-click MAKE.bat file. Linux/OSX users can invoke sh MAKE.bat instead.
  • Other commands,
    • MAKE tidy to clean environment.
    • MAKE sync to sync repo to latest.
    • MAKE plug to un/install extensions.
  • Alternatively,
echo win/vc       && cl  hello.c                  
echo win/clang    && clang hello.c                
echo win/clang-cl && clang-cl hello.c             
echo win/mingw    && gcc hello.c -lgdi32 -ldbghelp
echo linux        && cc hello.c -lm -ldl -lXrandr 

Extensions

  • Currently, all these extensions are hosted on github.
  • It is planned that the hello demo will be used to un/install extensions in the future.
  • For now, you can un/install extensions via MAKE plug script:
    • MAKE plug dir
    • MAKE plug [add|del|syn] *
    • MAKE plug [add|del|syn] user/repo
    • MAKE plug [add|del|syn] @filelist.txt

Credits

Runtime Dale Weiler and Bach Le, Lua authors and Eduardo Bart, Riley Mabb, Rxi, Sean Barrett et al., Teal authors,

License

This software is MIT-0 licensed (No Attribution clause). Any contribution to this repository is implicitly subjected to the same licensing conditions aforementioned.

Links

Still looking for alternatives? Have some:

amulet, aroma, astera, blendelf, bullordengine, candle, cave, chickpea, corange, cute, dos-like, ejoy2d, exengine, game-framework, gunslinger, hate, horde3d, island, juno, l, limbus, love, lovr, mini3d, mintaro, mio, ofx, olive.c, opensource, ouzel, pez, pixie, punity, r96, ricotech, rizz, rvnicraven, tigr, yourgamelib,

Issues Discord

About

πŸ’Ž Framework to build Game Engines, v3.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages