กลับไป เครื่องมือ
เขียนโค้ด

Game Programming Patterns

โดย Robert Nystrom

อ่านแนวคิดจัดระบบเกมจาก Robert Nystrom เริ่มที่ state machine แล้วเลือก pattern ให้ตรงกับปัญหาในโค้ด

guide
แผนภาพสถานะที่สร้างใหม่ เชื่อมการยืน กระโดด ย่อ และพุ่งลงด้วยเงื่อนไขกดปุ่มและลงถึงพื้น
ภาพแนวคิดที่สร้างใหม่จากหลักการในบท State ไม่ได้คัดลอกแผนภาพต้นฉบับ กฎของแต่ละเกมอาจต้องใช้สถานะหรือเงื่อนไขต่างกัน ภาพอธิบายต้นฉบับที่จัดทำสำหรับ GameSlash โดยมี AI ช่วยสร้าง ใช้เอกสารเป็นแหล่งข้อเท็จจริงเท่านั้น ไม่ได้นำภาพต้นฉบับมาใช้ และไม่ใช่ภาพหน้าจอทางการหรือเกมเพลย์ แหล่งแนวคิด

เหมาะกับ: โค้ดตัวละครที่มี boolean หลายตัวจนสถานะขัดกัน หรือระบบเกมที่แก้จุดหนึ่งแล้วกระทบหลายจุด

เริ่มทีละขั้น: 1) อ่านบท State 2) วาดสถานะยืน กระโดด ย่อ และพุ่งลง พร้อมเงื่อนไขเปลี่ยนสถานะ 3) ลองใช้ enum กับตัวละครเล็ก ๆ ก่อนแยกเป็นคลาสเมื่อจำเป็น

เปรียบเทียบแฟล็กยืนและกระโดดที่ขัดกัน กับรายการสถานะที่เลือก JUMPING ได้เพียงสถานะเดียว
ภาพอธิบายการออกแบบข้อมูลที่สร้างใหม่ มิติที่เป็นอิสระต่อกันอาจแยกเป็น state machine คนละชุดได้ตามความเหมาะสม ภาพอธิบายต้นฉบับที่จัดทำสำหรับ GameSlash โดยมี AI ช่วยสร้าง ใช้เอกสารเป็นแหล่งข้อเท็จจริงเท่านั้น ไม่ได้นำภาพต้นฉบับมาใช้ และไม่ใช่ภาพหน้าจอทางการหรือเกมเพลย์ แหล่งแนวคิด

ลองตรวจ: กดกระโดดซ้ำกลางอากาศ และปล่อยปุ่มย่อระหว่างกระโดด สถานะกับภาพตัวละครต้องไม่ขัดกัน

ข้อควรรู้: ตัวอย่างเน้นแนวคิดและละรายละเอียดบางส่วน ไม่ใช่โค้ดพร้อมส่งเกม ตัวอย่าง C++ ไม่ได้สอนรูปแบบ C++ สมัยใหม่ และไม่จำเป็นต้อง build หนังสือเพื่ออ่าน

อ่านต้นฉบับ: State

อ่านต้นฉบับ: Introduction

ดูแหล่งที่มา