Wiki
Chrome Dino-spel Fysica
Hoe het springgevoel van de T-Rex werd ontworpen

De huidige Chrome Dino-fysica bevindt zich in de TypeScript-modules van Chromium. Een sprong begint met een initiële opwaartse snelheid, aangepast door de huidige snelheid, en zwaartekracht verandert die snelheid bij elke update. Het loslaten van de springtoets na de geconfigureerde minimale hoogte laat endJump de opwaartse snelheid begrenzen tot de valsnelheid, wat een kortere boog oplevert. Pijl-omlaag in de lucht stelt een snelheidsvaltoestand in en vermenigvuldigt de verticale verplaatsing met de geconfigureerde coëfficiënt. Botsingsdetectie gebruikt verschillende as-uitgelijnde dozen voor de rennende T-Rex en elk obstakel, wat de spritevormen nauwkeuriger benadert dan één grote rechthoek. Dit is gewone multi-box botsingsgeometrie, geen coyote time. The Jumping Dino gebruikt zijn eigen mobiele fysica en moet niet worden verondersteld de constanten van Chromium te delen.
Springfysica in detail
De normale springconfiguratie gebruikt zwaartekracht 0.6, minimale en maximale springhoogtewaarden van 30, initiële springsnelheid -10 en valsnelheid -5. startJump trekt speed / 10 af van de initiële snelheid. Het loslaten van de springtoets roept endJump aan; nadat de minimale hoogte is bereikt, begrenst die methode een nog steeds stijgende snelheid tot -5, zodat de afdaling eerder begint. Snel vallen stelt de springsnelheid in op 1 en vermenigvuldigt de verticale verplaatsing met de snelheidsvalcoëfficiënt van 3. De bron claimt geen vaste percentagevermindering van de vliegtijd.
Botsingsdetectie en Hitbox-ontwerp
De rennende T-Rex gebruikt zes botsingsdozen; bukken gebruikt één bredere doos. Kleine cactus, grote cactus en pterodactylus definities bieden elk hun eigen dozen. Botsingscode verschuift deze dozen met de huidige spriteposities en controleert op overlapping. De dozen zelf worden niet vermenigvuldigd met de spelsnelheidwaarde. Beweging gebruikt de verstreken frametijd, en de constantenmodule definieert een 60 FPS-referentie voor animatie- en bewegingsberekeningen.
Snelheidsvoortgang en het effect op het gevoel
De normale modus begint met snelheid 6, voegt 0.001 toe per actieve update en bereikt een maximum van 13. De score wordt afgerond van de afstand vermenigvuldigd met 0.025. Bij een nominale 60 FPS-timing bereiken die constanten de limiet rond 1.660 score, niet 700. Snellere obstakelbeweging vermindert de beschikbare schermtijd, terwijl startJump de lanceersnelheid ook iets negatiever maakt naarmate de snelheid toeneemt. Exacte reactievensters zijn afhankelijk van de breedte van de viewport, de breedte van het obstakel, de willekeurige opening, de huidige snelheid en de invoertiming, dus de bron ondersteunt geen universeel millisecondencijfer.

