Revolution Engine

From WiiBrew
(Redirected from Revolutionengine)
Jump to navigation Jump to search
Revolution Engine
TypeGame engine
Wiimote4.svg SensorBar.svg Nunchuck alternative.svg GameCube Controller Wii Zapper Loads files from the Front SD slot USB mass storage device

Revolution Engine is the very First homebrew 3D Game Engine for Wii. It is directly based on GX without any GL wrapper or anything similar. Natively designed for the Wii, this engine is probably capable of generating the best homebrew graphics ever seen on this game console.


This is not a game, rather a library you can use to make your own 3D games for the Wii in a very easily.


This project started in early 2008, on a Spanish forum. The idea was to create a complete game engine that almost anyone can easily use to quickly create amazing games. Core ideas that have always lead this project are:

  • Ease of use
  • If something has to always be done by the user, then it should be done automatically by the engine
  • Taking advantage of hardware to improve performance
  • High quality graphics and effects

First release of Revolution engine was in July 2008, with a very limited set of features, but as new versions arise features multiply and the engine becomes a useful tool, capable of so many things.

Version 0.4

Revolution Engine 0.4 is the first mature version of the engine, and so the first version published here at WiiBrew. It's being released through various steps for better feedback, and for creating a better result for the final release. This is why Revolution engine 0.4 is released in alpha versions before being complete.

Version 0.5

More than a year later, a new version is released. With this version, the engine has been completely re-written and ported from C to C++. For the first time, this version of the engine comes with precompiled demos with source code that will help people learn how to use it faster. This version of the engine has been designed with flexibility and extensibility in mind. Users can create their own model format loaders and renderers, use their own materials, etc...and they will be fully compatible with the core engine.

Version 0.5.1

Change log:

  • Better memory management
  • Added an advanced screenshot function
  • Added offClick onOver and offOver functions to buttons
  • Added getType, getParent, getNext and getChild functions to N2D and NODE classes
  • Improved directional lights constructor
  • new type(WINDOW) for 2d system
  • Added a custom expansion for 2d nodes and 3d nodes. This will allow more flexibility.
  • Increased flexibility of Tev system (now using more efficiently, same number of TEV stages let you do a little more)
  • Lighing speed boost, speed up the engine about 8%

Current Features

Revolution Engine 0.5 Supports:

  • 3D System
    • Node based system, with virtually unlimited attach hierarchy levels
    • Advanced transparency, z-ordered
    • Custom file formats for 3D meshes, for optimal use of resources
    • Vertex lighting, software based
    • Multiple cameras with multiple target viewports
  • Material system
    • Textured objects
    • Diffuse color
    • Diffuse maps
    • Specular color
    • Specular maps
    • Transparency
    • glossiness
    • Specularity
    • Mixed through TEV, Multiple TEV stages
    • Multiple shaders
  • 2D system, GX based (hardware rendered)
    • Node Based, as 3d space
    • Multiple layers
    • True type texts
    • Multiple Viewports
    • Solid panels
    • Image-based panels
    • IR pointers for up to 4 players
    • Buttons
    • Windows
    • Transparency
  • Miscellaneous
    • Highly configurable
    • Extensible design
    • Advanced screenshot function