How would I go about making a Flight Gear port for WiiBrew? Or, better yet, how would I convince someone else to?
You'd download the source (and "base package", I guess), get hold of a development environment for WiiBrew, and get to work. FlightGear is written in C++ using SDL, OpenAL and OpenGL, so investigating platform support for those basic packages is a handy first step to take. The fewer of the dependencies that need porting, the easier the port will be.
Not sure how to evaluate system requirements, Flight Gear seems to be geared towards a high-end PC (they mention 2-3 GHz of CPU speed), the Wii is not quite in that ballpark.
The convincing-part is hardly a technical question, that's more about social hacking. :)
How would I go about making a Flight Gear port for WiiBrew?
"Porting" any non-trivial application is at least two-fold: technically, you'll first have to get the source code for all dependencies to compile everything for your target platform, i.e. by using a cross-compiler and simulator/emulator to actually test your executables.
So, you will need a complete build/test environment to build and run executables for your platform: first, get to compile all required dependencies (some of which may have their own dependencies!), which mainly seems to boil down to:
- plib
- SDL
- (pthreads: linux)
- OpenAL
- OpenSceneGraph
- simgear
Instructions for building FlightGear can be found here, here and here
However, apart from just compiling the source code, you'll also need to ensure that the application can realistically be run on the target platform: (wii hardware specs).
This however, doesn't seem to be straightforward in the case of FlightGear: the FlightGear hardware recommendations read "OpenGL-based hardware acceleration","256 MB dedicated graphics memory", "1-2 ghz CPU", "512-1024 MB RAM", "400-500 MB disk space"
So, even if you get to compile the source code for your target platform, this particular target platform looks not suitable in this case, for this application - due to its runtime hardware requirements.
In fact, searching the FlightGear forums brings up a related discussion about running FlightGear on embedded (game console/mobile) platforms.
The summary of this discussion would read "FlightGear is not optimized for use in such confined environments". Basically, this seems far from trivial: even if you manage to compile all dependencies, FlightGear itself will still need to be significantly modified/reengineered for embedded use.
In addition, just being able to technically compile and run (with acceptable performance/framerates) the code would still not be enough: from a usability point of view, FlightGear is a flight simulator designed for use on personal computers, with certain peripherals present - in other words, it basically relies on a keyboard and mouse, as well as other input hardware (joystick/pedals).
So, even if you manage to port FlightGear to a viable target platform, it would still need to be modified for non-PC use.
The disk space requirements could probably be significantly reduce if just a certain subset of the previously mentioned "base/data package" (which is where scenery, aircraft etc are stored) were to be used.
Or, better yet, how would I convince someone else to?
It's definitely a non-trivial task that cannot be easily accomplished, so while it's certainly possible, it would require a good amount of time or money.
So, if you have the funding available, you could try to outsource this effort using freelance sites such as rentacoder/elance etc - in fact, you could just try to request offers for such customizations.
If you don't have any funding available, you could try to get in touch with the manufacturers of the target platforms that could benefit from such an effort. Maybe they would be even willing to help sponsor/support such an effort?
In fact, most of the re-engineering required would not be specific to just one device, but would generally be useful for all efforts related to porting FlightGear to non-PC platforms, no matter if it's nintendo wii, sony playstation, apple iphone ...
In general, it would probably be a good idea to contact the FlightGear developers team and discuss your idea with them, they are probably the best source for information regarding how feasible such an effort would be.