การพัฒนาเกม

คำถาม & คำตอบสำหรับนักพัฒนาเกมมืออาชีพและเป็นอิสระ

4
เป็นระยะทางแมนฮัตตันระยะทางเดียวเมื่อใช้เป็นฟังก์ชั่นแก้ปัญหาหรือไม่?
ฉันมีแผนที่รูปสี่เหลี่ยม อนุญาตให้มีการเคลื่อนไหวในแนวนอนและแนวตั้งเท่านั้น (ไม่มีเส้นทแยงมุม) ราคาการเคลื่อนไหวอยู่เสมอ 1 ฉันกำลังใช้อัลกอริทึม A * บนแผนที่นั้นโดยใช้ระยะทางแมนฮัตตันเป็นฮิวริสติกระยะทาง ฮิวริสติกนี้สอดคล้องกันหรือไม่? ฉันสามารถหลีกเลี่ยงการตรวจสอบg(node)กับโหนดที่อยู่ในชุดปิดได้หรือไม่ แก้ไข: โดยความสอดคล้องฉันหมายถึง monotonic

8
มันมีคุณค่าที่จะใช้กลไก / กฎของเกมแยกจากรหัสหลักหรือไม่?
ไม่แน่ใจว่าเหมาะกับขอบเขตของชุมชนนี้หรือควรไปที่ Stackoverflow แทน สมมติว่าฉันต้องการให้เกมของฉันสามารถขยายได้อย่างง่ายดายในแกนกลางของมันนั่นคือฉันต้องการให้ผู้คนจำนวนมากแม้จะไม่มีความรู้ด้านการเขียนโปรแกรมที่ดีจะไม่เพียง แต่ปรับแต่งกฎที่มีอยู่ แต่เพิ่มกลไกเกมใหม่ทั้งหมด ฉันไม่ใช่โปรแกรมเมอร์ที่ดี แต่ฉันพร้อมที่จะเรียนรู้ฉันแค่ต้องการคำแนะนำและความมั่นใจว่าสามารถทำได้ สิ่งที่ฉันคิดเกี่ยวกับว่าเป็นไปได้ / เป็นไปได้ที่จะใช้กลไกเกมแยกจากรหัสยูทิลิตี้หลักหรือไม่? ฉันหมายถึงสำหรับเกมบนโต๊ะเรามีกฎเหล่านั้นซึ่งไม่มีอัลกอริธึมที่แท้จริงของการกระทำทั้งหมด แต่ค่อนข้างจะอธิบายโปรโตคอลและข้อ จำกัด บางอย่างโดยอ้างอิงบริบทของแต่ละรายการดังกล่าวเป็นอย่างมาก เป็นไปได้หรือไม่ที่จะทำสิ่งที่คล้ายกันสำหรับเกมพีซีเช่นอธิบายกฎทั้งหมดในระดับสูงมากอ่านได้ง่าย (และเปลี่ยนแปลงได้) โดยภาษาการเขียนโปรแกรมของมนุษย์ซึ่งเป็น "บริโภค" แล้วแยกวิเคราะห์โดยรหัสยูทิลิตี้ ตัวอย่างการทำงานของกลไกเกม? ดูเหมือนว่าฉันจะต้องเขียนภาษาของตัวเองและเรียบเรียงสำหรับมัน)) ซึ่งแน่นอนว่าฉันไม่สามารถทำได้ แต่อาจจะมีวิธีแก้ไขปัญหาได้ง่ายขึ้น? FYI: ภาษาที่ฉันเลือกสำหรับรหัสยูทิลิตี้จะเป็น Python 3.x

5
ทำไมเอ็นจิ้นอย่าง Unity3D จึงเน้นย้ำกับไลบรารี่ดั้งเดิมอย่าง OpenGL สำหรับผู้เริ่มต้น [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการ4 ปีที่แล้ว ฉันเป็นแค่มือใหม่ในเกมสามมิติแพลตฟอร์มที่ฉันชอบคือ Android ฉันโพสต์คำถามในฟอรัมอื่นเกี่ยวกับ "สิ่งที่จะใช้: OpenGL หรือ Unity3d" พวกเขาเน้น Unity3D และใช้คุณสมบัติและเครื่องมือในตัวซึ่งฉันจะต้องเขียนรหัสด้วยตัวเองถ้าฉันต้องใช้ OpenGL แต่บางคนก็บอกว่าเกมที่ซับซ้อนส่วนใหญ่ต้องการเอ็นจิ้นกำหนดเอง ทำไมฉันถึงต้องใช้เอ็นจิ้นอย่าง Unity3D บน OpenGL
25 opengl  android  unity 


5
ตรรกะของเกมบนเซิร์ฟเวอร์! ดีหรือไม่ดี
ตอนนี้ฉันกำลังวางแผนเล่นเกมออนไลน์พร้อมกัน และนี่คือคำถาม มันสมเหตุสมผลหรือไม่ที่จะสร้างตรรกะของเกมทั้งหมดบนเซิร์ฟเวอร์และเพียงแค่ส่งอินพุตจากไคลเอนต์ไปยังเซิร์ฟเวอร์ ข้อดีข้อเสียใดหรือมีเหตุผลใดบ้างที่ฉันไม่ควรทำเช่นนั้น

6
ยึดเอาต้นไม้พฤติกรรม
ฉันพยายามที่จะทำให้หัวของฉันอยู่รอบ ๆ ต้นไม้พฤติกรรมดังนั้นฉันจึงพยายามหารหัสทดสอบ สิ่งหนึ่งที่ฉันกำลังดิ้นรนคือจะเอาไว้ใช้โหนดที่กำลังทำงานอยู่ในขณะที่บางสิ่งที่มีลำดับความสำคัญสูงกว่ามาพร้อม พิจารณาต้นไม้พฤติกรรมที่เรียบง่ายและเป็นตำนานต่อไปนี้สำหรับทหาร: สมมติว่ามีเห็บจำนวนหนึ่งหายไปและไม่มีศัตรูอยู่ใกล้ทหารกำลังยืนอยู่บนพื้นหญ้าดังนั้นโหนดSit downจึงถูกเลือกเพื่อดำเนินการ: ตอนนี้การกระทำของSit downต้องใช้เวลาในการดำเนินการเนื่องจากมีภาพเคลื่อนไหวให้เล่นดังนั้นมันจึงกลับมาRunningเป็นสถานะ เห็บหรือสองไปโดยภาพเคลื่อนไหวยังคงทำงานอยู่ แต่ศัตรูใกล้? ทริกเกอร์เงื่อนไขโหน ตอนนี้เราต้องจองโหนดSit down โดยเร็วเพื่อให้เราสามารถรันโหนดAttackได้ ทหารจะไม่นั่งลงด้วยซ้ำ - เขาอาจกลับทิศทางการเคลื่อนไหวของเขาหากเขาเพิ่งเริ่มนั่ง สำหรับความสมจริงที่เพิ่มขึ้นหากเขาผ่านจุดเปลี่ยนแปลงในภาพเคลื่อนไหวเราอาจเลือกที่จะให้เขานั่งลงแล้วยืนอีกครั้งหรืออาจให้เขาสะดุดในการตอบสนองต่อภัยคุกคามแทน ลองอย่างที่ฉันเป็นฉันไม่สามารถหาคำแนะนำเกี่ยวกับวิธีจัดการสถานการณ์เช่นนี้ได้ วรรณกรรมและวิดีโอทั้งหมดที่ฉันบริโภคไปในช่วงไม่กี่วันที่ผ่านมา (และมันก็เยอะมาก) ดูเหมือนจะเป็นประเด็นนี้ สิ่งที่ใกล้เคียงที่สุดที่ฉันสามารถหาได้คือแนวคิดของการรีเซ็ตโหนดที่ทำงานอยู่ แต่นั่นก็ไม่ได้ให้โหนดเหมือนนั่งลงโอกาสที่จะพูดว่า "เดี๋ยวก่อนฉันยังไม่เสร็จ!" ฉันคิดว่าอาจจะกำหนดPreempt()หรือInterrupt()วิธีการในNodeชั้นฐานของฉัน โหนดที่แตกต่างกันสามารถจัดการกับมันวิธีที่พวกเขาเห็นพอดี Successแต่ในกรณีนี้เราจะพยายามที่จะได้รับกลับมาทหารบนเท้าของเขาโดยเร็วและจากนั้นกลับมา ฉันคิดว่าวิธีการนี้จะกำหนดให้ฐานของฉันNodeมีแนวคิดเกี่ยวกับเงื่อนไขแยกต่างหากจากการกระทำอื่น ๆ ด้วยวิธีนี้เอ็นจิ้นสามารถตรวจสอบเงื่อนไขเท่านั้นและหากผ่านให้ยึดเอาโหนดดำเนินการใด ๆ ในปัจจุบันก่อนเริ่มการทำงานของการดำเนินการ หากไม่สามารถสร้างความแตกต่างนี้ได้เอ็นจิ้นจะต้องดำเนินการโหนดอย่างไม่เลือกปฏิบัติและอาจทำให้เกิดการกระทำใหม่ก่อนที่จะทำการจองก่อน สำหรับการอ้างอิงด้านล่างเป็นชั้นฐานปัจจุบันของฉัน อีกครั้งนี่คือการขัดขวางดังนั้นฉันพยายามที่จะทำให้สิ่งต่าง ๆ ง่ายที่สุดเท่าที่จะทำได้และเพิ่มความซับซ้อนเมื่อฉันต้องการมันและเมื่อฉันเข้าใจมันซึ่งเป็นสิ่งที่ฉันกำลังดิ้นรนอยู่ในตอนนี้ public enum ExecuteResult { // node needs more time to run …
25 ai  behavior-tree 

3
กราฟิกการ์ดทำอะไรกับองค์ประกอบที่สี่ของเวกเตอร์เป็นตำแหน่งสุดท้าย
จากคำถามนี้ปรากฏว่าคุณต้องการเวกเตอร์ตำแหน่งสี่องค์ประกอบเนื่องจากง่ายต่อการแก้ไขตำแหน่งด้วยการคูณเมทริกซ์ ด้วยตัวเองสิ่งนี้จะบอกเป็นนัยถึงองค์ประกอบที่สี่ควรมองข้ามเมื่อคิดว่ามันเป็นตัวแทนของจุดสามมิติ (สมมติว่าไม่มีการแปลง) แต่ฉันรู้ว่านี่ไม่เป็นความจริงเหมือนเมื่อฉันจัดหาเวกเตอร์ 4 ให้กับ GPU ถ้าสี่ องค์ประกอบไม่ได้เป็นหนึ่งก็ไม่ได้แสดงผล - ทำไม? ความสำคัญขององค์ประกอบที่สี่คืออะไรเมื่ออยู่ใน rasterizer? แก้ไข : ในการตรวจสอบคำถามนี้เป็นคำที่ค่อนข้างต่ำ; มันจะแม่นยำมากขึ้นสำหรับย่อหน้าที่สองที่จะพูดว่า: "ถ้าค่าขององค์ประกอบที่สี่ไม่อยู่ในช่วงที่กำหนดมันจะไม่แสดงผล 'ถูกต้อง' / 'ตามที่คาดหวัง'"

3
การสร้างกำแพงในเกมที่เป็นกระเบื้อง
หลังจากใช้เวลาในวันนี้เพื่อจดบันทึกบางอย่างเกี่ยวกับการติดตั้งกำแพงในเกมที่ใช้กระเบื้องของฉันฉันก็รู้ทันทีว่ามันจะไม่ง่ายอย่างที่ฉันคิดไว้ก่อน ในขณะที่งานปัจจุบันของฉันไม่ได้ใกล้เคียงกับการสร้างรหัสที่เกี่ยวข้องกับกำแพงจริง ๆ ฉันได้มาด้วยวิธีที่แตกต่างกันสามวิธี ตอนนี้ฉันไม่แน่ใจว่าหนึ่งในความคิดของฉันจะทำงานได้ดีที่สุดและไม่ว่าฉันจะพลาดบางสิ่งบางอย่างหรือไม่ สำคัญ: ตัวละครสามารถยืนบนแผ่นกระเบื้องที่มีกำแพงได้โดยไม่คำนึงถึงรูปร่างของพวกเขา สิ่งที่พบได้ทั่วไปสำหรับทั้งสามรูปแบบ: tilemap จะ "เก็บไว้" ในคอนเทนเนอร์แบบมิติเดียว std :: vector (หรือคล้ายกัน) เหตุผลในการอธิบาย (ต่างไปจากเดิม) ในคำตอบของคำถามอื่น คลาสคอนเทนเนอร์ในเกมแบบเรียงต่อกัน กลับไปที่ผนัง A) วิธีการง่ายๆ ไม่มีอะไรแฟนซีที่นี่ แต่ละคอนเทนเนอร์แบบเรียงต่อกันสามารถเก็บอักขระไม่เพียง แต่วัตถุ Wall หนึ่งหรือหลายซึ่งแนบกับขอบภายในกระเบื้อง จุดเด่น: ใช้งานง่ายไม่มีอะไรเปลี่ยนแปลงในเครื่องยนต์ จุดด้อย: สองสิ่ง หนึ่ง - อาจอยู่ในหัวของฉัน แต่ชุดค่าผสมบางอย่างอาจดูน่าเกลียด สอง - วิธีนี้ช่วยให้สามารถสร้างกำแพงสองชั้นจากแผ่นติดกันสองแผ่น สิ่งปลูกสร้างจะเป็นส่วนสำคัญของเกมและผนังสองชั้นช่วยให้ผู้สร้างสามารถยกระดับวัสดุของกำแพงผ่านวิธีการเล่นเกมและเพิ่มความทนทานที่เพิ่มขึ้นด้วยการเพิ่มกำแพงที่มีอยู่เป็นสองเท่า ไม่เป็นที่น่าพอใจ แน่นอนว่าฉันสามารถรวมขั้นตอนที่ห้ามกำแพงสองชั้น แต่จะมีความรู้สึกที่ไม่ดี B) วิธีการอันชาญฉลาด (?) แทนที่จะปล่อยให้ผู้เล่นตีสองครั้งทั่วทั้งแผนที่ฉันจะเอาชนะพวกมัน ผนังทุกหลังมีสองส่วนที่ติดกับขอบของกระเบื้องจากด้านใน ดังนั้นในการสร้าง "Wall …

4
“ The Game Object” - และการออกแบบส่วนประกอบ
ฉันทำงานโครงการอดิเรกบางอย่างเมื่อ 3-4 ปีที่แล้ว เกม 2D และ 3D ที่เรียบง่าย แต่เมื่อเร็ว ๆ นี้ฉันได้เริ่มโครงการที่ใหญ่กว่า Soo ในช่วงสองสามเดือนที่ผ่านมาฉันพยายามออกแบบคลาสเกมวัตถุซึ่งอาจเป็นฐานของวัตถุเกมทั้งหมดของฉัน ดังนั้นหลังจากการทดสอบแบบลองและแบบตายตัวฉันจึงหันไปหา Google ซึ่งชี้ให้ฉันเห็นอย่างรวดเร็วใน GDC PDF และ PowerPoint บางส่วน และตอนนี้ฉันกำลังพยายามเข้าใจวัตถุของเกมที่มีส่วนประกอบ ฉันเข้าใจว่าเอ็นจิ้นสร้างวัตถุเกมแล้วแนบส่วนประกอบต่าง ๆ ที่จัดการสิ่งต่าง ๆ เช่นสุขภาพฟิสิกส์เครือข่ายและสิ่งที่คุณทำ แต่สิ่งที่ฉันไม่เข้าใจก็คือองค์ประกอบ X รู้ได้อย่างไรว่า Y ได้เปลี่ยนสถานะของวัตถุ PhysicsComponent รู้ได้อย่างไรว่าผู้เล่นยังมีชีวิตอยู่เพราะสุขภาพถูกควบคุมโดย HealthComponent .. ? และ HealthComponent เล่น "แอนิเมชั่นผู้เล่นที่เสียชีวิต" ได้อย่างไร? ฉันอยู่ภายใต้การแสดงผลว่าเป็นอะไรเช่นนี้ (ใน HealthComponent): if(Health < 0) { AnimationComponent.PlayAnimation("played-died-animation") …

3
คุณจะสร้างทรงกลมโดยทางโปรแกรมได้อย่างไร
ใครช่วยอธิบายได้ว่ามันจะเป็นไปได้อย่างไรในการสร้างจุดยอด, ดัชนีและพิกัดพื้นผิว มีการขาดเอกสารที่น่าแปลกใจเกี่ยวกับวิธีการทำเช่นนั้นและเป็นสิ่งที่ฉันสนใจในการเรียนรู้ ฉันได้ลองทำอย่างชัดเจน googling ดูบน gamedev.net ฯลฯ อย่างไรก็ตามไม่มีสิ่งใดครอบคลุมถึงจุดที่เป็นทรงกลมสร้างดัชนีเหล่านี้และพื้นผิว

3
การพัฒนาเกมเป็นสโมสรที่ยอดเยี่ยมที่สุดหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา เราทุกคนอ่านตำแหน่งงานว่างผ่านอินเทอร์เน็ตเช่นงาน GitHub หรือ StackExchange Careers 2.0 เป็นต้น คุณจะรู้ว่าการพัฒนาเว็บแอพงาน iOS / Android และอื่น ๆ อีกมากมาย เราได้อ่านเกี่ยวกับโฆษณาตำแหน่งงานใน Google, Apple หรือ บริษัท ใหญ่อื่น ๆ ทำไมเราไม่อ่านเกี่ยวกับตำแหน่งงานว่างของ "Game Developer"? ความต้องการของผู้พัฒนาเกมต่ำหรือไม่? หรือผู้พัฒนาเกมหายากจริงๆเหรอ? บริษัท เช่น EA, Konami หรือ Activision ได้รับนักพัฒนาอย่างไร ฉันจะเอาชนะการตอบสนองต่อแอปพลิเคชันนี้ได้อย่างไร: "คุณไม่สามารถทำงานให้เราได้เพราะคุณไม่มีประสบการณ์ในการพัฒนาเกม" ฉันควรจะได้รับประสบการณ์อย่างไรถ้าฉันไม่สามารถทำงานในสาขานี้ได้?
25 career  jobs 

4
มีเฟรมเวิร์กอิงส่วนประกอบ FOSS อยู่หรือไม่? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา กระบวนทัศน์การเขียนโปรแกรมเกมตามองค์ประกอบกำลังเป็นที่นิยมมากขึ้น ฉันสงสัยว่ามีโครงการใดบ้างที่นำเสนอเฟรมเวิร์กองค์ประกอบที่ใช้ซ้ำได้หรือไม่ ในทุกภาษาฉันคิดว่าฉันไม่สนใจเรื่องนั้น ไม่ใช่สำหรับโครงการของฉันฉันแค่อยากรู้ โดยเฉพาะฉันหมายถึงมีโครงการที่รวมEntityคลาสพื้นฐานComponentคลาสพื้นฐานและส่วนประกอบมาตรฐานบางอย่างหรือไม่ ถ้าหากคุณไม่ต้องการที่จะพลิกโฉมพวงมาลัยหรือบางทีคุณอาจต้องการเกมGraphicsComponentที่ทำได้ด้วย Direct3D แต่ถ้าคุณคิดว่ามันทำไปแล้วสิบครั้ง รวดเร็ว Googling จะเปิดขึ้นRusher มีใครเคยได้ยินหรือเคยใช้มันบ้าง หากไม่มีคนดังแล้วทำไมล่ะ มันยากเกินไปหรือไม่ที่จะทำสิ่งที่สามารถนำมาใช้ซ้ำได้เช่นนี้ ในการดำเนินการของฉันเองฉันพบจำนวนมากสำเร็จรูปที่สามารถผลักดันให้เป็นกรอบ

4
วิธีการเลือกวิธีการจัดเก็บข้อมูล?
ให้ปลาแก่ผู้ชายและให้อาหารเขาหนึ่งวัน สอนชายคนหนึ่งให้ตกปลาและคุณให้อาหารเขาตลอดชีวิต - สุภาษิตจีน ฉันสามารถถามที่เก็บข้อมูลชนิดใดที่ฉันควรใช้สำหรับโครงการจริงของฉัน แต่ฉันต้องการเรียนรู้การตกปลาดังนั้นฉันไม่จำเป็นต้องขอปลาในแต่ละครั้งที่ฉันเริ่มโครงการใหม่ ดังนั้นจนกระทั่งฉันใช้สองวิธีในการจัดเก็บข้อมูลในโครงการที่ไม่ใช่เกมของฉัน: ไฟล์ XML และฐานข้อมูลเชิงสัมพันธ์ ฉันรู้ว่ายังมีฐานข้อมูลประเภทอื่น ๆ ของประเภทNoSQL อย่างไรก็ตามฉันไม่ทราบว่ามีตัวเลือกเพิ่มเติมให้ฉันหรือจะเลือกในครั้งแรกนอกเหนือจากการเลือกอย่างใดอย่างหนึ่งโดยพลการ ดังนั้นคำถามต่อไปนี้: ฉันจะเลือกประเภทของการจัดเก็บข้อมูลสำหรับโครงการเกมได้อย่างไร และฉันจะสนใจเกณฑ์ต่อไปนี้เมื่อเลือก: ขนาดของโครงการ แพลตฟอร์มที่กำหนดเป้าหมายโดยเกมรวมถึงแพลตฟอร์มการพัฒนาที่ใช้ ความซับซ้อนของโครงสร้างข้อมูล เพิ่มความสะดวกในการพกพาข้อมูลในหลาย ๆ โครงการ เพิ่ม 2 การใช้ข้อมูลโดยอัตโนมัติระหว่างโครงการต่าง ๆ (เช่นข้อมูลผู้ใช้) เพิ่มความถี่ควรเข้าถึงข้อมูลอย่างไร เพิ่มข้อมูลหลายประเภทสำหรับแอปพลิเคชันเดียวกัน เพิ่ม 2 การกำหนดค่าด้วยการจัดเก็บข้อมูลหลาย ๆ จุดอื่นที่คุณคิดว่าน่าสนใจเมื่อตัดสินใจว่าจะใช้ แก้ไขฉันรู้เกี่ยวกับการใช้ XML / JSON / Text หรือฐานข้อมูลเพื่อเก็บเนื้อหาของเกมดีกว่าไหม แต่คิดว่ามันไม่ตรงประเด็นของฉัน ตอนนี้ถ้าฉันผิดฉันก็ยินดีที่จะแสดงข้อผิดพลาดในทางของฉัน EDIT2เพิ่มบางจุดเพิ่มเติมที่ฉันจะพิจารณาที่เกี่ยวข้อง นอกจากนี้ฉันยังสนใจที่จะฟังว่ามีตัวเลือกอื่นใดบ้างนอกเหนือจากที่จัดเก็บไฟล์แบนและฐานข้อมูลเชิงสัมพันธ์ ตัวอย่างเช่นฐานข้อมูลที่ไม่เกี่ยวข้อง เมื่อมีความเกี่ยวข้องกับการใช้ฐานข้อมูลดังกล่าวผ่านตัวเลือกอื่น ๆ ที่กล่าวถึงก่อนหน้า?
25 databases  data  xml 

6
ฟรีโปรแกรมแก้ไข voxel [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา มีใครรู้บ้างเกี่ยวกับโปรแกรมแก้ไข voxel ฟรีและ / หรือตัวแปลง voxel-to-mesh?
25 tools  models  editors  voxels 

2
การออกแบบการเลื่อนหน้าจอสไตล์ร็อคแมน
ซีรีส์ Mega Man ของ NES คลาสสิกใช้เทคนิคการเลื่อนที่เฉพาะเจาะจงมากซึ่งฉันมีปัญหาในการใช้งาน โดยพื้นฐานแล้วระดับจะแบ่งออกเป็น "หน้าจอ" ซึ่งมีขนาดเท่ากันทั้งหมด หน้าจอบางหน้าเลื่อนเข้าหากันอย่างราบรื่นสร้างภาพลวงตาของการเล่นที่กว้างขึ้น หน้าจอบางหน้าหยุดกล้องไม่ให้เลื่อนจนกว่าโปรแกรมเล่นจะถึงขอบของหน้าจอในเวลาที่มีการเปลี่ยนภาพและหน้าจอถัดไปแสดงขึ้น อาจเป็นไปได้ที่หน้าจอเดียวจะมีการเปลี่ยนแปลงมากกว่าหนึ่งครั้งตัวอย่างเช่นมีบันไดที่ขึ้นไปหนึ่งหน้าจอ แต่คุณสามารถเดินไปข้างหน้าไปยังอีกหน้าจอหนึ่งได้ การเปลี่ยนหน้าจอเหล่านี้เป็นแบบจำลองได้อย่างไร? หน้าจอ 0 เป็นหน้าจอเริ่มต้นซึ่งผู้เล่นเริ่มต้น หน้าจอ 0-3 เป็นการเลื่อนในแนวนอนอย่างราบรื่นและปรากฏต่อผู้เล่นในรูปแบบการเล่นต่อเนื่อง เนื่องจากมีการเปลี่ยนแปลงระหว่างหน้าจอ 3 และเป็นหน้าจอใกล้เคียง 4 และ 5 กล้องจะไม่เลื่อนผ่านขอบด้านขวาหรือขอบด้านบนของหน้าจอ 3 ยกเว้นว่าผู้เล่นเลื่อนไปที่ขอบนั้นและ "ดัน" ผ่านไปยังหน้าจอถัดไป เมื่อผู้เล่นย้ายไปที่ขอบการเปลี่ยนแปลงอย่างใดอย่างหนึ่งอินพุตของผู้ใช้จะถูกปิดใช้งานชั่วขณะและกล้องจะเปลี่ยนไปสู่พื้นที่ใหม่หลังจากที่อินพุตผู้ใช้ถูกกู้คืน หน้าจอสีน้ำเงิน (หน้าจอ 5) ปิดใช้งานการเลื่อนแนวนอนเพื่อให้สามารถเปลี่ยนแนวตั้งได้เท่านั้น หน้าจอสีเขียว (หน้าจอ 6) มีการเปลี่ยนแนวตั้งกลับไปที่หน้าจอ 5 แต่ยังช่วยให้การเลื่อนแนวนอนราบรื่นไปสู่หน้าจอ 7 แก้ไข : การใช้การเปลี่ยนในแง่ของห้องนำฉันไปสู่สิ่งนี้: รอยหยักขนาดเล็กที่มีลูกศรเป็นบริเวณที่เกิดการเปลี่ยนแปลงได้ แต่ละภูมิภาคมี "ทิศทาง" และโกหกเพียงด้านนอกของพื้นที่ที่มองเห็นของห้อง …
25 2d  camera  platformer 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.