การพัฒนาเกม

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

14
ฉันควรเลือกภาษาสคริปต์ใดสำหรับเกมของฉัน [ปิด]
ภาษาสคริปต์ดีกว่าภาษาอื่นในกรณีใดบ้าง คำตอบทั้งหมดได้รับการชื่นชมโปรดระบุคำอธิบายและอธิบายในกรณีที่ภาษาดีขึ้น (โปรดจำไว้ว่าหนึ่งภาษาต่อคำตอบ)
53 scripting 

1
สร้างฉากกลางคืนโดยไม่มืดบนหน้าจอ
สิ่งที่จะเป็นวิธีที่ดีในการทำให้ฉาก 3 มิติเป็น "เหมือน" ในคืนที่มืดโดยไม่มืดบนหน้าจอจนมองเห็นสิ่งต่าง ๆ ได้ยาก (โดยเฉพาะเมื่อเล่นในห้องที่มีแสงสว่างจ้า) ฉันได้ทดลองทำแสงสีฟ้าตามธรรมชาติและมีองค์ประกอบของสภาพแวดล้อมที่ค่อนข้างมืดกับส่วนประกอบที่สว่างกว่า แต่ฉันพบว่าผลที่ได้นั้นค่อนข้างขาดความเงาหรือยังมืดเกินไปขึ้นอยู่กับพารามิเตอร์ที่แน่นอน มีตัวอย่างที่ดีในการศึกษาหรือไม่?

5
บอทของเกมรับรู้โลกของเกมและเอนทิตีอื่น ๆ อย่างไร
คำถามนี้อยู่ในใจของฉันซักพัก ... ส่วนใหญ่เป็นเพราะฉันเห็นบอทสำหรับเกมทุกประเภทเช่น WoW และอื่น ๆ คำถามของฉันคือ; บอทรู้ได้อย่างไรว่าเกิดอะไรขึ้นบนหน้าจอ ฉันไม่ได้เล่น WoW ดังนั้นตัวอย่างของฉันอาจผิด แต่ถ้ามีตัวอย่างมีสัตว์ประหลาดบอทจะรู้ได้อย่างไรว่าสัตว์ประหลาดนั้นอยู่บนหน้าจอและรู้วิธีการโต้ตอบกับมันได้อย่างไร คุณสามารถนำสิ่งนี้ไปใช้กับเกมใด ๆ หรือเฉพาะสำหรับแต่ละเกมได้หรือไม่? ฉันขอโทษถ้าคำถามไม่ชัดเจน ... และฉันไม่ได้ถามว่าจะทำบอทได้อย่างไรและถามเพิ่มเติมว่าพวกเขาตรวจจับสิ่งต่าง ๆ บนหน้าจอได้อย่างไรเพราะมันค่อนข้างน่าสนใจสำหรับฉัน! ขอบคุณล่วงหน้า :)
52 bot 

3
อัลกอริทึมสำหรับปริมาณน้ำฝน + การสร้างแม่น้ำในภูมิประเทศที่สร้างขึ้นแบบขั้นตอน
เมื่อไม่นานมานี้ฉันรู้สึกทึ่งกับสิ่งต่าง ๆ ที่สามารถทำได้กับภูมิประเทศแบบขั้นตอนและเริ่มทำการทดลองกับการสร้างโลกขึ้นมาเล็กน้อย ฉันต้องการที่จะทำให้โลกเป็นเหมือนป้อมปราการของคนแคระที่มีรายได้ที่สร้างขึ้นจากการผสานแผนที่ต่างๆเข้าด้วยกัน ดังนั้นขั้นตอนแรกจึงถูกทำขึ้นมา การใช้อัลกอริทึม Diamond-Square ฉันได้สร้าง hieghtmaps ที่ดีบางอย่าง ขั้นต่อไปคือฉันต้องการที่จะเพิ่มคุณสมบัติของน้ำและสร้างพวกเขาค่อนข้างสมจริงกับปริมาณน้ำฝน ฉันได้อ่านเกี่ยวกับวิธีการที่แตกต่างกันสองสามอย่างเช่นเริ่มต้นที่จุดสูงสุดของแผนที่และ "ก้าว" ลงไปยังจุดต่ำสุดที่อยู่ใกล้เคียงกันการรวม / การเซาะเนื่องจากมันทำงานไปจนถึงระดับน้ำทะเล มีอัลกอริทึมใด ๆ ที่มีเอกสารเกี่ยวกับสิ่งนี้หรือมากกว่าข้อมือ? จะรักคำแนะนำ / ความคิดใด ๆ

4
วิธีที่เหมาะสมในการจัดการข้อมูลระหว่างฉากคืออะไร?
ฉันกำลังพัฒนาเกม 2D เกมแรกของฉันใน Unity และฉันเจอสิ่งที่ดูเหมือนคำถามสำคัญ ฉันจะจัดการข้อมูลระหว่างฉากได้อย่างไร ดูเหมือนจะมีคำตอบที่แตกต่างกันสำหรับสิ่งนี้: มีคนพูดถึงการใช้PlayerPrefsในขณะที่คนอื่นบอกฉันว่าควรใช้เก็บสิ่งอื่น ๆ เช่นความสว่างของหน้าจอเป็นต้น มีคนบอกฉันว่าวิธีที่ดีที่สุดคือให้แน่ใจว่าเขียนทุกอย่างเป็นเกมเซฟทุกครั้งที่ฉันเปลี่ยนฉากและเพื่อให้แน่ใจว่าเมื่อฉากใหม่โหลดขึ้นมารับข้อมูลจาก savegame อีกครั้ง เรื่องนี้ดูเหมือนว่าฉันจะสิ้นเปลืองในการแสดง ฉันผิดหรือเปล่า? โซลูชันอื่นซึ่งเป็นสิ่งที่ฉันนำมาใช้จนถึงขณะนี้คือการมีวัตถุเกมระดับโลกที่ไม่ได้ถูกทำลายระหว่างฉากจัดการข้อมูลทั้งหมดระหว่างฉาก ดังนั้นเมื่อเกมเริ่มขึ้นฉันโหลดฉากเริ่มต้นที่มีการโหลดวัตถุนี้ หลังจากจบเกมจะโหลดฉากเกมจริงครั้งแรกโดยปกติจะเป็นเมนูหลัก นี่คือการดำเนินการของฉัน: using UnityEngine; using UnityEngine.UI; using System.Collections; public class GameController : MonoBehaviour { // Make global public static GameController Instance { get; set; } void Awake () { DontDestroyOnLoad (transform.gameObject); Instance = …
52 unity 

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

4
ฉันจะค้นหาศิลปินเพื่อเล่นเกมได้อย่างไร [ปิด]
ฉันถาม "อย่างไร" มากกว่า "ที่ไหน" เพราะมีศิลปินจำนวนมากที่สงสัยอย่างไร้เหตุผลหรือไม่น่าเชื่อถือ สมมติว่าทั้งตำแหน่งการจ่ายเงินและไม่จ่ายเงิน (mods, เกมฟรี / โอเพ่นซอร์ส)
52 art 

10
สถานะเกม 'สแต็ค'?
ฉันกำลังคิดเกี่ยวกับวิธีใช้สถานะเกมในเกมของฉัน สิ่งสำคัญที่ฉันต้องการคือ: รัฐชั้นนำกึ่งโปร่งใสสามารถดูผ่านเมนูหยุดชั่วคราวเพื่อเกมที่อยู่เบื้องหลัง บางสิ่งบางอย่าง OO- ฉันพบว่าการใช้และเข้าใจทฤษฎีนี้ง่ายขึ้นรวมถึงการรักษาองค์กรและการเพิ่มมากขึ้น ฉันวางแผนที่จะใช้รายการที่เชื่อมโยงและถือว่าเป็นสแต็ก ซึ่งหมายความว่าฉันสามารถเข้าถึงสถานะด้านล่างเพื่อความโปร่งใสกึ่ง แผน: ให้สถานะสแต็กเป็นรายการเชื่อมโยงของตัวชี้ไปยัง IGameStates สถานะบนสุดจะจัดการคำสั่งอัพเดตและอินพุตของตัวเองจากนั้นมีสมาชิก isTransparent เพื่อตัดสินใจว่าควรดึงสถานะที่อยู่ภายใต้ จากนั้นฉันก็ทำได้: states.push_back(new MainMenuState()); states.push_back(new OptionsMenuState()); states.pop_front(); เพื่อเป็นตัวแทนของผู้เล่นที่โหลดจากนั้นไปที่ตัวเลือกแล้วเมนูหลัก นี่เป็นความคิดที่ดีหรือ ... ฉันควรมองอย่างอื่นไหม ขอบคุณ

9
ขั้นตอนวิธีการบรรจุพื้นผิว
อัลกอริทึมการบรรจุพื้นผิวที่ดีคืออะไร ในทางเทคนิคถังขยะนั้นบรรจุยากมากดังนั้นการเรียนรู้ด้วยตนเองจึงเป็นสิ่งที่ฉันต้องการจริงๆ

9
เกมที่กำหนดขึ้นมามีความเป็นไปได้อย่างไรในการเผชิญกับการไม่กำหนดระดับทศนิยม
เพื่อให้เกมเหมือนเครือข่าย RTS ฉันได้เห็นคำตอบมากมายที่นี่แนะนำให้ทำเกมที่กำหนดไว้อย่างสมบูรณ์ จากนั้นคุณจะต้องถ่ายโอนการกระทำของผู้ใช้ไปยังแต่ละอื่น ๆ และล่าช้าสิ่งที่ปรากฏเล็กน้อยเพื่อที่จะ "ล็อคใน" การป้อนข้อมูลของทุกคนก่อนที่จะแสดงเฟรมถัดไป ดังนั้นสิ่งต่าง ๆ เช่นตำแหน่งของยูนิตสุขภาพ ฯลฯ ไม่จำเป็นต้องได้รับการอัปเดตตลอดเวลาผ่านเครือข่ายเพราะการจำลองของผู้เล่นทุกคนจะเหมือนกันทุกประการ ฉันยังได้ยินสิ่งเดียวกันที่แนะนำสำหรับการทำรีเพลย์ อย่างไรก็ตามเนื่องจากการคำนวณจุดลอยตัวนั้นไม่ได้ถูกกำหนดระหว่างเครื่องหรือแม้แต่ระหว่างการรวบรวมโปรแกรมเดียวกันบนเครื่องเดียวกันสิ่งนี้เป็นไปได้จริงหรือ เราจะป้องกันความจริงที่ว่าทำให้เกิดความแตกต่างเล็กน้อยระหว่างผู้เล่น (หรือไกล) ที่กระเพื่อมตลอดทั้งเกมได้อย่างไร ฉันได้ยินบางคนแนะนำให้หลีกเลี่ยงจำนวนจุดลอยตัวทั้งหมดและใช้intเพื่อแสดงความฉลาดของเศษส่วน แต่นั่นไม่ได้ฟังดูเป็นประโยชน์สำหรับฉัน - ถ้าฉันต้องการตัวอย่างเช่นถ่ายมุมโคไซน์ของมุม? ฉันจำเป็นต้องเขียนห้องสมุดคณิตศาสตร์ทั้งหมดใหม่หรือไม่? โปรดทราบว่าฉันสนใจ C # เป็นหลักซึ่งเท่าที่ฉันสามารถบอกได้มีปัญหาเหมือนกับ C ++ ในเรื่องนี้

7
ปัญหาการปะทะกันของ Platformer AABB 2D
ฉันมีปัญหากับการแก้ไขการชนของ AABB ฉันแก้ไขทางแยก AABB โดยการแก้ไขแกน X ก่อนแล้วตามด้วยแกน Y สิ่งนี้ทำเพื่อป้องกันข้อผิดพลาดนี้: http://i.stack.imgur.com/NLg4j.png วิธีการปัจจุบันทำงานได้ดีเมื่อวัตถุเคลื่อนที่เข้าสู่เครื่องเล่นและผู้เล่นจะต้องถูกผลักในแนวนอน อย่างที่คุณเห็นใน. gif แหลมแนวนอนผลักผู้เล่นอย่างถูกต้อง เมื่อหนามแหลมแนวตั้งเคลื่อนที่เข้าหาผู้เล่นแกน X จะยังคงได้รับการแก้ไขก่อน สิ่งนี้ทำให้ "ใช้เดือยเป็นยก" เป็นไปไม่ได้ เมื่อผู้เล่นย้ายเข้ามาในแนวดิ่งแหลม (ได้รับผลกระทบจากแรงโน้มถ่วงตกเข้าไปในพวกเขา) เขาผลักแกน Y เพราะไม่มีการทับซ้อนกันบนแกน X เพื่อเริ่มต้น สิ่งที่ฉันลองใช้เป็นวิธีที่อธิบายไว้ในคำตอบแรกของลิงค์นี้: การตรวจจับการชนกันของวัตถุสี่เหลี่ยม 2 มิติ อย่างไรก็ตามสไปค์และวัตถุที่กำลังเคลื่อนที่จะเคลื่อนที่โดยการเปลี่ยนตำแหน่งของมันไม่ใช่ความเร็วและฉันจะไม่คำนวณตำแหน่งที่คาดการณ์ถัดไปจนกว่าจะมีการเรียกเมธอด Update () จำเป็นต้องพูดวิธีนี้ไม่ได้ผลเช่นกัน :( ฉันต้องแก้ปัญหาการชนกันของ AABB ในแบบที่ทั้งสองกรณีที่อธิบายไว้ข้างต้นทำงานได้ตามที่ตั้งใจไว้ นี่คือรหัสที่มาการชนกันของฉันในปัจจุบัน: http://pastebin.com/MiCi3nA1 ฉันรู้สึกขอบคุณจริง ๆ ถ้ามีคนสามารถตรวจสอบเรื่องนี้ได้เนื่องจากข้อผิดพลาดนี้ปรากฏอยู่ในเครื่องยนต์ตั้งแต่ต้นและฉันพยายามดิ้นรนเพื่อหาทางออกที่ดีโดยไม่ประสบความสำเร็จ สิ่งนี้ทำให้ฉันใช้เวลาหลายคืนในการดูรหัสการชนและป้องกันไม่ให้ฉันไปที่ "ส่วนที่สนุกสนาน" และเข้ารหัสตรรกะของเกม :( ฉันพยายามใช้ระบบการชนกันเช่นเดียวกับในการสาธิตแพลตฟอร์ม XNA …

4
ทำไมเกมถึงมีหมวก
ฉันสังเกตเห็นว่าเกมจำนวนมากมักจะมีหมวก ฉันสงสัยว่าทำไม มันเป็นประเพณีไหมที่จะเพิ่มหมวกให้กับเกมของคุณ? อะไรทำให้แนวโน้มนี้เป็นที่นิยมในการพัฒนาเกม

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

5
จะหลีกเลี่ยงวัตถุ GameManager god ได้อย่างไร?
ฉันเพียงแค่อ่านคำตอบสำหรับคำถามเกี่ยวกับโครงสร้างรหัสเกม มันทำให้ฉันสงสัยเกี่ยวกับGameManagerคลาสที่แพร่หลายและบ่อยครั้งที่มันจะกลายเป็นปัญหาในสภาพแวดล้อมการผลิต ให้ฉันอธิบายสิ่งนี้ อย่างแรกคือการสร้างต้นแบบ ไม่มีใครสนใจเกี่ยวกับการเขียนโค้ดที่ยอดเยี่ยมเราเพียงแค่พยายามทำให้บางสิ่งบางอย่างทำงานเพื่อดูว่าการเล่นเกมเพิ่มขึ้นหรือไม่ แล้วมี Greenlight GameManagerและในความพยายามที่จะทำความสะอาดสิ่งขึ้นบางคนเขียน อาจเป็นไปได้ที่จะถือมัดGameStatesอาจจะเก็บไม่กี่GameObjectsไม่มีอะไรใหญ่จริงๆ ผู้จัดการเล็ก ๆ น้อย ๆ ที่น่ารัก ในดินแดนที่สงบสุขก่อนการผลิตเกมกำลังก่อตัวขึ้นอย่างสวยงาม โคเดอร์มีคืนนอนหลับที่เหมาะสมและมีไอเดียมากมายในการสร้างสถาปัตยกรรมด้วยรูปแบบการออกแบบที่ยอดเยี่ยม จากนั้นการผลิตจะเริ่มขึ้นและในไม่ช้าแน่นอนว่าจะมีเวลาที่ จำกัด อาหารที่สมดุลหายไปนานแล้วตัวติดตามบั๊กแตกกับปัญหาผู้คนเครียดและเกมต้องได้รับการปล่อยตัวเมื่อวานนี้ ณ จุดนั้นโดยปกติแล้วสิ่งGameManagerนี้จะเป็นระเบียบขนาดใหญ่ที่แท้จริง (เพื่อให้สุภาพ) เหตุผลที่ง่าย หลังจากที่ทุกเมื่อเขียนเกมดี ... ทุกรหัสที่มาเป็นจริงที่นี่เพื่อจัดการเกม ง่ายเพียงเพิ่มคุณสมบัติพิเศษเล็ก ๆ น้อย ๆ นี้หรือแก้ไขข้อบกพร่องในGameManagerที่ซึ่งทุกอย่างจะถูกจัดเก็บอยู่แล้ว เมื่อเวลากลายเป็นปัญหาไม่มีวิธีการเขียนชั้นแยกต่างหากหรือแยกผู้จัดการยักษ์รายนี้เป็นผู้จัดการย่อย หลักสูตรนี้เป็นคลาสสิกต่อต้านรูปแบบที่: วัตถุพระเจ้า มันเป็นสิ่งที่ไม่ดีความเจ็บปวดที่จะผสานความเจ็บปวดที่จะรักษาความเจ็บปวดที่จะเข้าใจความเจ็บปวดที่จะเปลี่ยนแปลง คุณอยากแนะนำอะไรให้ป้องกันไม่ให้สิ่งนี้เกิดขึ้น แก้ไข ฉันรู้ว่ามันเป็นการล่อลวงที่จะตำหนิการตั้งชื่อ แน่นอนว่าการสร้างGameManagerชั้นเรียนไม่ได้เป็นความคิดที่ยอดเยี่ยม แต่สิ่งเดียวกันนี้สามารถเกิดขึ้นได้กับสิ่งที่สะอาดGameApplicationหรือGameStateMachineหรือGameSystemกลายเป็นที่ชื่นชอบของท่อเทปในตอนท้ายของโครงการ ไม่ว่าคุณจะตั้งชื่ออะไรคุณมีคลาสนั้นในรหัสเกมของคุณมันเป็นเพียงตัวอ่อนในตอนนี้คุณแค่ไม่รู้ว่ามันจะกลายเป็นมอนสเตอร์ตัวไหน ดังนั้นฉันจึงไม่คาดหวังคำตอบ "ตำหนิการตั้งชื่อ" ฉันต้องการวิธีที่จะป้องกันไม่ให้สิ่งนี้เกิดขึ้นเอกสารการเข้ารหัสและ / หรือกระบวนการที่ทีมสามารถติดตามได้โดยรู้ว่าสิ่งนี้จะเกิดขึ้นในบางช่วงของการผลิต เป็นเรื่องที่แย่เกินกว่าจะพูดได้ว่าหนึ่งเดือนของการแก้ไขข้อบกพร่องและคุณสมบัติในนาทีสุดท้ายเพียงเพราะพวกเขาทั้งหมดอยู่ในผู้จัดการที่ไม่มีใครสามารถจัดการได้

5
กำลังมองหาเทคนิคที่ดีสำหรับการเคลื่อนไหวของตัวละครในเกมแฮ็ค & สแลช
ฉันกำลังสร้างเกมแฮ็ค & สแลชและฉันต้องการให้ตัวละครของฉันเคลื่อนไหวอย่างเช่น Torchlight, Diablo เป็นต้นปัจจุบันฉันสร้างชุดของโหนดสำหรับพื้นที่ที่สามารถเดินได้ทั้งหมดของพื้น เมื่อฉันคลิกที่ผู้เล่นที่ไหนสักแห่งไปที่นั่นผ่านเส้นทางของการสอดแทรกโหนด มันดูไม่เป็นธรรมชาติมาก ผู้เล่นเคลื่อนไหวเหมือนหุ่นยนต์ ศัตรูใช้ระบบโหนดนี้เพื่อการเคลื่อนไหวและแบ่งปันปัญหาเดียวกัน แต่ฉันมีปัญหาอีกหนึ่งข้อกับพวกเขา เมื่อศัตรูตรวจพบผู้เล่นพวกเขาจะไปหาเขาโดยเส้นทางที่สั้นที่สุด บางครั้งพวกเขาใช้เส้นทางเดียวกันและต่อแถวเข้ากับผู้เล่นแทนที่จะล้อมรอบเขา ฉันไม่รู้วิธีที่จะทำให้ศัตรูเลือกเส้นทางที่แตกต่างและล้อมรอบผู้เล่น คุณรู้หรือไม่ว่าฉันจะแก้ปัญหานี้ได้อย่างไร? บางทีฉันควรใช้วิธีการที่แตกต่างกันสำหรับการเคลื่อนไหวของตัวละคร? เทคนิคปัจจุบันของฉัน: ภาพหน้าจอของ Torchlight: --- UPDATE --- ฉันต้องการทราบวิธีจัดการกับสถานการณ์เหล่านี้: สถานการณ์ที่ 1 ฉันมีสิ่งกีดขวางแบบไดนามิก / แบบคงที่ในแบบของฉัน สถานการณ์ที่ 2 ศัตรูมีเส้นทางแซมไปยังผู้เล่น (เข้าคิวเพื่อต่อสู้กับเรา)
51 ai  rpg  movement 

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