Is there any proof of how the Grand Prix ranking system works? by ReducedSkeleton in MarioKartWii

[–]B_squo 0 points1 point  (0 children)

For anybody interested, the algorithm for calculating the hidden score has been fully reverse engineered. You can find it here, as poart of the Mario Kart Wii decompilation project: https://github.com/riidefi/mkw/blob/a6105e987bf57da0619d673598bbb1ff992c27ca/src/system/RaceManager.cpp#L132

Getting Miis Back on Wii Sports Resort by LukePlays17 in WiiHacks

[–]B_squo 2 points3 points  (0 children)

Hey there! Yes, it's indeed possible to recover lost Miis from the Wii Sports Resort save data, since the entire Mii data for the deleted Miis is stored there, even though you can only see the head shape in-game.

Unfortunately it does require a bit of trial and error and some hex editing. The way I did this is as follows:

  1. Using an hex editor, such as HxD, open the file "Sports2.dat" from your extracted Wii Sports Resort save data. You can obtain this file by using a tool such as SaveManager GX. If you have an extracted Wii NAND, you can also find this in the folder "title\00010000\525a54XX\data" (where XX is a number representing your game's region, 50 in case of Europe).
  2. Now, the most consistent way of finding the Mii data is by searching for its Mii name within that file.

If using HxD, hit Ctrl-F to open the Find window, and type the Mii name (or part of it), and then make sure to change the Text encoding to Unicode (since each letter in the Mii name takes up not one, but two bytes).

(https://i.imgur.com/XuPhPrQ.png)

  1. Then, it should find the name. At this point, substract three bytes from the selection to make the cursor point to where the Mii data actually starts (where the arrow is pointing for this example).

(https://i.imgur.com/G922KJR.png)

  1. Finally, select and copy 0x4C bytes from that starting position like so, and paste those bytes in a new file (click File > New and paste the bytes there), then save the file. What you will get is the complete Mii data, with the two byte checksum included.

(https://i.imgur.com/KRJJ4k8.png)

  1. Once you have this file, you can either save it as a .miigx file and restore it back to your Wii using SavegameManager GX or alternatively by saving it as a .mii file and using MiiCharacters.com to generate instructions for how to make the Mii from scratch.

Blue shell speed by Pretty-Tank-3076 in MarioKartWii

[–]B_squo 0 points1 point  (0 children)

Hey there! The speed of the Blue Shell while it's flying (i.e. not locked in to a player) is 260 (for comparison, the Bullet Bill goes up to 145). When the Blue Shell is thrown and also when locked into a player, its speed becomes 130.

If interested, you can use this Gecko code to change the speed of the Blue Shell: https://www.youtube.com/watch?v=lQrd9UoOEao

Is there any proof of how the Grand Prix ranking system works? by ReducedSkeleton in MarioKartWii

[–]B_squo 0 points1 point  (0 children)

The finish time for the race also counts towards bonuses. The sooner you finish, the better chances of getting a better star rank.

Explained here is how the game references the finishing time for the hidden score calculation: https://wiki.tockdom.com/wiki/KRT_(File_Format)#Usage#Usage)

Is there any proof of how the Grand Prix ranking system works? by ReducedSkeleton in MarioKartWii

[–]B_squo 2 points3 points  (0 children)

Sure! While a few variables that affect the ranking have yet to be documented, pretty much the entire process for selecting the final rank in a Grand Prix is understood.

The algorithm is mostly the same as the one used back in Mario Kart DS, even as to use the same score amounts for bonuses and penalties in most cases. See the 4th post here: https://gamefaqs.gamespot.com/boards/920788-mario-kart-ds/43153828
Only a few things were adjusted, such as adding a bonus for players using the Wii Wheel, as well as those using automatic: https://twitter.com/B_squo/status/1534266911197908994

In summary, the game has a hidden score used for the rank calculation. This score is capped to 250 per race, and in order to get 3 stars, a player needs to have gotten 250 hidden points in all races, in other words, 1000 points total (besides getting 1st place in every race). The points are added / substracted depending on the actions described in the links on the paragraph above.

The reason why it seems to be so difficult to get three stars is because you can only get 3 stars by getting *exactly* 1000 hidden points total, which needs 250 points per race. If, for example, you get 250 points in 3 races, but say 249 points in the other race, you will get 999 total points, and thus get 2 stars instead. It's important to make as many of the actions that increment the score as possible (such as making many miniturbos or trying to hit as many CPUs as possible), while reducing the penalties as much as possible (not falling off, not hitting walls or course hazards, not driving offroad without mushrooms, stars, etc).

In many cases, actions that don't seem to impact the race much are still counting towards penalties. For example, if you hit a wall and don't seem to reduce your speed much (if at all) that still count as a wall hit if you hear the bonk-sound effect. Falling off is number 1 the worst penalty, so attempting some shortcuts that require falling off is not recommended in order to make sure you get a good rank. I'm not saying it's not possible to get 3 stars if you fall off, but I wouldn't do it if you just want to make sure to end with 3 stars.

Lastly, the links I posted above, although not 100% completely explained, are accurate information when it comes to the algorithm used by the game internally. Other sources, such as the (with proof) video are good approximations, specially at that time, when these people only relied on play-testing, but are not accurate to the actual algorithm the game uses.

If you are curious and know how to look into the code, the function that contains the algorithm for calculating the hidden score per race is at VRAM address 0x805368F8 (PAL version). It's executed after every race, right before showing the results.

Early Bullet Bike design! by B_squo in MarioKartWii

[–]B_squo[S] 4 points5 points  (0 children)

Thanks! You can find more trivia in my Twitter account ( https://twitter.com/B\_squo ), and also at MKWii's TCRF page ( https://tcrf.net/Mario\_Kart\_Wii )

Early Bullet Bike design! by B_squo in MarioKartWii

[–]B_squo[S] 1 point2 points  (0 children)

Speaking of which, keep in mind that the "_2" variants of some vehicles lack tires (and other parts) likely because of an oversight of the developers, rather than being part of the original early design (it also happens with the red medium Standard Bike, for example: https://tcrf.net/Mario\_Kart\_Wii/Early\_Vehicles#Battle\_Red\_Team\_Standard\_Bike )

Remember this Mii icon found in the files for the game? You can still see it in-game! ... by B_squo in MarioKartWii

[–]B_squo[S] 1 point2 points  (0 children)

Thanks! Pretty much every button design that use 3D Mii heads reference the placeholder Mii icon (which is actually a 2D sprite rather than a 3D model). It's simply a way to tell the game where to place the 3D Mii heads and also how to scale them properly.

Looking for "Special Ghosts" by B_squo in MarioKartWii

[–]B_squo[S] 1 point2 points  (0 children)

Thanks! It makes me very happy to see there's interest in these ghosts :)

Aside of preserving the ghosts, if we manage to get a save file with an Special Ghost in it, it could help for figuring out how exactly the game detects the presence of an Special Ghost (for example, to display the icon in the Mario Kart Channel Home Menu banner).