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 many standard systems by default, 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 linux        && cc hello.c -lm -ldl -lXrandr 
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 -lole32 -lwininet

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? 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