In this page, Mini-Turbo (or, power-slide turbo boost) is abbreviated as MT.

BizHawk Lua Script

Here is a Lua script for BizHawk that displays lots of useful information for tool-assisted speedruns and a few extra features.
Many of the values displayed are fixed-point 20.12 values in-game, but read and displayed as regular integers by the Lua script. This means that a displayed value of 4096 is actually a 1.0 in-game. To convert between the two, divide by (or multiply by) 4096. So when the game multiplies some value by a fixed-point 20.12 value that is displayed by the Lua script as 2048, it is actually multiplying by 0.5.

Information details

Below is a description of what each piece of information dispalyed on the bottom screen (by the above Lua script) means.
NameExplanation
BoostThe total number of frames left from all boost sources.
MTThe number of frames left for your MT boost, followed by the MT charge timer. The charge timer shows when you can press left or right to charge a MT while drifting. When it shows 1 or lower you can charge your MT.
SpeedYour kart's speedometer. This is usually the primary factor controlling how fast you move, but is not the only one. Hence it is not your "real" speed.
realThe 2D difference between your karts X and Z axis location this frame and the previous frame.
Y SpVertical speed. You move up by this amount each frame. (other things can also affect upward movement)
Your kart's current maximum speed. If this is more than Speed, you can accelerate. If it is less, then Speed immediately decreases to match Max Sp.
Turn lossIf you are on the ground and not drifting, your kart's forward speed is decreased by an amount roughly proportional to the absolute value of Turn loss. It quickly goes up when you turn left on the ground and quickly goes down when you turn right on the ground. If you are not pressing left or right, it decreases by ~10%.
wallOnly appears on-screen, next to turn loss, if you are being slowed down by touching a wall. Your current max speed will be multiplied by this amount before being compared to current speed. This will be lower if you are moving more directly towards the wall.
airOnly appears on-screen, next to turn loss, if you are being slowed down by being in the air. This will only apply if you are in the air without hopping, for at least 5 frames. Your current speed will be multiplied by this amount before being used to calculate movement. Goes up when fast falling and goes down if your movement direction does not match the direction your kart is facing.
Ground/AirTells if you are on the ground or not. The number in parenthesis is the number of frames you have been in the air continuously.
X, Z, YYour kart's "primary" location in 3D space.
DeltaThe difference between your kart's current location and its location on the previous frame.
CollisionHow much your kart was pushed by collision. (by floors, walls, objects)
HitboxThe difference between your kart's "primary" location and the center of your kart's hitbox. This can change depending on your kart's orientation if you are not on flat ground. The hitbox rotates around the primary location, at a distance of just over one hitbox radius.
AngleThis is a 16-bit integer (-32,768 to 32,767) representing the direction your kart is facing. Also called "facing angle".
Drift angleShown to the right of Angle, after the plus sign. (Angle + Drift angle = total) This value is added to Angle to determine the direction your kart is trying to go. It goes up/down while drifting on the ground and gradually returns to 0 when on the ground and not drifting.
DeltaThe difference between your kart's current Angle or Drift angle and the angles from the previous frame, displayed in the same format.
MovementA 3D vector representing the direction of your kart's speed in 3D space. Displayed as X, Z, Y. Multiplied by Speed (after speed is modified by turn loss, air speed, etc) to get the X, Z, and Y distances to move by. (There are other things affecting 3D movement too.) The numbers in parenthesis are the 2D (X/Z) magnitude of the movement vector and its equivalent 16-bit angle.
TargetA 3D vector essentially representing the direction your kart is trying to go. Movement will change by some percentage towards Target each frame (while touching a collision surface like floor or wall). The percentage depends on Surface grip.
PitchYour kart's angle up/down from fast falling or slow falling.
Surface gripThe percentage by which Movement moves toward Target each frame. This is 3500 (or ~0.85) on regular road which makes Movement closely track Target. It is lower on off-road or slippery roads, meaning it takes longer for changes in Target (and, therefore, changes in Angle) to be reflected in Movement.
spSurface speed. Your max speed is multiplied by this value. Changes depending on if you are on regular road of off-road.
normalSurface normal. This really can be ignored since other values should show everything you need. Or just use it to know when you've moved onto a slope. This is the 3D normal vector of the floor you have most recently touched. Look up "normal vector" if you do not know what that means.
steepThe grade (steepness) of the floor you have most recently touched. 0 means flat ground, 1 means a 45 degree angle slope.
bounceOnly shows up if it is not zero. There are 3 types of bounces. Each is a 3D vector that gets added to your kart's movement for the current frame. You can get bounces from touching walls in certain situations, or touching enemies or pinball obstacles.
f0Something related to your kart's orientation. Can be useful for wall-assisted super bounces, but exactly what it does is unknown.
Distance to ghostThe 2D difference between your karts X and Z axis location and the location of the ghost.
Distance to nearest objectThe 2D difference between your karts X and Z axis location and the "nearest" "object". It will also tell you the shape of the hitbox, if it is known. For boxy and cylindrical hitboxes, the X/Z/Y distances or Horizontal/Vertical distances will be shown underneath. Note that not all object types are supported and some are only partially supported.
Checkpoint numberThe most recent checkpoint you've touched. Followed in parenthesis by the key checkpoint ID of the most recently triggered key checkpoint. Checkpoint number determins where you will respawn if you go out of bounds.
There is also some information on the top screen relating to floors and walls. If you click the "View collision" button on the pop-up window that the Lua script creates, it will draw a representation of your kart, nearby surfaces, and the nearest object over the top screen. Your kart hitbox is spherical, except when checking collision with boxy objects. If the nearest object is boxy, a box outline will also be drawn around your kart indicating its hitbox for that boxy object.
The Lua script may show a list of items, repreenting surfaces you are touching, with the form [number]: [f or w or ?], [p or n] [number].
When the visual collision viewer is turned on, there are several things drawn on the screen.

Tricks and game mechanics


GameResources/DS/MarioKartDS last edited by Suuper on 11/3/2024 6:06 AM
Page History Latest diff List referrers View Source