Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yoyoengine/yoyoengine
A custom, hackable 2D game engine written in C.
https://github.com/yoyoengine/yoyoengine
c engine game-engine sdl2 sdl2-image sdl2-mixer sdl2-ttf yoyoengine
Last synced: about 2 months ago
JSON representation
A custom, hackable 2D game engine written in C.
- Host: GitHub
- URL: https://github.com/yoyoengine/yoyoengine
- Owner: yoyoengine
- License: other
- Created: 2023-08-18T02:22:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-20T19:54:03.000Z (3 months ago)
- Last Synced: 2024-10-21T00:27:48.502Z (3 months ago)
- Topics: c, engine, game-engine, sdl2, sdl2-image, sdl2-mixer, sdl2-ttf, yoyoengine
- Language: C
- Homepage: https://zoogies.github.io/yoyoengine/
- Size: 23.3 MB
- Stars: 10
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![wakatime](https://wakatime.com/badge/user/3e73d21c-9ccb-4e77-ab4d-6f58f0296cfa/project/d703c117-3f87-4f6f-96f5-e0c40088a6a0.svg)](https://wakatime.com/badge/user/3e73d21c-9ccb-4e77-ab4d-6f58f0296cfa/project/d703c117-3f87-4f6f-96f5-e0c40088a6a0?style=for-the-badge)
![GitHub repo size](https://img.shields.io/github/repo-size/zoogies/yoyoengine)
![GitHub Tag](https://img.shields.io/github/v/tag/zoogies/yoyoengine)---
A custom, hackable 2D Game Engine written in C.
Check out the hand-crafted documentation website **[here](https://zoogies.github.io/yoyoengine)**.
For advanced C developers, you can generate Doxygen documentation with `doxygen Doxyfile` in the `engine` directory.
#### Head on over to [the yoyoengine hub](https://github.com/yoyoengine/launcher) to download the latest editor release.
## 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](https://github.com/zoogies/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](https://www.libsdl.org/) (windowing, rendering, audio, input, networking, etc)
- [Nuklear](https://github.com/Immediate-Mode-UI/Nuklear) (UI)
- [Uthash](https://github.com/troydhanson/uthash) (Hash tables)
- [Jansson](https://github.com/akheron/jansson) (JSON parsing)
- [Lua](https://www.lua.org/) (Scripting)
- Custom Entity Component System
- Custom binary packing format for assets, with [zlib](https://zlib.net/) 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](https://github.com/zoogies) or [Itch.io](https://zoogies.itch.io/).
You can get in touch with me through my [portfolio](https://zmuda.dev), 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](https://linktr.ee/kaidiak), for producing the engine splash screen sound effect.
- Ben Mathes, for creating icons used in the editor.
- The [SDL discord](https://discord.gg/BwpFGBWsv8), a must join community if you use SDL.