I'd like to use a game such as Bolt Thrower as a learning project. It's a Wii homebrew game with publicly available source code, and I'm interested in getting it running on Mac and PC. The gameplay seems fairly simple, so I was wondering how difficult this would be for a beginner and what steps I should follow to learn the necessary skills. What should I study first, and how should I approach replacing the Wii-specific parts of the code?
3 Answers
This is probably much larger than a beginner project. Even with source code available, you may need to replace Wii-specific APIs, rendering, input, audio, build configuration, and platform assumptions. A simple game design doesn’t necessarily mean simple code. You could spend a long time changing code before you have anything visible running.
A good way to approach it is to replace one system at a time instead of trying to make the whole project work immediately. Start by identifying the Wii-specific rendering code and replace it with a basic graphics layer on your target platform. Stub or disable systems you haven’t ported yet, then gradually restore gameplay, input, audio, and other features. Getting a minimal loop that displays something will make debugging much easier.
Before tackling the port, build up your general programming skills with smaller projects. Learn the language used by the source, the Wii’s APIs and architecture, and the APIs available on Mac and PC. Porting usually means mapping each source-platform feature to an equivalent on the destination platform and writing new code to connect everything. A small graphics demo or simple game engine project would be a much better first step, after which you can return to the larger port with more confidence.

That makes sense. I’ll try to get a basic loop and display working first instead of changing everything at once.