IT-lexicon › Programmeren › Deterministische simulatie

Deterministische simulatie

Programmeren Svenska → Bijgewerkt: 2026-10-26

Een gameloop die uit dezelfde invoer op elke machine bit voor bit identieke resultaten oplevert — de voorwaarde voor lockstep-multiplayer en replays.

Als twee computers dezelfde invoer verwerken en in dezelfde toestand eindigen, hoeft er alleen invoer over het netwerk, niet de hele wereld — de basis van lockstep-strategiegames als Age of Empires en StarCraft. Dat te bereiken is lastig: floating-pointrekenen geeft op verschillende cpu's en compilers net andere uitkomsten, de iteratievolgorde van hashmaps verschilt, en elke ongeseede willekeur loopt meteen uiteen.

Studio's lossen dit op met fixed-pointrekenen of zorgvuldig vastgezette floatinstellingen, deterministische containervolgorde en geseede RNG. Dezelfde eigenschap maakt compacte replaybestanden mogelijk (sla de invoer op, speel de sim opnieuw af) en rollback-netcode. Eén niet-deterministische regel veroorzaakt 'desyncs' die vreselijk lastig te debuggen zijn.

← Terug naar het lexicon