ดันเจียนและอินเทอร์เฟซ

ภาพรวม

  • ในตอนก่อนหน้า ได้สำรวจรูปแบบสถาปัตยกรรม Entity-Component-System (ECS) และกระบวนทัศน์การเขียนโปรแกรมแบบเมตาภาษา ซึ่งมักใช้กันในการพัฒนาเกม
  • ครั้งนี้จะใช้เทคนิคเหล่านี้สร้างเกมขนาดเล็กในแนวดันเจียนครอว์เลอร์ และใช้สิ่งนี้เพื่อพิจารณาการออกแบบระบบของแอปพลิเคชันเกมจริง

การเตรียมการ

  • ตั้งค่าสภาพแวดล้อม Common Lisp และอัปเดตแพ็กเกจที่จำเป็น
  • เริ่มโปรเจ็กต์ด้วยเทมเพลต cookiecutter และตั้งขนาดหน้าต่างเกมเป็น 1280x800

ดันเจียน

  • จำเป็นต้องมีแผนที่ดันเจียนเพื่อให้ผู้เล่นสามารถสำรวจดันเจียนได้
  • ใช้ Tiled ซึ่งเป็นโอเพนซอร์สแมปเอดิเตอร์ในการสร้างแผนที่ดันเจียน และใช้ไลบรารี cl-tiled เพื่อโหลดแผนที่นี้เป็นออบเจ็กต์ Lisp
  • หลังจากเตรียมไฟล์แผนที่แล้ว ได้ดำเนินการเตรียมบางอย่างเพื่อให้สามารถโหลดและใช้งานในเกมได้

การประยุกต์ใช้แพตเทิร์น ECS

  • ย้ายข้อมูลไทล์ของแผนที่ไปยัง ECS storage เพื่อเพิ่มประสิทธิภาพ
  • เพิ่มเฟรมเวิร์ก cl-fast-ecs ลงในโปรเจ็กต์ และเริ่มต้นระบบ ECS
  • จัดเก็บไทล์ของแผนที่เป็นเอนทิตีแยกแต่ละตัว และกำหนดระบบสำหรับประมวลผลสิ่งเหล่านี้

แอนิเมชัน

  • Tiled รองรับไทล์แบบแอนิเมชัน ซึ่งช่วยเพิ่มความมีชีวิตชีวาให้กับเกมได้
  • เพื่อใช้งานแอนิเมชัน ได้ขยายโครงสร้างโค้ดและรีแฟกเตอร์
  • กำหนดคอมโพเนนต์ animation-frame และ animation-state เพื่อจัดการสถานะแอนิเมชัน
  • กำหนดระบบ update-animations เพื่อสลับเฟรมแอนิเมชันในจังหวะที่เหมาะสม

สรุปโดย GN⁺

  • บทความนี้อธิบายวิธีพัฒนาเกมอย่างมีประสิทธิภาพด้วยการใช้แพตเทิร์น ECS
  • นำเสนอวิธีใช้เครื่องมืออย่าง Tiled เพื่อสร้างและจัดการแผนที่ได้อย่างง่ายดาย
  • อธิบายวิธีเพิ่มความมีชีวิตชีวาให้เกมด้วยแอนิเมชัน
  • การใช้แพตเทิร์น ECS ช่วยให้สามารถปรับประสิทธิภาพให้เหมาะสมและคงโครงสร้างโค้ดให้กระชับได้
  • โปรเจ็กต์อื่นที่มีความสามารถคล้ายกัน ได้แก่ ระบบ ECS ของ Unity หรือระบบ Blueprint ของ Unreal Engine

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น