User:Vabold
Hi, I'm vabold. I'm a Mario Kart Wii reverse engineer and an intermediate code contributor to MKW-SP. You can find current information on my two focused projects here.
Project Kinoko
Project Kinoko is the decompilation and subsequent rewriting of Mario Kart Wii's physics engine. Kinoko will receive a frame's inputs, run the physics engine on that frame with those inputs, and send the physics state back. Its intended use is to serve as a black box for machine learning algorithms, with an emphasis on speed. The goal is to recompile the engine into a DLL.
The current classes that have been decompiled for Kinoko are as follows:
- Decompiled Classes
- [x] ResourceManager (responsible for managing SZS files in memory)
- [x] RaceConfig (responsible for initializing values for racers, e.g. vehicle/character)
- [/] CourseMap (responsible for holding the course's KMP)
- [-] RaceManager (responsible for updating the race state, e.g. players' countdowns and placements)
- [-] CourseModel (responsible for holding the course's KCL)
- [-] game/kart (responsible for updating players' position/rotation - this is an entire folder of classes!)
- [-] game/item (responsible for updating players' items - only certain classes in this folder apply!)
"x" - Finished "/" - In Progress "-" - Haven't Started
Client/Server Netcode
One of MKW-SP's in-progress features is to move away from Wiimmfi and peer-to-peer races. Instead, clients will send information to a server responsible for overseeing the race, and the server will send relevant information about other players back. The current progress is that the clients successfully load into a race with a voted course and correctly configured players. The next step is to load the server into the race as a spectator.
You can view the current progress of this feature here!