magnolia

lightweight C engine for Wii homebrew games

A lightweight C engine for Wii homebrew by magmacrunch media. It handles initialization, input, rendering, scoring, audio, and the game state shell, so you only write the gameplay. Built with devkitPPC and GRRLIB.

📚

API Reference

153 functions across 12 modules. Interactive search, module tabs, code examples with syntax highlighting.

🛠

Scaffold

Generate a new game project with the magnolia engine pre-configured.

coming soon

modules

core Engine init, SD mount, asset paths
renderer Video, font, frame presentation
sprite Textures, sprite sheets, mirroring, origin-based drawing
input Up to four Wiimotes: press, hold, release, snapshots
audio PCM16 SFX and music playback
scoring High-score tables with SD JSON persistence
gamestate Title, menu, play, pause, initials, scores
ui_utils 640x480 design-space drawing, overscan-safe
clock Frame counter, delta time, fixed timestep, easing
prefs Player settings with SD JSON persistence
menu Grid/list cursor with wrapping and scrolling
theme HSL palette generator, complementary colors

getting started

Scaffolding a game, once you have the engine:

cd ~/game_dev
../magnolia/tools/new-game.sh my-game
cd my-game && make

PolyForm Noncommercial 1.0.0 · Copyright 2026 magmacrunch media. Apache-2.0 until 2026-10-15.

// source access //

magnolia is developed in-house and is not publicly distributed. The API reference above documents every function across the twelve modules, and the games built on it are playable in the arcade.

For source access, licensing, or anything else, email info@magmacrunch.com.