Physics

The physics in MapleStory are purely geometric and involve no pixel checking.

How to handle physics
The physics behind player and mob jumps/falls are based off traditional kinematic equations. Values for all measurements can be found in Map.wz/Physics.img/*. All units are in pixels/seconds. For example, gravity is listed as "2000" under "Map.wz/Physics.img/gravityAcc". The units for which (acceleration in this case: length / time^2) would be px/s^2 (pixels per second squared). Walk speed given in "Map.wz/Physics.img/walkSpeed" is listed at "125" corresponding to 125 px/s (pixels per second). The walk speed provided is the maximum speed achievable with traditional movement for characters with no additional speed improvements by skills or items. Keep in mind that a powerful knockback from a boss skill is an example where a character can move faster than walk speed. Speed improvements are simply added on to the base speed.

Forces and frictional forces are also at play to increase/decrease player velocity to reach the given target velocity. Given a stationary character, pressing right or left will not get the player to immediately reach the maximum velocity. Likewise lifting off the movement key will not cause the character to stop immediately. Instead, forces and friction are used to incrementally increase/decrease the speed to obtain a realistic change in velocity. The forces on snow-less land are strong enough that many players do not notice. Locations where player acceleration are shown more prominently are locations such as El-Nath (snowy regions). In snowy regions, acceleration components are easily seen with sluggish responses and sliding changes in comparison to on typical land.

Physics.img
This section shows various entries located in "Map.wz/Physics.img/". Each entry is listed with the associated name, value, applicable units and optionally a note further describing its usage.

fallSpeed = 670 px/s (Maximum speed falling in the downwards direction)

gravityAcc = 2000 px/s^2

jumpSpeed = 555 px/s (velocity component along the y-axis)

swimSpeed = 140 px/s

walkSpeed = 125 px/s (Base speed of a character)