คำถามติดแท็ก architecture

รหัสมีโครงสร้างอย่างไร สำหรับคำถามเกี่ยวกับการออกแบบภายในของเอ็นจิ้นเกม

3
วิธีการจัดโปรแกรมเกมใน C ++? การใช้การรับมรดกของฉันเป็นความคิดที่ดีหรือไม่?
ฉันเป็นผู้เริ่มต้นทั้งในการพัฒนาเกมและการเขียนโปรแกรม ฉันพยายามเรียนรู้หลักการบางอย่างในการสร้างเอ็นจิ้นเกม ฉันต้องการสร้างเกมง่ายๆฉันอยู่ในจุดที่ฉันพยายามนำเอ็นจิ้นเกมมาใช้ ดังนั้นฉันคิดว่าเอ็นจิ้นเกมของฉันควรควบคุมสิ่งนี้: - Moving the objects in the scene - Checking the collisions - Adjusting movements based on collisions - Passing the polygons to the rendering engine ฉันออกแบบวัตถุของฉันเช่นนี้: class GlObject{ private: idEnum ObjId; //other identifiers public: void move_obj(); //the movements are the same for all the objects (nextpos …
11 c++  architecture  oop 

2
ฉันจะพัฒนาเกม Android ของฉันได้อย่างมีประสิทธิภาพได้อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันได้แนบรูปภาพของแผนภูมิการไหลที่ทำด้วยสี ภาพแสดงวิธีที่ฉันต้องการพัฒนาเกมของฉัน ฉันต้องการเกมที่ทำงานได้ยอดเยี่ยมด้วยการเข้ารหัสอัจฉริยะที่ง่ายต่อการอัปเดตและคุณสมบัติโฆษณาตลอดเวลา แพลตฟอร์มเป้าหมายของฉันคือสมาร์ทโฟน Android และรหัสทั้งหมดจะถูกเขียนด้วยภาษาจาวาพร้อมกับทรัพยากร XML ที่สูงเกินจริงหากเป็นเช่นนั้น ฉันไม่ได้กำลังมองหารหัสที่ยาก แต่รหัสหลอกจะช่วยได้ฉันต้องการคำแนะนำและคำแนะนำจากผู้เชี่ยวชาญมากกว่า คำถามของฉันคือ: นี่เป็นวิธีที่ดีในการเขียนโปรแกรมเกมหรือมีวิธีที่ดีกว่าในการทำเกมนี้หรือไม่? มีการดัดแปลงใด ๆ ที่จำเป็นต้องทำหรือไม่? ข้อเสนอแนะใด ๆ ที่จะเป็นประโยชน์เพราะฉันไม่เคยมีประสบการณ์ในการเขียนโปรแกรมเกมดังนั้นฉันต้องการคำแนะนำจากคนที่เขียนเกมหลายเกมและรู้จากประสบการณ์ว่าควรตั้งรหัสของพวกเขาให้ทำงานได้อย่างมีประสิทธิภาพอย่างไร

3
ทางออกที่ดีที่สุดสำหรับเกม Android เรียลไทม์หลายคน [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันวางแผนที่จะสร้างเกมเรียลไทม์สำหรับผู้เล่นหลายคนสำหรับ Android (ผู้เล่น 2-8 คน) และฉันคิดว่าโซลูชันสำหรับองค์กรที่มีผู้เล่นหลายคนนั้นดีที่สุด: ทำให้เซิร์ฟเวอร์บนพีซีและไคลเอนต์บนมือถือการติดต่อทั้งหมดผ่านเซิร์ฟเวอร์ (ClientA -> PC SERVER -> ไคลเอนต์ทั้งหมด) ใช้บลูทู ธ ฉันยังไม่ได้ใช้และฉันไม่รู้ว่ามันยากที่จะสร้างผู้เล่นหลายคนผ่านบลูทู ธ ทำให้เซิร์ฟเวอร์บนหนึ่งในอุปกรณ์และอุปกรณ์อื่น ๆ เชื่อมต่อ (ผ่านเครือข่าย แต่ฉันไม่รู้ว่าการแก้ไขปัญหาอุปกรณ์ผ่าน NAT เป็นเรื่องยากไหม) ทางออกอื่น ๆ ?

5
อินพุตแบบซ้อนในระบบที่ขับเคลื่อนโดยเหตุการณ์
ฉันใช้ระบบจัดการการป้อนข้อมูลตามเหตุการณ์กับกิจกรรมและผู้รับมอบสิทธิ์ ตัวอย่าง: InputHander.AddEvent(Keys.LeftArrow, player.MoveLeft); //Very simplified code อย่างไรก็ตามฉันเริ่มสงสัยเกี่ยวกับวิธีจัดการกับอินพุต 'ซ้อน' ยกตัวอย่างเช่นใน Half-Life 2 (หรือเกมใด ๆ ที่มาจริงๆ) Eคุณสามารถเลือกรายการที่มี เมื่อคุณหยิบรายการขึ้นมาคุณจะไม่สามารถยิงได้Left Mouseแต่คุณจะโยนวัตถุแทน Spaceคุณยังสามารถกระโดดด้วย (ฉันกำลังบอกว่าการป้อนข้อมูลแบบซ้อนเป็นที่ที่คุณกดแป้นบางอย่างและการกระทำที่คุณสามารถทำได้เปลี่ยนเมนูไม่ใช่) สามกรณีคือ: ความสามารถในการกระทำเช่นเดียวกับเมื่อก่อน (เช่นการกระโดด) ไม่สามารถทำการกระทำเดียวกัน (เช่นการยิง) การกระทำที่แตกต่างอย่างสิ้นเชิง (เช่นใน NetHack ซึ่งการกดปุ่มเปิดประตูหมายความว่าคุณไม่เคลื่อนไหว แต่เลือกทิศทางเพื่อเปิดประตูเข้า) แนวคิดดั้งเดิมของฉันคือเปลี่ยนเพียงหลังจากได้รับอินพุต: Register input 'A' to function 'Activate Secret Cloak Mode' In 'Secret Cloak Mode' function: Unregister input 'Fire' Unregister input …

7
การมีเพศสัมพันธ์ต่ำและการทำงานร่วมกันแน่น
แน่นอนมันขึ้นอยู่กับสถานการณ์ แต่เมื่อวัตถุคันล่างหรือระบบสื่อสารกับระบบระดับที่สูงขึ้นควรเรียกกลับหรือเหตุการณ์ที่จะรักษาตัวชี้ไปยังวัตถุระดับที่สูงขึ้น? ตัวอย่างเช่นเรามีชั้นเรียนที่มีตัวแปรสมาชิกworld vector<monster> monstersเมื่อmonsterชั้นเรียนสื่อสารกับworldฉันควรจะใช้ฟังก์ชั่นโทรกลับแล้วหรือฉันควรจะมีตัวชี้ไปยังworldชั้นเรียนภายในmonsterชั้นเรียนหรือไม่?

1
ลงทะเบียนส่วนประกอบเกมวัตถุในระบบย่อยเกม? (การออกแบบวัตถุเกมตามส่วนประกอบ)
ฉันกำลังสร้างระบบเกมวัตถุ component-based เคล็ดลับบางอย่าง: GameObjectComponentsเป็นเพียงรายการ GameSubsystemsมี ยกตัวอย่างเช่นการแสดงผลฟิสิกส์ ฯลฯ แต่ละมีตัวชี้ไปยังบางส่วนของGameSubsystem เป็นนามธรรมที่ทรงพลังและยืดหยุ่นมาก: มันแสดงถึงส่วนใด ๆ ของเกม (หรือแง่มุม)ComponentsGameSubsystem มีความต้องการในกลไกของการลงทะเบียนComponentsในGameSubsystems(เมื่อGameObjectถูกสร้างและสงบ) มี4 วิธีคือ: 1: รูปแบบของความรับผิดชอบ ทุกคนมีให้แก่ทุกคนComponent ตัดสินใจในการลงทะเบียน (และวิธีการจัดระเบียบ) ตัวอย่างเช่น GameSubsystemRender สามารถลงทะเบียน Renderable Components ได้GameSubsystemGameSubsystemComponents มือโปร. Componentsไม่รู้อะไรเกี่ยวกับวิธีการใช้งาน คลัปต่ำ A.GameSubsystemเราสามารถเพิ่มใหม่ ตัวอย่างเช่นให้เพิ่ม GameSubsystemTitles ที่ลงทะเบียน ComponentTitle ทั้งหมดและรับประกันว่าทุกชื่อจะไม่ซ้ำกันและมีส่วนต่อประสานในการสอบถามวัตถุตามชื่อ แน่นอน ComponentTitle ไม่ควรเขียนใหม่หรือสืบทอดในกรณีนี้ B.GameSubsystemsเราสามารถจัดระเบียบที่มีอยู่ ตัวอย่างเช่น GameSubsystemAudio, GameSubsystemRender, GameSubsystemParticleEmmiter สามารถผสานเข้ากับ GameSubsystemSpatial (เพื่อวางเสียง emmiter ทั้งหมดให้Componentsอยู่ในลำดับชั้นเดียวกันและใช้การแปลงแบบญาติสัมพันธ์) แย้ง …

5
ผู้พัฒนาเกมเริ่มต้น / อินดี้ควรกำหนดเป้าหมายหลายแพลตฟอร์มในตอนแรกหรือไม่
ส่วนหนึ่งเป็นการตอบสนองต่อผู้พัฒนาเกมทำอย่างไรจึงจะกำหนดเป้าหมายหลายแพลตฟอร์ม (Xbox 360, PS3, PC และ Linux) แต่ส่วนใหญ่เป็นเพราะมีคนที่นี่กับเกมที่เผยแพร่ควรข้ามแพลตฟอร์มเป็นข้อกำหนด / คุณสมบัติแรกสำหรับนักพัฒนาที่พยายามบุกเข้าไปในธุรกิจ? ฉันเป็นผู้เชื่อมาตลอด (ในลักษณะที่ผัดวันประกันพรุ่งโดยสิ้นเชิง) ในการเลือกแพลตฟอร์ม 'โพรง' หรือ 'ตลาดมวลชน' และย้ายพอร์ตในภายหลังหากความต้องการเป็นธรรม ข้ามแพลตฟอร์มรู้สึกเหมือนเป็นอุปสรรคในการประดิษฐ์ ทำไมเราทุกคนไม่ควรเขียนเกม iPhone, Windows หรือเบราว์เซอร์?

4
ตรรกะของเกมเดียวกันในไลบรารีกราฟิกแยกกันสองแห่ง
รหัสปรัชญา / โครงสร้างของนามธรรม / การออกแบบโปรแกรมจะอนุญาตให้เกมที่จะใช้กับกราฟิก 2D และ 3D (แยก) โดยไม่ต้องรหัสตรรกะเกมอีกครั้ง? เรากำลังพูดถึงการใช้รหัสเดียวกันเปลี่ยนสิ่งต่าง ๆ น้อยที่สุด (ตัวอย่างเช่นแลกเปลี่ยนชื่อไฟล์สำหรับเนื้อหา 2 มิติด้วยชื่อไฟล์สำหรับเนื้อหา 3 มิติ) และอาจเสียบปลั๊กเฉพาะในคลาสพื้นฐานต่อ generics / เทมเพลต หากต้องการวางไว้ในบริบทที่เหมาะสม: ลองนึกภาพเกมที่มีผู้เล่นหลายคนผ่าน LAN ซึ่งมีไคลเอนต์ 3 มิติที่มีประสิทธิภาพและยอดเยี่ยมสำหรับผู้เล่นที่มีนักเล่นเกมที่ยอดเยี่ยมและเป็นลูกค้า 2D ที่น่ารักมากกว่าเดิม กล่องฝุ่นที่มีคนพบในห้องใต้หลังคาของพวกเขา แต่มันยังคงเป็นเกมเดียวกัน - มีการลงทะเบียนเหตุการณ์เดียวกัน (มีคนหยิบเหรียญ) ใช้โปรโตคอลเครือข่ายเดียวกันโลกต่าง ๆ เป็นต้น หากต้องการวางไว้ในบริบท MVC: ตัวควบคุมเหมือนกัน (การกดปุ่ม "ขึ้น" จะตั้งค่าการเร่งความเร็วของผู้เล่นที่ 3.5 หน่วย / วินาที) มุมมองจะแตกต่างกันโดยสิ้นเชิง (2D …

3
ฉันจะจัดการ AI ที่ซับซ้อนได้อย่างไร [ปิด]
เป็นการยากที่จะบอกสิ่งที่ถูกถามที่นี่ คำถามนี้คลุมเครือคลุมเครือไม่สมบูรณ์กว้างเกินไปหรือโวหารและไม่สามารถตอบได้อย่างสมเหตุสมผลในรูปแบบปัจจุบัน สำหรับความช่วยเหลือในการทำความเข้าใจคำถามนี้เพื่อที่จะสามารถเปิด, ไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน7 ปีที่ผ่านมา ในอดีตฉันใช้ระบบง่าย ๆ เช่น finite state machine (FSMs) และ FSM แบบลำดับชั้นเพื่อควบคุมพฤติกรรม AI รูปแบบนี้แตกออกอย่างรวดเร็วหรือระบบที่ซับซ้อนใด ๆ ผมเคยได้ยินเกี่ยวกับต้นไม้พฤติกรรม พวกเขาดูเหมือนขั้นตอนต่อไปที่ชัดเจน แต่ฉันยังไม่เห็นการใช้งานจริงหรือลองใช้งานเลย รูปแบบอื่นใดที่สามารถทำให้พฤติกรรม AI ที่ซับซ้อนสามารถจัดการได้

4
ระบบและการแสดงผล
Okey สิ่งที่ฉันรู้จนถึงตอนนี้; เอนทิตีประกอบด้วยส่วนประกอบ (data-storage) ซึ่งเก็บข้อมูลเช่น; - พื้นผิว / สไปรต์ - Shader - ฯลฯ จากนั้นฉันก็มีระบบตัวแสดงภาพที่วาดทั้งหมดนี้ แต่สิ่งที่ฉันไม่เข้าใจก็คือการออกแบบโหมดแสดงภาพควรเป็นอย่างไร ฉันควรมีองค์ประกอบหนึ่งรายการสำหรับ "ประเภทภาพ" แต่ละรายการหรือไม่ องค์ประกอบหนึ่งที่ไม่มี shader หนึ่งชิ้นที่มี shader เป็นต้น เพียงแค่ต้องป้อนข้อมูลบางอย่างใน "วิธีที่ถูกต้อง" เพื่อทำสิ่งนี้ เคล็ดลับและข้อผิดพลาดที่ต้องระวัง

2
วิธีจัดโครงสร้างสถานะเกมในระบบที่ยึดเอนทิตี / ส่วนประกอบ
ฉันทำเกมที่ออกแบบมาพร้อมกับกระบวนทัศน์นิติบุคคลองค์ประกอบว่าระบบที่ใช้ในการติดต่อสื่อสารระหว่างส่วนประกอบตามที่อธิบายไว้ที่นี่ ฉันได้มาถึงจุดในการพัฒนาของฉันที่ฉันต้องเพิ่มรัฐเกม (เช่นหยุดเล่นระดับเริ่มต้นรอบเริ่มเกมมากกว่า ฯลฯ ) แต่ฉันไม่แน่ใจว่าจะทำอย่างไรกับกรอบของฉัน ฉันได้ดูตัวอย่างโค้ดนี้ในสถานะเกมที่ทุกคนดูเหมือนจะอ้างอิง แต่ฉันคิดว่ามันไม่เหมาะกับกรอบงานของฉัน ดูเหมือนว่าแต่ละรัฐจัดการรูปวาดของตนเองและปรับปรุง เฟรมเวิร์กของฉันมี SystemManager ที่จัดการการอัพเดตทั้งหมดโดยใช้ระบบ ตัวอย่างเช่นนี่คือคลาส RenderingSystem ของฉัน: public class RenderingSystem extends GameSystem { private GameView gameView_; /** * Constructor * Creates a new RenderingSystem. * @param gameManager The game manager. Used to get the game components. */ public RenderingSystem(GameManager gameManager) { super(gameManager); …

4
ฟังก์ชั่นแบบต่อเฟรมการโทรและการส่งข้อความที่ขับเคลื่อนด้วยเหตุการณ์ในการออกแบบเกม
การออกแบบเกมแบบดั้งเดิมอย่างที่ฉันรู้นั้นใช้ความหลากหลายและฟังก์ชั่นเสมือนจริงเพื่ออัพเดทสถานะของเกม กล่าวอีกนัยหนึ่งชุดฟังก์ชั่นเสมือนจริงจะถูกเรียกในช่วงเวลาปกติ (เช่น: ต่อเฟรม) ในทุกวัตถุในเกม เมื่อเร็ว ๆ นี้ฉันค้นพบว่ามีอีกระบบการส่งข้อความที่ขับเคลื่อนด้วยเหตุการณ์เพื่อปรับปรุงสถานะของวัตถุเกม ที่นี่วัตถุมักจะไม่ได้รับการปรับปรุงในแต่ละเฟรม แต่จะมีการสร้างระบบการส่งข้อความเหตุการณ์ที่มีประสิทธิภาพสูงและวัตถุเกมจะได้รับการอัพเดตหลังจากได้รับข้อความเหตุการณ์ที่ถูกต้องเท่านั้น จัดกิจกรรมขับเคลื่อนสถาปัตยกรรมเกมจะอธิบายได้ดีใน: เกมการเข้ารหัสที่สมบูรณ์โดยไมค์แมคชาฟฟรี ฉันขอความช่วยเหลือจากคำถามต่อไปนี้: อะไรคือข้อดีและข้อเสียของทั้งสองวิธีคืออะไร? อันไหนดีกว่าอีกอัน? การออกแบบเกมเป็นไปตามหลักสากลและดีกว่าในทุก ๆ ด้านหรือไม่? ดังนั้นจึงแนะนำให้ใช้งานแม้ในแพลตฟอร์ม mombile? อันไหนมีประสิทธิภาพมากขึ้นและยากต่อการพัฒนา เพื่อชี้แจงคำถามของฉันไม่ได้เกี่ยวกับการลบความหลากหลายโดยสิ้นเชิงจากการออกแบบเกม ฉันเพียงต้องการที่จะเข้าใจความแตกต่างและผลประโยชน์จากการใช้การส่งข้อความที่ขับเคลื่อนด้วยเหตุการณ์และการโทรปกติ (ต่อเฟรม) ไปยังฟังก์ชั่นเสมือนจริงเพื่ออัปเดตสถานะเกม ตัวอย่าง: คำถามนี้ทำให้เกิดความขัดแย้งเล็กน้อยที่นี่ดังนั้นฉันขอเสนอตัวอย่าง: ตาม MVC เครื่องมือเกมแบ่งออกเป็นสามส่วนหลัก: Application Layer (การสื่อสารของฮาร์ดแวร์และระบบปฏิบัติการ) เกมลอจิก มุมมองเกม ในเกมแข่งรถ Game View รับผิดชอบในการแสดงผลหน้าจอโดยเร็วที่สุดอย่างน้อย 30 เฟรมต่อวินาที Game View รับฟังอินพุตของผู้เล่นด้วย ตอนนี้สิ่งนี้เกิดขึ้น: ผู้เล่นกดแป้นคันเร่งเป็น 80% GameView สร้างข้อความ "เหยียบเชื้อเพลิงรถยนต์ …

5
ข้ามแพลตฟอร์ม API กราฟิกระดับต่ำ
เมื่อสร้างสิ่งที่เป็นนามธรรมระบบจะดีกว่าที่จะมีแพลตฟอร์ม API ที่แตกต่างกันที่ซ่อนอยู่โดยอินเตอร์เฟซทั่วไปในระดับต่ำสุดที่เหมาะสม คำนึงถึงความทันสมัยที่แตกต่างกัน (โดยไม่มีฟังก์ชั่นคงที่) API กราฟิคดั้งเดิม: OpenGLES 2.0+, OpengGL 3.0+, DirectX 10.0+, Xbox DirectX 9, LibGCM ถ้ามีใครอยากสร้างAPI กราฟิคระดับต่ำให้อยู่เหนือพวกเขาทั้งหมดนี่จะเป็นวิธีที่ดีที่สุดในการทำให้มันผอมและเร็วที่สุดเท่าที่จะเป็นไปได้?

1
วิธีแคชทรัพยากรในระบบการแสดงผล homebrew ของฉัน
พื้นหลัง: ฉันกำลังออกแบบระบบการเรนเดอร์ 3D แบบง่ายสำหรับสถาปัตยกรรมชนิดเอนทิตีคอมโพเนนต์โดยใช้ C ++ และ OpenGL ระบบประกอบด้วย renderer และกราฟฉาก เมื่อฉันเสร็จสิ้นการทำซ้ำครั้งแรกของโหมดแสดงภาพฉันอาจกระจายกราฟฉากลงในสถาปัตยกรรม ECS สำหรับตอนนี้มันเป็นตัวยึดตำแหน่งทางเดียวหรืออื่น หากเป็นไปได้ต่อไปนี้เป็นเป้าหมายของฉันสำหรับผู้สร้างภาพ: ความง่าย นี่เป็นโครงการวิจัยและฉันต้องการที่จะสามารถเปลี่ยนแปลงและขยายระบบของฉันได้อย่างง่ายดาย (ด้วยวิธีการของ ECS) การปฏิบัติ ฉากของฉันอาจมีนางแบบขนาดเล็กจำนวนมากและยังมีเล่มขนาดใหญ่ที่มีรูปทรงเรขาคณิตมากมาย ไม่สามารถรับวัตถุจากบริบท OGL และเรขาคณิตบัฟเฟอร์ทุกเฟรมการเรนเดอร์ ฉันตั้งเป้าหมายในการหาที่ตั้งของข้อมูลเพื่อหลีกเลี่ยงการพลาดแคช มีความยืดหยุ่น มันจะต้องสามารถแสดงสไปรต์โมเดลและโวลุ่ม (voxels) แยกออก กราฟฉากอาจถูก refactored ลงในสถาปัตยกรรมหลักของ ECS หลังจากที่ฉันเขียน renderer ของฉัน modular เป็นเรื่องดีที่สามารถสลับในโหมดแสดงภาพที่ต่างกันได้โดยไม่ต้องเปลี่ยนกราฟฉากของฉัน ความโปร่งใสอ้างอิงซึ่งหมายความว่า ณ เวลาใด ๆ ฉันสามารถให้มันถูกต้องฉากใด ๆ และมันจะทำให้ภาพเดียวกันสำหรับฉากนั้น โดยเฉพาะอย่างยิ่งเป้าหมายนี้ไม่จำเป็นต้องมี ฉันคิดว่ามันจะช่วยทำให้การจัดลำดับฉากเป็นเรื่องง่ายขึ้น (ฉันจะต้องสามารถบันทึกและโหลดฉาก) และให้ความยืดหยุ่นในการสลับฉากต่าง ๆ …

2
เทคนิคที่ดีสำหรับการซิงค์การกระทำการเล่นเกมกับการกำหนดเวลาของภาพเคลื่อนไหวที่เฉพาะเจาะจงหรือไม่
ดังนั้นฉันจึงเจอปัญหาในเกมที่ฉันกำลังดำเนินการอยู่ แต่ดูเหมือนว่าจะเป็นสิ่งพื้นฐานที่สวยที่อาจเกิดขึ้นในเกมจำนวนมาก เกมของฉันต้องการให้ฟังก์ชั่นการเล่นเกมบางอย่างเกิดขึ้นในช่วงเวลาที่เฉพาะเจาะจงระหว่างภาพเคลื่อนไหวของตัวละคร และอย่างที่ชื่อบอกไว้ฉันสงสัยว่าอะไรคือเทคนิคที่ดีและกลยุทธ์พื้นฐานในการซิงโครไนซ์เหตุการณ์ / ฟังก์ชั่น / การกระทำที่เกี่ยวข้องกับการเล่นเกมไปยังจุดที่เฉพาะเจาะจงในภาพเคลื่อนไหวของตัวละคร นี่คือตัวอย่างง่ายๆของสิ่งที่ฉันพูดถึงในเกมประเภทต่างๆ: ตัวละครของคุณโหลดปืนของพวกเขาในนักกีฬา ตัวละครของคุณเล่นภาพเคลื่อนไหว 'รีโหลด' ของเขา / เธอ แต่สิ่งสำคัญคือฟังก์ชั่นที่ตั้งค่าตัวแปรแอมโมปัจจุบันนั้นจะเรียกเฉพาะในช่วงเวลาที่แน่นอนหลังจากที่นิตยสารเปลี่ยนเป็นและปืนถูกง้าง นี่อาจเป็นจุดที่อยู่ตรงกลางของภาพเคลื่อนไหวโหลดซ้ำ ในเทิร์นอิงเบสตัวละครของคุณจะยืนเป็นเส้นตรงตามแนวของศัตรู เมื่อได้รับคำสั่งให้โจมตีหนึ่งในตัวละครของคุณจะวิ่ง / กระโดดขึ้นไปถึงหนึ่งในศัตรูและฟันดาบยักษ์ของพวกเขาก่อนที่จะวิ่ง / กระโดดกลับไปที่ที่ยืนของพวกเขา คุณต้องการตรวจสอบให้แน่ใจว่าศัตรูได้รับความเสียหายในช่วงเวลาที่แน่นอนที่มีการเล่นอนิเมชั่นอย่างเจ็บแสบ - บางจุดระหว่างวิ่งขึ้นและวิ่งกลับ ในเกมลับ ๆ ล่อๆตัวละครของคุณสามารถแอบและโต้ตอบกับคอมพิวเตอร์และปุ่มต่าง ๆ ในโลก อาจมีปุ่มที่ปิดแหล่งจ่ายไฟให้กับไฟหน้าด่านที่คุณกำลังแทรกซึมอยู่ เมื่อกดปุ่มแอ็คชันตัวละครของคุณจะยื่นออกมาแล้วกดปุ่มจากนั้นกลับสู่ท่าทางที่ไม่ได้ใช้งาน คุณต้องการปิดไฟที่จุดที่แน่นอนในภาพเคลื่อนไหว 'push_button' เมื่อกดปุ่ม กรณีของฉันเป็นที่ยอมรับมากที่สุดเป็นตัวอย่างที่สองซึ่งฉันได้สร้างแอนิเมชั่นที่ตัวละครที่หันตามตัวฉันพุ่งไปข้างหน้าในระหว่างการโจมตีและฉันต้องการความเสียหายที่จะนำมาใช้ในช่วงเวลาที่แน่นอนว่า . เพราะเกมของฉันใช้ระบบเทิร์นเบส (ลองนึกภาพบางอย่างเช่นไฟนอลแฟนตาซีหรือไฟร์เอมเบลม) ฉันต้องการความเสียหาย / การรักษา / เวทมนต์ / ฯลฯ ที่จะใช้ในเวลาที่ถูกต้องในระหว่างการเคลื่อนไหวของตัวละครแต่ละตัวถึงแม้ว่าฉันจะไม่ได้ใช้การชนกันของข้อมูล ฉันควรจะพูดถึงว่าฉันกำลังสร้างเกมของฉันในเกมเอ็นจิ้นที่ได้รับความนิยมและตอนนี้ฉันกำลังจัดการสิ่งนี้โดยใช้กิจกรรมแอนิเมชั่นของพวกเขาหรือแจ้งให้บรรลุบางสิ่งบางอย่างใกล้เคียงกับผลลัพธ์ที่ต้องการ แอนิเมชันเฉพาะคำสั่ง …

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