เป็นความคิดที่ดีหรือไม่ที่จะทำให้เอ็นจิ้นเกมขับเคลื่อนด้วยตัวละครง่ายขึ้นจนถึงจุดที่ไม่จำเป็นต้องเรียนรู้การเขียนสคริปต์ / การเขียนโปรแกรม?


9

ฉันจำได้และฉันก็ยังคิดว่าไม่มีใครสามารถสร้างเกมต้นแบบต้นแบบเพื่อทดสอบพฤติกรรมง่ายๆโดยไม่ต้องใช้เครื่องมือขนาดมหึมาเช่นความเป็นเอกภาพหรือรู้การเขียนโปรแกรม C ++ ที่กว้างขวางรูปแบบการออกแบบเอ็นจิ้น 3D ที่เหมาะสม

ตอนนี้ฉันสงสัยเพราะฉันรู้ว่าการเขียนโปรแกรมไม่ว่าฉันจะโชคดีกว่าคนที่ต้องเรียนรู้การเขียนโปรแกรมก่อนที่จะรู้วิธีที่จะทำบางสิ่งบางอย่าง แม้แต่เครื่องยนต์ที่ใช้สคริปต์เช่น Unity ไม่ใช่สำหรับเด็กและสำหรับความรู้สึกของฉันพวกเขามักจะกำหนดวิธีการทำสิ่งต่าง ๆ นี่ไม่ใช่กรณีที่มีเครื่องยนต์เช่น Ogre หรือ Irrlicht

ตอนนี้ฉันคิดว่าเกมที่ขับเคลื่อนด้วยตัวละครครองส่วนใหญ่ของตลาดเกม คุณคิดว่าเป็นความคิดที่ดีหรือไม่ที่จะสร้างเอ็นจิ้นเกมที่เน้นการควบคุมตัวละครซึ่งอนุญาตให้สร้าง AI เพื่อแยกสิ่งอื่นออกเท่านั้น

เมื่อฉันพูดต้นแบบฉันยังหมายถึง "ทั่วไป" ในแง่ที่ว่าหนึ่งสามารถเลือกได้อย่างรวดเร็วจากชุดของพารามิเตอร์การเล่นเช่นผู้จัดการฉาก, มุมกล้อง POV ของผู้เล่น, การควบคุม, การชน / ฟิสิกส์พื้นฐานบางอย่างและการรวม ของการบังคับเลี้ยวพื้นฐาน (OpenSteer เป็นต้น) แนวคิดหลักคือการสร้าง AI sandbox แต่ในรูปแบบ 3 มิติดังนั้นจึงสามารถแสดงให้เห็นได้โดยไม่มีข้อ จำกัด แบบ 2D (และทำให้เหมาะกับต้นแบบใน 3D สำหรับโครงการ 3 มิติมากกว่า 2D)


เอนจิ้น 3 มิติ 'พื้นฐาน' นั้นไม่ใหญ่มากและ C ++ นั้นแย่มากสำหรับการสร้างต้นแบบ ลอง Python
The Duck Communist

คำตอบ:


6

ฉันชอบเอ็นจิ้นเกมที่ไม่ค่อยนิยมใน Blender (http://www.blender.org) โมเดลเซ็นเซอร์ - คอนโทรลเลอร์ - แอคชูเอเตอร์นั้นง่ายต่อการติดตามแม้สำหรับผู้ที่ไม่ใช่โปรแกรมเมอร์และเป็นไปได้ที่จะสร้างเกมที่สมบูรณ์แบบพอสมควร (ย้ายตัวละครที่เคลื่อนไหวได้ยิงอาวุธทำลายเป้าหมาย แสดงคะแนนติดตามสุขภาพรีเซ็ตระดับหรือย้ายไปที่ใหม่) โดยไม่ต้องตั้งโปรแกรมใด ๆ เลย

แน่นอนว่าบางสิ่งจำเป็นต้องมีการเขียนโปรแกรม (โดยเฉพาะการป้อนข้อมูลเมาส์สำหรับ FPS) อย่างไรก็ตามเครื่องปั่นได้รวม Python ไว้แล้วและการเขียนสคริปต์ Python นั้นเชื่อมโยงกับแบบจำลองเป็นอย่างดีดังนั้นคุณจึงไม่จำเป็นต้องแทนที่เซ็นเซอร์ คุณเพียงแค่เปลี่ยนจากคอนโทรลเลอร์ 'pass-through' ที่เรียบง่ายเป็นสคริปต์ Python ที่สมบูรณ์ซึ่งสามารถอ่านเซ็นเซอร์ทั้งหมดในฉากและส่งต่อการควบคุมไปยังแอคทูเอเตอร์ทั้งหมด

ค่อนข้างเป็นไปได้ที่จะสร้างต้นแบบเกมในไม่กี่วันใน Blender (ฉันทำเพื่อโครงการที่พิพิธภัณฑ์เด็กท้องถิ่นเมื่อปีที่แล้ว)

แน่นอนว่าไม่มีสิ่งใดมาแทนที่ความรู้ด้านการเขียนโปรแกรมระดับดีและในที่สุดผู้พัฒนาจำเป็นต้องเข้าใจการเขียนโปรแกรม


จะเป็นการดีถ้าคุณใช้
เอ็นจิ้

4

โดยไม่คำนึงถึงกลไกการป้อนข้อมูลในตอนท้ายของวันที่คุณยังคงต้องตั้งค่าบางชนิดของวิธีการบอกเกมตรรกะคืออะไร "การเขียนสคริปต์" เป็นคำศัพท์ที่ดีสำหรับเรื่องนี้ โดยพื้นฐานแล้วฉันไม่เห็นด้วยกับการยืนยันว่าคุณสามารถทำให้บางอย่างง่ายขึ้นจนถึงจุดที่คุณไม่จำเป็นต้องรู้ "สคริปต์"

สิ่งที่กล่าวมานั้นไม่ใช่สคริปต์ทั้งหมดที่จะต้องทำด้วยภาษาการเขียนโปรแกรมแบบข้อความ มีงานบางส่วน (แต่ไม่มาก) ในการสร้างระบบสคริปต์ภาพ เครื่องมือการเขียนสคริปต์ระดับที่ไม่จริงของ Kismet เป็นตัวอย่างที่ดีของหนึ่ง Source Source มีกลไกที่คล้ายกัน แต่ใช้เอนทิตีในโลกแทนที่จะเป็นบนระนาบเดียว

โดยทั่วไปคุณมีกล่องที่คุณลากไปมาในสภาพแวดล้อมบางอย่างที่มีอินพุตและเอาต์พุต หากคุณต้องการเอาท์พุทการแบรนช์บางชนิดคุณมีบ็อกซ์ที่มีอินพุตเดียวและเอาต์พุตหลายตัว ผลลัพธ์เหล่านั้นสามารถไปที่การกระทำที่มีข้อมูลผูกอยู่ (เช่น "ย้ายไปยังจุดนี้", "พูดบรรทัดนี้", "ถามคำถามนี้" ฯลฯ ) โดยปกติจะเป็นอุปสรรคที่ต่ำกว่ามากในการเข้ามาเพื่อให้บางสิ่งบางอย่างทำงานเป็นภาษาภาพเนื่องจากคุณไม่จำเป็นต้องรู้คำหลักหรือไวยากรณ์คุณเพียงแค่มีกล่อง จำกัด ให้เลือกซึ่งพฤติกรรมทั้งหมดเป็นไปได้และคุณเพียงแค่ เชื่อมต่อเข้าด้วยกัน

อย่างไรก็ตามมีความคิดเห็นของฉันว่าเอ็นจิ้นการสร้างสคริปต์ภาพไม่คุ้มกับปัญหา คุณต้องสามารถคิดโครงสร้างและเหตุผลเพื่อบอกเครื่องยนต์ให้สำเร็จว่าคุณต้องการทำอะไร หากคุณคิดแบบนี้การกระโดดจากกล่องที่มีอินพุต / เอาต์พุตไปยังคำสั่งการแยกสาขาพื้นฐานและการเรียกใช้ฟังก์ชันในภาษาสคริปต์นั้นไม่ใช่เรื่องใหญ่อะไรนัก ในความเป็นจริงหลังจากที่ในขณะที่ภาพส่วนหนึ่งของมันอาจเป็นอุปสรรค นอกจากนี้มันยังทำงานได้มากขึ้นในด้านเครื่องยนต์ของสิ่งต่าง ๆ คุณต้องทำสิ่งต่าง ๆ เช่นใช้เลิกทำคัดลอก / วางอาจมีคุณสมบัติระดับสูงกว่าสำหรับการจัดระเบียบสคริปต์ของคุณ ด้วยภาษาที่เป็นข้อความคุณสามารถทิ้งทุกสิ่งไว้ใน IDE


คุณหมายถึง Unreal Kismet หรือเปล่า
DeadMG

1

โดยทั่วไปแล้วจะเป็นการแลกเปลี่ยน หากคุณต้องการลบความจำเป็นในการทำสคริปต์ประเภทใด ๆ โดยทั่วไปคุณจะต้องพูดถึงการสร้างอินเทอร์เฟซที่จะรวมสคริปต์เข้าด้วยกันในพื้นหลัง (หรือเพียงแค่เชื่อมต่อวัตถุลอจิกหรืออะไรก็ตาม) มีเกมทั้งหมดที่เป็นจุดทั้งหมดสภาพแวดล้อมที่กำหนดไว้อย่างดีซึ่งคุณสามารถลากและวางฟังก์ชันการทำงานเพื่อดูว่ามันโต้ตอบกับมันอย่างไร

ในตอนท้ายของวันอย่างไรก็ตามมันจะเป็นการแลกเปลี่ยนกันอยู่เสมอ .. ยิ่งคุณพยายามทำให้อินเทอร์เฟซง่ายขึ้นสิ่งที่สร้างขึ้นผ่านอินเทอร์เฟซนั้นจะง่ายขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.