Julio Jerez Comments on I '76 Physics
Local Ditch > Interstate '76 > Articles > Dev Game Club Interview
Online podcast Dev Game Club covered Interstate '76 over four episodes in April of 2025. In Episode 3, DGC Discord community member Carlos reached out to I '76 programmer Julio Jerez to ask about the physics and frame rate for Interstate '76. DGC host Brett Douville read the exchange in the podcast starting at 16:49 of the episode. Check out the excerpt below, transcribed (and emphasized) by Local Ditch Gaming.
Carlos: "The models used to simulate real-time 3D physics rely on differential equations, whose behavior can change rapidly because of factors such as collisions, joint constraints, and so on. Because of this, the numerical methods used to solve them have to be very carefully chosen and tuned so as to not to accumulate errors over time. One of the ways to increase stability of the systems is by reducing the duration of the simulation step (increasing the frame rate). However, like Brett said, the computational rounding errors soon become an issue.
"Even with a carefully chosen time step, most methods, especially the ones in a machine in 1997 would be able to compute in real-time, required additional tuning to insure stability specific to the time-step chosen for the simulation. This is why physics engines tend to offer a fixed time step update, which is often a multiple of, or independent from, the game's framerate. In the case of Interstate '76, this target time step was 1/15 of a second. However, the framerate was never capped, which at the time meant the game could run anywhere between 10-20 frames per second depending on the machine, which was well within the (still within) the acceptable range of the simulation. Anything beyond 30 frames per second would make the numerical methods behave in unexpected manners, but that wasn't a realistic issue at the time.
Julio Jerez: "Yes, I was the graphics programmer for Interstate '76. Many games thereafter used my old software rasterizer graphics library. When I joined Activision, the Mechwarrior 2 engine was quite limited in terms of rendering features for I '76. I offered my rasterizer and ended it up replacing the majority of the graphics of the Mechwarrior 2 engine, renaming it the Darkside engine.
"The main game logic part remained untouched. Many of the technical staff refused to modify it, because they were proud of Mechwarrior 2 and its derivatives. The vehicle physics in Interstate '76 actually stems from the Mechwarrior physics. The cars were adapted from the mechs and the lead programmer on this was Daniel Stanfill. I contributed by adding physics elements like tire suspension, which they struggled to stabilize. To fix this, I implemented a second-order digital filter. I worked extensively on the game's pseudo-physics. However as I recall, the physics was not independent of the time step; everything ran in the same loop, which was common for games back then.
"The game was designed to run at 15 frames per second. Anything faster was considered a bonus. I don't even think it had a vsync cap, though I might be wrong, as there were many updates and changes after I moved on to other projects. It's no surprise on a very fast machine, the game doesn't run properly. That's a moot point unless the source code is ever released.
"Yes, the time step is not regulated, or at least it wasn't on the released project. There is no constraint physics of any kind in the game. The suspension on the car is just a second order digital filter. That is, it samples the terrain height, applies that as an input of an equation: y=ax^2+bx+c. X is the relative elevation height; a, b, and c are calculated to resonate at 15hz. It would be okay between 10 and maybe 30hz. Once you pass that sample rate, it's just a low-pass filter. The output is just the c constant.
Carlos: "This fits in with Brett's experience across slopes. The shorter the time step, the smaller the sampled elevation gain would be in the simulation step. With a high enough frame rates, the elevation gain values are zeroed out in the equation above, which leads to the suspension of the car being tied to a simple constant value, resulting in jittery physics.
10/6/26