ดันเจียนและอินเทอร์เฟซ
ภาพรวม
- ในตอนก่อนหน้า ได้สำรวจรูปแบบสถาปัตยกรรม 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
ยังไม่มีความคิดเห็น