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

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

9
เกมโอเพนซอร์ซที่ดีที่ต้องเรียนรู้คืออะไร? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันต้องการดาวน์โหลดซอร์สโค้ดของเกมโอเพ่นซอร์สดังนั้นฉันจึงสามารถคุ้นเคยกับสถาปัตยกรรมเกมได้ มีใครรู้เกมที่มีซอร์สโค้ดที่อ่านง่ายและเข้าใจได้ง่ายหรือไม่? แก้ไข: หลังจากคิดแล้วฉันต้องการสร้างเกมที่สามารถเล่นบนเดสก์ท็อปหรือโทรศัพท์ Andriod ด้วยกราฟิก 2D

2
นักแสดงในการพัฒนาเกมคืออะไร?
ฉันกำลังอ่านหนังสือเกี่ยวกับการพัฒนาเกม (การเข้ารหัสเกมฉบับสมบูรณ์แบบที่สี่ ) และมีหัวข้อ "นักแสดง" ซึ่งเพิ่งอธิบายวิธีใช้พวกเขาสั้น ๆ แทนที่จะอธิบายว่ามันคืออะไร นี่คือวิธีที่หนังสือแนะนำนักแสดงเหล่านี้: เกมเต็มไปด้วยวัตถุที่ทำให้โลกของคุณมีชีวิตชีวา เกมสงครามโลกครั้งที่สองอาจเต็มไปด้วยรถถังและเครื่องบินในขณะที่เกมนิยายวิทยาศาสตร์แนวอนาคตอาจมีหุ่นยนต์และยานอวกาศ เช่นเดียวกับนักแสดงบนเวทีวัตถุเหล่านี้เป็นหัวใจของการเล่นเกม ดูเหมือนเหมาะสมที่เราเรียกพวกเขาว่า "นักแสดงเกม" เพราะนั่นคือสิ่งที่พวกเขาเป็น นักแสดงเกมเป็นวัตถุที่แสดงถึงนิติบุคคลเดียวในโลกเกมของคุณ มันอาจเป็นรถกระบะกระสุนรถถังโซฟา NPC หรืออะไรก็ตามที่คุณนึกออก ในบางกรณีโลกของตัวเองอาจเป็นนักแสดง สิ่งสำคัญคือการกำหนดพารามิเตอร์ของนักแสดงเกมและเพื่อให้แน่ใจว่ามีความยืดหยุ่นและสามารถใช้ซ้ำได้มากที่สุด มีหลายวิธีในการกำหนดนักแสดงเกมเช่นเดียวกับเกม เช่นเดียวกับทุกอย่างในการเขียนโปรแกรมคอมพิวเตอร์แทบจะไม่มีทางแก้ปัญหาที่สมบูรณ์แบบ ฉันสามารถเข้าใจบางสิ่งเพียงเล็กน้อย: มันเป็นสิ่งที่เป็นนามธรรมในเกมที่สามารถทำการกระทำได้ มันมีสถานะเป็นของตัวเอง พฤติกรรมของมันมักจะนำมาใช้เป็นเครื่องรัฐ นี่ไง. ฉันมาพร้อมกับพื้นหลังการเขียนโปรแกรมระบบเพื่อการพัฒนาเกมและดังนั้นฉันอยากรู้โดยทั่วไปสิ่งที่นักแสดงอยู่ในความหมายของการพัฒนาเกม, วิธีการใช้งาน, วิธีการใช้งาน, การใช้งานทั่วไป, ปัญหาที่แก้ได้อย่างไร ทำไม. ฉันต้องการคำอธิบายว่าเด็กสามารถเข้าใจได้ ฉันได้พยายามค้นหาข้อมูลนี้บน google แล้ว แต่มันนำฉันไปที่ "นักแสดง" คนอื่นแทน: การเขียนโปรแกรมพร้อมกันส่วนใหญ่เวลาหรือนักแสดงเกม แต่ไม่มีคำอธิบายที่ดี

4
เซิร์ฟเวอร์ซ็อกเก็ตและเซิร์ฟเวอร์เกมควรแยกกระบวนการหรือไม่
สมมติว่าเกมไคลเอนต์ / เซิร์ฟเวอร์มาตรฐานที่เรียบง่าย สำหรับเซิร์ฟเวอร์มันคุ้มค่าหรือไม่ที่จะมีกระบวนการแยกต่างหากที่รับฟังการเชื่อมต่อและข้อความจากไคลเอนต์และส่งข้อมูลผ่านซ็อกเก็ตท้องถิ่นหรือ stdin ไปยังกระบวนการอื่นที่รันเซิร์ฟเวอร์เกมจริง อีกทางเลือกหนึ่งคือให้ทำทั้งสองอย่างในขั้นตอนเดียว การจัดคิวข้อความขาเข้าและดำเนินการตามลำดับที่ถูกต้องไม่ควรมีปัญหาการหยุดชะงัก ฉันสงสัยว่าทรัพยากรพิเศษที่จะแยก "กิจกรรม" สองรายการนั้นคุ้มค่าหรือไม่ ฉันควรตัดสินใจอย่างไร ฉันต้องการได้ยินข้อดี / ข้อเสียใด ๆ

6
สถาปัตยกรรม OOP สำหรับฮีโร่ที่มีคุณสมบัติมากมาย
ฉันกำลังจะเริ่มเกมสวมบท RPG แบบเบราว์เซอร์ที่มีตัวละครที่สามารถต่อสู้กับคนอื่นได้ สิ่งนี้เกี่ยวข้องกับรายการทักษะ 10 อย่างเช่นความแข็งแกร่งความคล่องแคล่วและอื่น ๆ พร้อมด้วยทักษะเพิ่มเติมสำหรับอาวุธที่แตกต่างกัน มีวิธีที่ดีกว่าในการออกแบบคลาสของตัวละครนี้แล้วเพียงแค่มีทักษะเหล่านั้นเป็นคุณลักษณะคลาส? ดูเหมือนง่าย แต่ฉันลังเลเพราะความซุ่มซ่าม class Char(self): int strength int dexterity int agility ... int weaponless int dagger ...
14 architecture  oop 

3
เหตุผลที่อยู่เบื้องหลังการออกแบบเอนจิ้น Unity3D (วัตถุเกม / องค์ประกอบการแปลง)
ฉันพยายามที่จะเข้าใจเหตุผลที่อยู่เบื้องหลังการออกแบบเอ็นจิ้น Unity3D และนี่คือสิ่งที่ฉันไม่สามารถเข้าใจได้: ทำไมการแปลงข้อมูลที่เก็บไว้ในส่วนประกอบแยกต่างหากแทนที่จะเป็นส่วนหนึ่งของ GameObject เช่นชื่อมาสก์เลเยอร์และ แท็ก? มันไม่สามารถลบออกได้เหมือนกับส่วนประกอบอื่น ๆ ทั้งหมดอย่างไรก็ตามไม่มีทางเลือกและไม่จำเป็นต้องลบออก

2
นี่เป็นสถาปัตยกรรมที่เหมาะสมสำหรับเกมบนมือถือ MMORPG ของเราหรือไม่
ทุกวันนี้ฉันพยายามออกแบบสถาปัตยกรรมของเกม MMORPG บนมือถือใหม่สำหรับ บริษัท ของฉัน เกมนี้คล้ายกับ Mafia Wars, iMobsters หรือ RISK แนวคิดพื้นฐานคือการเตรียมกองทัพให้พร้อมเพื่อต่อสู้กับคู่ต่อสู้ของคุณ (ผู้ใช้ออนไลน์) แม้ว่าก่อนหน้านี้ฉันเคยทำงานกับแอพมือถือหลายตัว แต่นี่เป็นสิ่งใหม่สำหรับฉัน หลังจากการต่อสู้อย่างหนักฉันได้พบกับสถาปัตยกรรมที่แสดงด้วยความช่วยเหลือของแผนภาพการไหลระดับสูง: เราตัดสินใจที่จะไปกับรูปแบบไคลเอนต์ - เซิร์ฟเวอร์ จะมีฐานข้อมูลส่วนกลางบนเซิร์ฟเวอร์ ลูกค้าแต่ละรายจะมีฐานข้อมูลท้องถิ่นของตัวเองซึ่งจะยังคงซิงค์กับเซิร์ฟเวอร์ ฐานข้อมูลนี้ทำหน้าที่เป็นแคชสำหรับจัดเก็บสิ่งต่าง ๆ ที่ไม่เปลี่ยนแปลงบ่อยครั้งเช่นแผนที่ผลิตภัณฑ์สินค้าคงคลังเป็นต้น ด้วยรุ่นนี้ฉันไม่แน่ใจว่าจะแก้ไขปัญหาต่อไปนี้ได้อย่างไร: อะไรจะเป็นวิธีที่ดีที่สุดในการซิงโครไนซ์เซิร์ฟเวอร์และฐานข้อมูลลูกค้า เหตุการณ์ควรถูกบันทึกลงในฐานข้อมูลท้องถิ่นก่อนที่จะอัปเดตไปยังเซิร์ฟเวอร์หรือไม่ ถ้าแอพยุติลงด้วยเหตุผลบางอย่างก่อนที่จะบันทึกการเปลี่ยนแปลงในฐานข้อมูลส่วนกลาง คำร้องขอ HTTP แบบง่ายจะมีจุดประสงค์ในการซิงโครไนซ์หรือไม่ จะทราบได้อย่างไรว่าผู้ใช้คนใดที่เข้าสู่ระบบอยู่ในปัจจุบัน? (วิธีหนึ่งอาจให้ไคลเอนต์ส่งคำขอไปยังเซิร์ฟเวอร์หลังจากทุก ๆ x นาทีเพื่อแจ้งว่ามีการใช้งานอยู่มิฉะนั้นให้ถือว่าไคลเอ็นต์ไม่ทำงาน) การตรวจสอบด้านลูกค้าเพียงพอหรือไม่ หากไม่มีวิธีการคืนค่าการกระทำหากเซิร์ฟเวอร์ไม่ได้ตรวจสอบบางอย่าง? ฉันไม่แน่ใจว่านี่เป็นวิธีแก้ปัญหาที่มีประสิทธิภาพหรือไม่ ฉันจะขอบคุณมาก ๆ ถ้าคนที่ทำงานในแอพนั้นสามารถแบ่งปันประสบการณ์ซึ่งอาจช่วยให้ฉันได้เจอสิ่งที่ดีกว่า ขอบคุณล่วงหน้า. ข้อมูลเพิ่มเติม: ฝั่งไคลเอ็นต์ถูกนำไปใช้ในเอ็นจิ้นเกม C ++ ที่เรียกว่ามาร์มาเลด นี่คือเอ็นจิ้นเกมข้ามแพลตฟอร์มซึ่งหมายความว่าคุณสามารถเรียกใช้แอพของคุณในระบบปฏิบัติการมือถือที่สำคัญทั้งหมด เราสามารถบรรลุเธรดได้อย่างแน่นอนและยังแสดงให้เห็นในแผนภาพการไหลของฉัน …

1
ทำไมการพัฒนาเครื่องเล่นเกมจำลองจึงเป็นเรื่องยาก
ฉันพบว่าอีมูเลเตอร์น่าดึงดูดใจเสมอ ฉันต้องการสร้างโปรแกรมจำลองสำหรับคอนโซลหรืออุปกรณ์พกพารุ่นเก่าอย่างจริงจัง มันจะช่วยให้ฉันได้รับความชื่นชมอย่างมากของฮาร์ดแวร์และเกมที่สร้างขึ้นสำหรับฮาร์ดแวร์นั้น อย่างไรก็ตามผู้คนมักจะพูดว่ามันยากแค่ไหนและฉันไม่ควรลองด้วยซ้ำ ฉันอยากรู้ว่าทำไมถึงเป็นเช่นนั้น นอกจากนี้ฉันต้องการคำแนะนำเกี่ยวกับสถานที่ที่ดีในการเริ่มต้นและฉันจะหาข้อมูลที่ต้องการได้ที่ไหน

4
ฉันจะออกแบบชุดรูปแบบการโต้ตอบวัตถุเกมที่มีประสิทธิภาพด้วยสถาปัตยกรรมที่ใช้ส่วนประกอบได้อย่างไร
นี่เป็นคำถามการออกแบบ ... ฉันแน่ใจว่านี่จะเป็นแบบทั่วไปมากขึ้น แต่ฉันมีปัญหากับมัน ฉันสงสัยเกี่ยวกับการออกแบบสำหรับการโต้ตอบวัตถุเกม - นี่คือตัวอย่างของฉัน (2D puzzle-platformer) สมมติว่าผู้เล่นกำลังพยายามผ่านระดับ มีไฟมากมายที่สามารถชี้ไปในทิศทางที่แตกต่าง นี่คือตัวอย่างของวัตถุแสงเหล่านี้ที่อาจโต้ตอบกัน หนึ่งไฟฉายโครงร่างที่อนุญาตให้ผู้เล่นข้ามช่องว่างได้ แสงหนึ่งดวงลดค่าสัมประสิทธิ์แรงเสียดทานของสิ่งใดก็ตามที่มันสัมผัส แสงหนึ่งอันจะทำให้เอฟเฟกต์ของแสงทั้งหมดซึ่งจะทำให้แพลตฟอร์มหายไปในขณะที่แสงนั้นเปิดอยู่และโมฆะการดัดแปลงแรงเสียดทาน ฯลฯ ... วิธีที่ดีที่สุดในการแก้ไขปัญหานี้เมื่อใช้สถาปัตยกรรมส่วนประกอบคืออะไร ส่วนประกอบสำหรับวัตถุหลักแต่ละชนิดนั้นดูเหมือนชัดเจนรวมถึงวิธีการที่ชัดเจนในการกำหนดผลกระทบที่มีต่อสิ่งแวดล้อม ชั้นเรียนเพื่อ "แก้ไข" การโต้ตอบ (ดูเหมือนว่าจะกลายเป็นระเบียบได้อย่างรวดเร็ว)? การใช้ลวดลายตกแต่งภายในเพื่อสร้างวัตถุรวมกันสำหรับผู้ที่มีปฏิสัมพันธ์ในเวลาที่กำหนด? โครงสร้างข้อมูลที่ให้ยืมกับสิ่งนี้? นอกจากนี้การเชื่อมต่อเสียงกับการโต้ตอบเหล่านี้ ดูเหมือนว่าการเชื่อมต่อเสียงกับระบบจะเหมือนกับการเชื่อมต่อกับคุณสมบัติอื่น ๆ เช่นการมองเห็นหรือการเคลื่อนไหว / การชนของผู้เล่น เห็นได้ชัดว่าเมื่อมีการเพิ่มส่วนประกอบเพิ่มเติมมันจะดีถ้ามีระบบที่แข็งแกร่งที่สามารถจัดการกับชิ้นส่วนใหม่ด้วยการปรับเปลี่ยนเล็กน้อย แต่ฉันไม่คุ้นเคยกับวิธีการออกแบบสิ่งนี้ ข้อมูลอื่น ๆ : เครื่องยนต์ฉันใช้เป็นเครื่องมือ XNA เรียกIceCream

2
เคล็ดลับสำหรับการใช้กลไกการค้นหา MMO?
คุณควรแนะนำเครื่องมือรูปแบบหรือแนวทางปฏิบัติที่ดีที่สุดในการปรับใช้กลไกการค้นหาที่ระบุด้านล่างนี้ ฉันกำลังพูดถึงสถาปัตยกรรมซอฟต์แวร์ (ควรเป็นแบบทั่วไป) และตัวเลือกสำหรับการเดินสายวัตถุการสมัครสมาชิกกิจกรรมและการแสดงเงื่อนไข ยินดีต้อนรับการกล่าวถึงเครื่องมือ / ไลบรารีที่คุณใช้เสร็จแล้วยินดีต้อนรับ แก้ไข:หากคุณใช้งานสคริปต์คุณแนะนำการตั้งค่าแบบใด ที่ต้องการ: ง่าย 2D mmo (rpg) ข้อมูลเกมทั้งหมดรวมถึงเควสจะถูกเก็บไว้ในฐานข้อมูลเชิงสัมพันธ์ เหตุการณ์ใด ๆ ในเกมสามารถกระตุ้นการแสวงหาใหม่สำหรับผู้เล่นหรือความก้าวหน้าของภารกิจที่มีอยู่ การสืบเสาะสามารถมีเงื่อนไขตามจำนวนที่ต้องการก่อนที่ผู้เล่นจะสามารถทำภารกิจได้ เควสสามารถประกอบด้วยเควสย่อย / ขั้นตอนจำนวนเท่าใดก็ได้พร้อมเงื่อนไขโดยพลการ ภารกิจจะมีตั้งแต่ง่าย ๆ : คุยกับ A - kill 5 B - คุยกับ A - เพิ่มสุขภาพอย่างถาวร ค่อนข้างเกี่ยวข้อง: ใช้ไอเท็มในพื้นที่ X - ไปที่พื้นที่ Y - บอทจะวางไข่ - ฆ่าบอทโดยไม่ได้รับความเสียหายมากกว่า 10% - บอทดรอปไอเทม - รับไอเทม …

1
เมื่อใดจึงต้องใช้การผสมผสานต้นไม้กับเครื่องรัฐสำหรับภาพเคลื่อนไหว
ฉันเป็นนักพัฒนาเกมที่มีประสบการณ์ทำให้เกมแรกของฉันมีตัวละครภาพเคลื่อนไหว 3 มิติ (เป็นเอกภาพ) และฉันกำลังดิ้นรนที่จะคิดว่าเมื่อใดควรใช้ต้นไม้ผสมกับเครื่องแสดงสถานะภาพเคลื่อนไหว ฉันเข้าใจทั้งแนวความคิด แต่ได้เห็นทั้งต้นไม้ผสมและเครื่องแสดงสถานะภาพเคลื่อนไหวที่ใช้สำหรับแอนิเมชั่นตัวละครในแบบฝึกหัดทั้งจาก Unity และจากแหล่งอื่น ๆ ฉันไม่แน่ใจว่าเมื่อใด / ทำไมคนหนึ่งถึงดีกว่าคนอื่น ๆ หวังว่าจะมีใครบางคนชี้ให้ฉันในทิศทางที่ถูกต้อง เกมของฉันคือแอคชั่นคนที่ 3 rpg a'la WoW หรือ KOTOR หรือ Mass Effect (ระบบต่าง ๆ ที่ฉันรู้จัก แต่มุมมองและสไตล์การต่อสู้นั้นใกล้เคียงกันในระดับสูง) ฉันมีอนิเมชั่นมากมายสำหรับการโจมตีบล็อกแสร้งทำเป็นตายเดินวิ่งกระโดดยิง ฯลฯ แต่ฉันไม่ชัดเจนว่าจะเรียงลำดับพวกมันเข้าด้วยกันได้อย่างไร ฉันได้เห็นต้นไม้ผสมผสานที่ใช้สำหรับการเคลื่อนไหวซึ่งทำให้ฉันรู้สึกเมื่อพยายามเก็บตัวอักษรเคลื่อนไหว แต่ฉันไม่เข้าใจว่าจะไปจากต้นไม้ที่ผสมผสานไปสู่สถานะการโจมตีได้อย่างไรและไม่มีอะไรที่ฉันเคยเห็นมาก่อนเลย ฯลฯ ) ฉันต้องทำให้ต้นไม้ผสมผสานจากสถานะการเคลื่อนไหวของฉันไปยังสถานะการโจมตี / ความตาย / การหลบหลีกหรือไม่? ฉันสามารถควบคุมได้มากขึ้นโดยใช้เพียงเครื่องจักรของรัฐ? ฉันค่อนข้างระมัดระวังเกี่ยวกับกลไกของรัฐเนื่องจากการเปลี่ยนแปลงช่วงที่เป็นเรื่องธรรมดากับพวกเขาและเพราะฉันสงสัยว่ามันมีศักยภาพที่มากขึ้นสำหรับการเรียงลำดับภาพเคลื่อนไหวแบบไร้สาระโดยไม่ต้องผสม ฉันวางแผนที่จะใช้ตัวควบคุม Unity อักขระและเขียนสคริปต์ตรรกะของตัวเองเพื่อขับมัน สำหรับ AI ฉันจะใช้ตัวแทน nav …

3
วัตถุของอาร์เรย์หรืออาร์เรย์ของวัตถุ?
ฉันกำลังสร้างเกมซิมการจัดการบางอย่างตามแนวของ Roller Coaster Tycoon ฉันต้องการทราบว่าวิธีที่ดีที่สุดในการจัดโครงสร้างวัตถุในโลกของฉันคืออะไรเพื่อเพิ่มประสิทธิภาพ สมมติว่าฉันมี 5,000 คนในเกมของฉันฉันสามารถ: ทำวัตถุและเก็บไว้ในอาร์เรย์อย่างนั้น class person() { this.x = 0; this.y = 0; this.thirst = 15; this.hunger = 15; // etc.. add methods: public findPath(int destX, int destY) { // and so on } people = new person[5000]; for (int = 0; i < 5000; …

3
Unity มีการสนับสนุนไทม์ไลน์ที่มีอยู่แล้วหรือไม่?
ฉันวางแผนที่จะพัฒนาเกมใน Unity3D และพยายามทำความเข้าใจกับสิ่งที่เอ็นจิ้นได้จัดเตรียมไว้แล้วและสิ่งที่ฉันต้องเขียนโค้ดเอง ตัวเกมจะเป็นเกมจังหวะซึ่งหมายถึงการซิงก์เสียงและเหตุการณ์กราฟิกเพื่อให้พวกเขาเล่นเสมอเมื่อพวกเขาควรจะ สิ่งที่ฉันกำลังมองหาเพื่อหลีกเลี่ยงเป็นสถานการณ์ที่อาจเกิดความล่าช้าซึ่งเสียงหรือกราฟิกเริ่มคืบหน้าเร็วกว่าอีก เมื่อเราพูดถึงระบบการประสานงานประเภทนี้ในชั้นเรียนการออกแบบเกมของฉันที่มหาวิทยาลัยศาสตราจารย์ของฉันเรียกการออกแบบประเภทนี้ว่า "เส้นเวลา" แนวคิดที่ว่าคุณสามารถยกตัวอย่างสิ่งเหล่านี้อย่างน้อยหนึ่งอย่างเพื่อความก้าวหน้าในอัตราที่ต่างกันกำหนดสิ่งต่าง ๆ ที่จะเกิดขึ้นในอนาคตและซิงค์เหตุการณ์เป็นระยะ อย่างไรก็ตามการเรียกคลาสนี้ว่า "Timeline" นั้นถูก จำกัด เฉพาะอาจารย์ของฉันเองเนื่องจาก googling สำหรับฟังก์ชั่นการใช้งาน "Timeline" บางอย่างของ API นั้นเป็นความพยายามที่ไร้ผล มีชื่อสามัญเพิ่มเติมสำหรับฟังก์ชันประเภทนี้หรือไม่ Unity มีวิธีการใด ๆ ที่มีอยู่ก่อนเพื่อประสานงานการจัดกำหนดการของเหตุการณ์เช่นนี้หรือเป็นสิ่งที่ต้องสร้างขึ้นบนเครื่องยนต์หรือไม่ และถ้าเป็นเช่นนั้นฉันขอขอบคุณที่ชี้ไปที่บทเรียนบางอย่าง!

2
ฉันจะตรวจสอบได้อย่างไรว่าผู้เล่นได้สำเร็จหรือไม่?
ฉันสร้างเกม MMO และฉันเพิ่งมาถึงจุดที่ฉันต้องใช้ความสำเร็จ ... ฉันจะทำอย่างไร สิ่งที่ตรงไปตรงมาที่สุดที่ต้องทำคือเรียกใช้ทุก ๆ 100ms: for a in achievements for p in players if a.meetsRequirements(p) then p.completeAchievement(a) แต่นั่นก็ทำให้เกิดภาวะแทรกซ้อนมากขึ้น ตัวอย่างเช่นฉันจะตรวจสอบว่าความสำเร็จนั้นเสร็จสมบูรณ์ได้อย่างไร? ผู้เล่นมีคุณสมบัติที่กำหนดเองด้วยตัวเองเพื่อความสำเร็จที่เฉพาะเจาะจงหรือไม่? ฉันทำสิ่งนี้ด้วยเควสต์เพราะพวกเขาส่วนใหญ่จะ“ เก็บไม้ 100 อัน” ดังนั้นเควสต์ที่แอคทีฟของผู้เล่นจึงตรวจสอบว่า นอกจากนี้ต้องมีเวลาที่ดีกว่าในการตรวจสอบซึ่งจะทำให้เซิร์ฟเวอร์ของฉันช้าลงเป็นระยะฉันคิดว่า

3
วิธีหลีกเลี่ยงรูปแบบซิงเกิลสำหรับ Event Scheduler
ฉันต้องการสร้าง Event scheduler สำหรับเกมของฉันโดยพื้นฐานแล้วฉันต้องการที่จะสามารถกำหนดตารางเวลาการเรียกเหตุการณ์ของเกมได้ นี่อาจเป็นทริกเกอร์ครั้งเดียวหรือทริกเกอร์เป็นระยะ (เหตุการณ์ทริกเกอร์ "E_BIG_EXPLOSION" เป็นเวลา 5 วินาที ... ) มันน่าดึงดูดที่จะคิดว่านี่อาจเป็นสถานที่ที่ดีในการใช้ซิงเกิลตัน แต่ซิงเกิลนั้นค่อนข้างชั่วร้ายและพวกเขามักจะแพร่กระจายอย่างโรค ... ดังนั้นฉันจึงพยายามหลีกเลี่ยงพวกเขาทั้งหมด คุณจะเสนอการออกแบบแบบใดเพื่อหลีกเลี่ยงการใช้งานแบบซิงเกิลในกรณีนี้

3
วิธีที่ดีที่สุดในการจัดการกิจกรรมในเกม?
ฉันทำงานในเกมที่มีกิจกรรมในเกมบางอย่างที่ต้องเกิดขึ้นเป็นครั้งคราว ตัวอย่างที่ดีน่าจะเป็นการสอน คุณเริ่มเกมและมีหลายเหตุการณ์ในเกมที่เกิดขึ้น: คุณพบศัตรูคนแรกเกมหยุดและคุณได้รับคำอธิบายเกี่ยวกับวิธีฆ่ามัน คุณฆ่าศัตรูคนแรกคุณได้รับข้อความ "ดีมาก" คุณได้รับไอเท็มใหม่เมนูพร้อมป๊อปอัพไอเท็มสถิติ ฯลฯ เกมที่ฉันกำลังทำอยู่เป็นเกมปริศนาที่กฎในเกมค่อนข้างเหมือนกันทั้งหมดดังนั้นจึงไม่มีประสิทธิภาพในการเข้ารหัสเหตุการณ์ทั้งหมดเหล่านี้ในระดับที่ต่างกัน ฉันควรกำหนดเหตุการณ์เหล่านี้ในแหล่งภายนอกเช่น XML หรือไม่ จากนั้นเขียนล่ามที่อ่านค่า XML และตั้งค่าข้อกำหนดเหตุการณ์สำหรับระดับ ฉันไม่แน่ใจว่าฉันจะกำหนดเหตุการณ์ที่จะเกิดขึ้นได้อย่างไรเมื่อคุณฆ่าศัตรูสองคน เพียงเพื่อความชัดเจนฉันไม่ได้มองหาภาษาการเขียนโปรแกรมที่ดีที่สุดหรือภาษาสคริปต์ในการทำสิ่งนี้ แต่ยังมีวิธีการที่ดีที่สุดในการจัดการสิ่งนี้ ขอบคุณ! แก้ไข: ตัวอย่างที่สองเนื่องจากคำถามของฉันค่อนข้างเข้าใจยาก: ปัญหาที่ฉันมีคือการเพิ่มการกระทำบางอย่างในเกมในขั้นตอนที่ค่อนข้างเหมือนกันเสมอ เช่นเดียวกับการต่อสู้สวมบทบาท RPG ทุกคนมีเทิร์นเลือกทักษะและอื่น ๆ - มันเหมือนเดิมเสมอ แต่จะเกิดอะไรขึ้นถ้ามีกรณีที่ฉันต้องการแสดงภาพตัดคำบางแห่งระหว่างนั้น Modyfing โครงสร้างเกมทั้งหมดเพื่อผ่านไปในคลาสการต่อสู้ที่เปลี่ยนแปลงด้วย cutscene ที่รวมอยู่ดูเหมือนว่าไม่มีประสิทธิภาพมาก ฉันสงสัยว่าจะทำเช่นนี้ได้อย่างไร

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