บทนำ
- ผู้เขียนซึ่งสนใจแนวคิดการเขียนโปรแกรมที่ไม่เป็นแบบดั้งเดิม พบว่าการเรียนรู้ภาษาอย่าง LISP และ Prolog มีประสิทธิภาพในการกระตุ้นความคิด
- LISP โดดเด่นด้านการเขียนโปรแกรมเชิงฟังก์ชันและแพตเทิร์นเมตาภาษา ส่วน Prolog เป็นที่นิยมในด้านการเขียนโปรแกรมเชิงตรรกะ
- Prolog เปิดมุมมองใหม่ของการคิดเชิงคอมพิวเตอร์ โดยเข้าถึงโครงสร้างข้อมูลและอัลกอริทึมในฐานะความสัมพันธ์ทางคณิตศาสตร์
ศักยภาพของ Prolog
- Prolog มีประโยชน์ในการสร้างฐานข้อมูลเชิงสัมพันธ์และการทำงานอินพุต/เอาต์พุตของวงจรดิจิทัล
- การเขียนโปรแกรมเชิงตรรกะเหมาะอย่างยิ่งกับการออกแบบที่ยึดข้อมูลเป็นศูนย์กลาง และมีศักยภาพสูงในการออกแบบและพัฒนาระบบที่ซับซ้อน
- หากนำแกนกลไกหลักของเกมไปสร้างด้วย Prolog ก็จะสามารถสร้างระบบที่แข็งแรงและแยกส่วนได้ดียิ่งขึ้น
โลกและตัวละคร
- แนวคิดหลักของการเขียนโปรแกรมเกมบนพื้นฐาน Prolog คือการใช้ความสัมพันธ์เป็นองค์ประกอบพื้นฐานที่สุดของระบบ
- เกมประกอบด้วยโลกและตัวละคร โดยตัวละครคือวัตถุที่อยู่ในโลกและก่อให้เกิดเหตุการณ์หลากหลาย
- ตัวละครมีชื่อเฉพาะ สถานะ และการกระทำเป็นของตนเอง
แท็ก
- ตัวละครแต่ละตัวถูกระบุด้วยชื่อเฉพาะ และใช้แท็กเพื่ออธิบายคุณลักษณะของตัวละครนั้น
- ในโค้ด Prolog แท็กถูกแสดงเป็นความสัมพันธ์เอกภาค และสามารถตั้งกฎให้เมื่อมีการกำหนดแท็กหนึ่งแล้ว ระบบจะกำหนดแท็กอื่นให้อัตโนมัติ
- ตัวอย่างเช่น หากตัวละครได้รับแท็ก
bread ก็จะได้รับแท็ก flammable และ decomposable โดยอัตโนมัติด้วย
ความสัมพันธ์
- ในระบบเกมเพลย์ การนิยามความสัมพันธ์ระหว่างตัวละครเป็นสิ่งสำคัญ
- ใน Prolog สามารถใช้ความสัมพันธ์ทวิภาคเพื่อกำหนดความสัมพันธ์ระหว่างตัวละคร และอนุมานความสัมพันธ์แบบไดนามิกตามเงื่อนไขได้
- ตัวอย่างเช่น มนุษย์สามารถกินขนมปังได้ และเชื้อราสามารถทำให้สิ่งที่ย่อยสลายได้เน่าเสีย
สรุปของ GN⁺
- การเขียนโปรแกรมเกมด้วย Prolog มอบวิธีคิดแบบใหม่และมีประโยชน์ต่อการออกแบบระบบที่ซับซ้อน
- ลักษณะเชิงประกาศของการเขียนโปรแกรมเชิงตรรกะเหมาะอย่างยิ่งกับการออกแบบที่ยึดข้อมูลเป็นศูนย์กลาง
- แนวทางที่อิงความสัมพันธ์ของ Prolog ช่วยให้สามารถสร้างแกนกลไกของเกมเป็นระบบที่แข็งแรงและแยกส่วนได้มากขึ้น
- โปรเจกต์ในอุตสาหกรรมที่มีฟังก์ชันคล้ายกัน ได้แก่ Unity game engine และสภาพแวดล้อมการเขียนโปรแกรมเชิงวัตถุ
ยังไม่มีความคิดเห็น