User:Vabold

From Custom Mario Kart
Revision as of 12:42, 20 November 2022 by Vabold (talk | contribs) (Add correct formatting for legend)
Jump to navigation Jump to search

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!)
Legend
"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!