วิธีดั้งเดิมในการบรรลุเป้าหมายในการพัฒนาเกมนี้คือการใช้สถาปัตยกรรมที่ขับเคลื่อนด้วยข้อมูลสำหรับระบบเกม
ในสาระสำคัญนี่หมายความว่ารหัสไม่ได้ใช้อาวุธประเภทใดประเภทหนึ่ง (ปืน) ที่มีค่าที่กำหนดไว้อย่างชัดเจนสำหรับช่วง / ดาเมจ / การเจาะ / เจาะแทนที่จะเป็นการเติมแนวคิดทั่วไปของอาวุธระยะไกล (ช่วง / ดาเมจ / การเจาะ ... ) จากแหล่งข้อมูลภายนอก (ไปยังรหัส) แหล่งภายนอกนี้อาจแตกต่างจากไฟล์แจงที่แยกวิเคราะห์ (อาจเป็น XML) ที่อ่านจากดิสก์ไปยังไฟล์ไบนารีหรือองค์ประกอบฐานข้อมูลที่สร้างผ่านเครื่องมือภายในหรือภายนอกไปยังเอ็นจิ้นเกม
การกำหนดสิ่งต่าง ๆ เช่นศัตรูระบบ AI อาจได้รับการออกแบบมาเพื่อรองรับพฤติกรรมทั่วไปจำนวนหนึ่ง (ก้าวร้าวการป้องกันการสนับสนุนคนขี้ขลาด) ซึ่งถูกปรับแต่งโดยองค์ประกอบที่ขับเคลื่อนด้วยข้อมูล
ศัตรูใหม่ของฉันเริ่มต้นด้วยพฤติกรรม AI พื้นฐานที่ก้าวร้าวด้วยค่าที่ขับเคลื่อนด้วยข้อมูลสำหรับ: - ผู้เล่นที่ได้รับการพิจารณา> ระดับของฉัน + X - ติดตามผู้เล่นได้มากถึง X หน่วยนอกเหนือจากจุดวางไข่ - สนุกเมื่อมีสุขภาพดี (สำหรับเมื่อผู้เล่นเข้าใกล้เกินไป)
รูปแบบการขับเคลื่อนข้อมูลที่ซับซ้อนมากขึ้นอาจช่วยให้คำจำกัดความของจุดข้อมูลเฉพาะ (เหตุการณ์) ที่สถานะการเปลี่ยนสถานะ AI (สถานะเครื่องจักร จำกัด ) ไปสู่อีกสถานะหนึ่ง (หรือแม้แต่โอกาสที่จะเปลี่ยนไปใช้สถานะอื่นของรัฐ N) ลำดับขั้นของพฤติกรรมที่ซับซ้อน
ทั้งหมดนี้แน่นอนว่าทำงานได้มากกว่าการเข้ารหัสพฤติกรรม แต่มันเป็นความท้าทายที่สนุกที่จะให้ผู้ใช้สามารถสร้างเนื้อหาโดยไม่ต้องดัดแปลงจากแหล่งที่มา
มีคะแนนโบนัสที่จะทำได้:
- หากคุณสามารถอัปเดตข้อมูลแบบไดนามิกและมีการเปลี่ยนแปลงที่ปรากฏภายในเอ็นจิ้นเกมโดยไม่ต้องรีสตาร์ทแอปพลิเคชัน
- ถ้าคุณสร้าง UIs ที่เป็นมิตรกับผู้ใช้บนข้อมูลที่อนุญาตให้ผู้ใช้ใช้อินเทอร์เฟซเพื่อโต้ตอบกับข้อมูลแทนที่จะแก้ไขไฟล์ข้อความ (xml หรืออะไรก็ตาม) โดยตรง
สำหรับเกมกวดวิชาที่มีเป้าหมายเป็นฝูงชนด้านเทคนิคมากกว่างานส่วนใหญ่จะอยู่ในชั้นเรียน / วัตถุที่ออกแบบมาเพื่อให้ผู้ใช้สามารถขยายส่วนต่อประสานที่สะอาดได้