This page needs help! Please submit any missing information via GitHub issues or pull requests.

The physics engine of Halo 1 is an in-house implementation which simulates the movement of dynamic objects like units, items, projectiles, and point_physics dynamics systems like particle_system and weather_particle_system. Unlike Halo 2 and later titles, Halo 1 does not use any middleware like Havok.

Different object interactions are simulated in different ways. For example, vehicles use physics to drive themselves, collide with scenery and the BSP, and collide with other vehicles, but their model_collision_geometry is used in collisions with projectiles, bipeds, and particles. The scenario_structure_bsp collision BSP is tested differently for vehicles and projectiles than it is for players, making phantom BSP more apparent.

Limits

Vehicles cannot exist below approximately -4,950 world units in the Z (vertical) axis. Vehicles spawned at this extreme distance will sit on an invisible floor and return to the floor if moved below. This is not far from the -5,000 world unit limit for the game camera. Vehicles can freely move beyond 5,000 units in a horizontal axis.

Related commands

These commands are entered into the developer console.

Function

(<void> physics_constants_reset)

Resets all physics constants to earthly values.

(<real> physics_get_gravity)

Get the current global gravity acceleration relative to Halo standard gravity.

(<void> physics_set_gravity <real>)

Set global gravity acceleration relative to Halo standard gravity. The change in gravity is NOT network synchronized.