ดาวน์โหลดบน App Storeดาวน์โหลดบน Google Play

วิกิ

ฟิสิกส์เกม Chrome Dino

วิศวกรรมความรู้สึกการกระโดดของ T-Rex

อัปเดตเมื่อ วิกิเผยแพร่ครั้งแรกเมื่อ
ฟิสิกส์เกม Chrome Dino
รูปแบบการเล่นของ The Jumping DinoiOS + Android

ฟิสิกส์ Chrome Dino ปัจจุบันอยู่ในโมดูล TypeScript ของ Chromium การกระโดดเริ่มต้นด้วยความเร็วขึ้นเริ่มต้นที่ปรับตามความเร็วปัจจุบัน และแรงโน้มถ่วงจะเปลี่ยนความเร็วนั้นในการอัปเดตแต่ละครั้ง การปล่อยปุ่มกระโดดหลังจากความสูงขั้นต่ำที่กำหนดไว้จะทำให้ endJump จำกัดความเร็วขึ้นให้เท่ากับความเร็วตก ทำให้เกิดส่วนโค้งที่สั้นลง การกดลูกศรลงกลางอากาศจะตั้งค่าสถานะการตกเร็วและคูณการกระจัดในแนวตั้งด้วยสัมประสิทธิ์ที่กำหนดไว้ การตรวจจับการชนใช้กล่องที่จัดแนวแกนหลายกล่องสำหรับ T-Rex ที่กำลังวิ่งและสิ่งกีดขวางแต่ละชิ้น ซึ่งประมาณรูปร่างของสไปรต์ได้ใกล้เคียงกว่าสี่เหลี่ยมผืนผ้าขนาดใหญ่หนึ่งอัน นี่คือเรขาคณิตการชนแบบหลายกล่องทั่วไป ไม่ใช่ coyote time The Jumping Dino ใช้ฟิสิกส์มือถือของตัวเองและไม่ควรสันนิษฐานว่าใช้ค่าคงที่ของ Chromium ร่วมกัน

01

ฟิสิกส์การกระโดดโดยละเอียด

การกำหนดค่าการกระโดดปกติใช้แรงโน้มถ่วง 0.6, ค่าความสูงการกระโดดขั้นต่ำและสูงสุด 30, ความเร็วการกระโดดเริ่มต้น -10, และความเร็วตก -5 startJump ลบ speed / 10 ออกจากความเร็วเริ่มต้น การปล่อยปุ่มกระโดดจะเรียก endJump; หลังจากถึงความสูงขั้นต่ำแล้ว เมธอดนั้นจะจำกัดความเร็วที่ยังคงเพิ่มขึ้นเป็น -5 เพื่อให้การลงเริ่มต้นเร็วขึ้น การตกเร็วจะตั้งค่าความเร็วการกระโดดเป็น 1 และคูณการกระจัดในแนวตั้งด้วยสัมประสิทธิ์การตกเร็วที่ 3 ซอร์สโค้ดไม่ได้อ้างว่ามีการลดระยะเวลาในอากาศเป็นเปอร์เซ็นต์ที่แน่นอน

02

การตรวจจับการชนและการออกแบบ Hitbox

T-Rex ที่กำลังวิ่งใช้กล่องชนหกกล่อง; การก้มใช้กล่องที่กว้างกว่าหนึ่งกล่อง คำจำกัดความของกระบองเพชรเล็ก, กระบองเพชรใหญ่, และเทอโรแดกทิลแต่ละอันมีกล่องของตัวเอง โค้ดการชนจะชดเชยกล่องเหล่านี้ด้วยตำแหน่งสไปรต์ปัจจุบันและตรวจสอบการทับซ้อน กล่องเองไม่ได้ถูกคูณด้วยค่าความเร็วของเกม การเคลื่อนที่ใช้เวลาเฟรมที่ผ่านไป และโมดูลค่าคงที่กำหนดการอ้างอิง 60 FPS สำหรับการคำนวณแอนิเมชันและการเคลื่อนที่

03

ความก้าวหน้าของความเร็วและผลกระทบต่อความรู้สึก

โหมดปกติเริ่มต้นที่ความเร็ว 6, เพิ่ม 0.001 ต่อการอัปเดตที่ใช้งานอยู่, และสูงสุดที่ 13 คะแนนจะถูกปัดเศษจากระยะทางที่คูณด้วย 0.025 ภายใต้เวลา 60 FPS ปกติ ค่าคงที่เหล่านั้นจะถึงขีดจำกัดที่ประมาณ 1,660 คะแนน ไม่ใช่ 700 การเคลื่อนที่ของสิ่งกีดขวางที่เร็วขึ้นจะลดเวลาหน้าจอที่มีอยู่ ในขณะที่ startJump ยังทำให้ความเร็วในการปล่อยตัวเป็นลบมากขึ้นเล็กน้อยเมื่อความเร็วเพิ่มขึ้น หน้าต่างปฏิกิริยาที่แน่นอนขึ้นอยู่กับความกว้างของ viewport, ความกว้างของสิ่งกีดขวาง, ช่องว่างสุ่ม, ความเร็วปัจจุบัน, และเวลาอินพุต ดังนั้นซอร์สโค้ดจึงไม่รองรับตัวเลขมิลลิวินาทีสากลหนึ่งเดียว

หัวข้อchrome dinoฟิสิกส์กลไกการกระโดดการตรวจจับการชนการออกแบบเกม

เล่นไปอ่านไป

เล่นตอนนี้หรือรับเกมตัวเต็ม

เล่นเกมวิ่งบนเบราว์เซอร์ หรือรับแอปมือถือพร้อมโหมดแคมเปญ, โหมด Infinite, การพัฒนาไดโนเสาร์ และการแข่งขันผี AI

แหล่งที่มาและข้อมูลอ้างอิง

ตรวจสอบล่าสุดเมื่อ:

  • As the Chrome dino runs, we caught up with the Googlers who built it

    Googleบทสัมภาษณ์อย่างเป็นทางการของ Google กับผู้สร้าง Chrome Dino เกี่ยวกับที่มา, การควบคุม, Project Bolan และจำนวนการเล่นต่อเดือน

  • Chromium dino_game source directory

    Chromiumการใช้งาน Chrome Dino แบบโอเพนซอร์สในปัจจุบัน รวมถึงตรรกะของตัววิ่ง, อุปสรรค และการจัดการสไปรต์

เลื่อนระดับ

ชอบเกมคลาสสิกใช่ไหม? มาพบกับวิวัฒนาการ

The Jumping Dino นำทุกสิ่งที่คุณชื่นชอบเกี่ยวกับเกม Chrome Dino และเปลี่ยนให้เป็นการผจญภัยเต็มรูปแบบ

แคมเปญ + ไม่มีที่สิ้นสุด + ผู้เล่นหลายคน
ช่วยเหลือไข่ข้าม 5 ยุค
ฟักไดโน, สร้าง Sanctuary
iOS & Android; 2 โหมดออฟไลน์

3M+

ยอดดาวน์โหลด

4.3★

คะแนน Google Play

9.28K

รีวิว

ชอบเกมคลาสสิกใช่ไหม? มาพบกับวิวัฒนาการ
ดาวน์โหลดบน App Storeดาวน์โหลดบน Google Play

คำตอบ

คำถามที่พบบ่อย

การกระโดดเริ่มต้นด้วยความเร็วขึ้นที่ปรับเล็กน้อยตามความเร็วของเกม แรงโน้มถ่วงจะเปลี่ยนความเร็วนั้นในการอัปเดตแต่ละครั้ง การปล่อยปุ่มกระโดดหลังจากความสูงขั้นต่ำที่กำหนดไว้จะทำให้ `endJump` จำกัดความเร็วขึ้นให้เท่ากับความเร็วตก ทำให้ส่วนโค้งสั้นลง การกดค้างไว้จะไม่เพิ่มแรงขึ้นใหม่ในทุกเฟรม

ไม่ Chrome Dino ใช้การตรวจจับการชนแบบ bounding box ที่ค่อนข้างผ่อนปรน Hitbox จะเล็กกว่าสไปรต์ที่มองเห็นได้เล็กน้อย ซึ่งหมายความว่าการเฉียดฉิวบางครั้งที่ดูเหมือนชนก็ยังถือว่ารอด การผ่อนปรนโดยเจตนานี้ทำให้เกมรู้สึกยุติธรรม

ใช่ เกมใช้แรงโน้มถ่วงลงอย่างต่อเนื่อง ซึ่งหมายความว่าไดโนจะชะลอตัวเมื่อขึ้นและเร่งความเร็วเมื่อลง คุณยังสามารถกดลูกศรลงกลางอากาศเพื่อเพิ่มแรงลงและลงจอดเร็วขึ้นได้

ความเร็วในการเข้าใกล้สิ่งกีดขวางจะเพิ่มขึ้น การกำหนดค่าการกระโดดปกติจะคงแรงโน้มถ่วงและขีดจำกัดความสูงไว้คงที่ ในขณะที่ `startJump` ยังปรับความเร็วเริ่มต้นของการกระโดดด้วย `speed / 10` เวลาจะเปลี่ยนไปทั้งกับการเคลื่อนที่ของสิ่งกีดขวางและความเร็วในการปล่อยตัวที่รับรู้ความเร็วนั้น

สำรวจต่อไป

หน้าเว็บที่เกี่ยวข้อง