Skip to content

IrritatedLemon/yoyoengine

 
 

Repository files navigation

License: MIT wakatime GitHub repo size GitHub Tag


A custom, hackable 2D Game Engine written in C.

Check out the hand-crafted documentation website here.

For advanced C developers, you can generate Doxygen documentation with doxygen Doxyfile in the engine directory.

What?

Yoyoengine started as a small game in SDL, and evolved into a fully featured, general purpose 2D game engine.

Feature List:

  • Easy to use visual editor
  • Multi platform support (Windows, Linux, Web)
  • Basic Networking through SDL_net
  • Asset bundling by default, for optimized builds.
  • A plugin system, with a few premade plugins for things like Discord RPC (see yoyo-rpc)
  • Generic Gamepad and Controller abstraction layer
  • First class Lua scripting support, with native C scripting for complex or performance critical tasks

Tech Stack:

  • SDL2 (windowing, rendering, audio, input, networking, etc)
  • Nuklear (UI)
  • Uthash (Hash tables)
  • Jansson (JSON parsing)
  • Lua (Scripting)
  • Custom Entity Component System
  • Custom binary packing format for assets, with zlib for compression
  • Custom physics and collision system

Why?

In May 2023, I started working on a visual novel game in SDL2 as a way to learn C for the very first time. While I have yet to finish that game, the dopamine loop of working with a lower level language quickly spiraled me into a scope creep grind, and I ended up with a fully featured, general purpose game engine.

Who?

Zoogies.

I work on random projects of interest, and occasionally build games with this engine.

Feel free to check out my work on GitHub or Itch.io.

You can get in touch with me through my portfolio, on discord @zoogies, or by opening an issue on this repository. I don't usually check my email, but you can try that too.

Credit

  • The listed dependencies, for making this project possible.
  • Kaidiak, for producinig the engine splash screen sound effect.
  • Ben Mathes, for creating icons used in the editor.
  • The SDL discord, a must join community if you use SDL.

About

A custom, hackable 2D game engine written in C.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 83.5%
  • Lua 11.2%
  • CMake 3.5%
  • Shell 1.1%
  • Python 0.7%