In dit geval heeft nintendo de game inderdaad op de oude manier geprogrameerd zo te zien, waar alles wat er op het scherm gebeurt afhankelijk is van de framerate. Hierbij moet wel gezegd worden dat de orginele release de NTSC release is, en deze heeft dus ook de beoogde moeilijkheidsgraad. De PAL release loopt vertraagd en is dus makkelijker dan het orgineel.
Waarom dit gedaan werd is omdat CPU's vroeger relatief traag waren, dus er een zeer beperkt aantal berekeningen per frame kon worden gedaan, en vooral vermenigvuldigingen en delen van cijfers erg lang op zich lieten wachten t.o.v. optellen en aftrekken. Neem bijvoorbeeld iets simpels zoals een eend in duckhunt die over het scherm beweegt. Ik ga er voor het gemak even vanuit dat deze denkbeeldige eend een constante X en Y snelheid heeft, en deze omdraait zodra hij de rand van het beeld raakt. Als je er vanuit kan gaan dat het beeld 60x per seconde word ververst, weet je dus dat het aantal pixels wat de eend ieder beeldje opschuift gelijk is, bijvoorbeeld 8 pixels. Om de positie te updaten kan je simpelweg de X en Y waarde ieder beeldje verhogen of verlagen met dezelfde waarde.
Als je niet weet hoeveel beeldjes er per seconde berekend worden, de framerate is dus variabel, en de tijd tussen het huidige en vorige beelde verschilt dus iedere keer als de game door zijn loop gaat, dan moet je tijd gaan bijhouden. Je kijkt dus hoeveel tijd er is verstreken sinds de laatste update (delta T). En vervolgens vermenigvuldig je de waardes waarmee je net zoals in de vorige paragraaf de denkbeeldige eend werd verplaatst met deze tijdfactor. Deze vermenigvuldiging moet je dus voor alle variabele waardes toepassen die in de game worden gebruikt op dat moment.
De wii is meer dan snel genoeg om de game engine volledig op delta T te laten draaien, maar games die vaste waardes en framerates gebruiken zijn nou eenmaal makkelijker te programeren. Dit is bij nintendo dan ook lange tijd de norm geweest, dus grote kans dat programeurs hier op blijven/bleven terugvallen omdat ze het simpelweg zo gewend waren.
Wat nintendo had moeten doen, is bij het omzetten van 60z naar 50hz alle variabelen die gebruikt worden, incl. de timer, met 20% moeten verhogen, daardoor had alles weer de juiste snelheid gehad.
[
Voor 4% gewijzigd door
gravitone op 01-01-2022 22:24
]