Alchemy
Alchemy is my 2D game engine/framework I built from scratch to satisfy my curiosity, challenge myself, and grow as a programmer. It’s written in C with OpenGL and the Win32 API, and it relies on only a few libraries: FreeType 2 for text rendering, stb_image for image loading, cglm for math support, and nuklear for UI layout.
Alchemy’s renderer supports drawing shapes, sprites, text, and UI, with built-in keyboard, mouse, and gamepad input, plus basic audio playback. Alchemy makes it easy for games to be packaged as a DLL, enabling hot code reloading without the need for a separate scripting language.
Highlights
- Hot reload game code: Package game code as a DLL and rebuild with the engine is running to instantly see changes.
- Input looping: Set up looping input and game state for easier debugging or tuning—especially powerful when combined with hot reloading.
- Formatted text: Render text with vertical and horizontal alignment, word wrapping, and automatic shrinking to fit within bounds.