การเขียนสคริปต์เกม (Lua) หมายถึงอะไร


9

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

คำถามนี้ไม่ได้กล่าวถึง Lua โดยเฉพาะ แต่เป็นสคริปต์ฝังตัวใด ๆ ที่มีจุดประสงค์คล้ายกับ Lua Scripting

มันใช้สำหรับผู้ใช้เพื่อทำการปรับแต่งเองหรือไม่? มันใช้สำหรับผู้พัฒนาเกมเพื่อเพิ่มความเร็วในการสร้างตรรกะของเกม (ระดับ, AI, ... ) หรือไม่? มันใช้กับโค้ดเฟรมเวิร์กของเกมหรือไม่เนื่องจากสคริปต์สามารถเร็วขึ้น

โดยทั่วไปฉันสงสัยว่าลึกระหว่างการกำหนดค่าธรรมดาและตรรกะกรอบการใช้งานสคริปต์เช่นไป และสคริปต์จะทำเท่าไหร่ สายการกำหนดค่าน้อยหรือจำนวนมาก?


คำตอบ:


11

ภาษาสคริปต์ในเอ็นจิ้นเกมมีไว้เพื่อเปิดเผยเอ็นจิ้นเกมของคุณในระดับที่สูงขึ้นและถูกตีความ

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

นอกจากนี้ยังมีวิธีปฏิบัติมากมายที่ต้องพิจารณา - นักออกแบบเกมที่สร้างสคริปต์เหล่านี้มักจะทำงานในระดับที่สูงกว่านามธรรมกว่าตัวเขียนโค้ดเกม พวกเขาไม่ต้องการที่จะกังวลเกี่ยวกับการจัดสรรหน่วยความจำ ฯลฯ ภาษาสคริปต์เป็นสิ่งที่ดีสำหรับพวกเขาและด้วย LUA พวกเขามักจะเรียกใช้ส่วนหน้าของเครื่องยนต์ในระดับสูง คุณไม่ต้องการคอมไพล์เกมของคุณใหม่ทุกครั้งที่คุณต้องการปรับเปลี่ยนแอตทริบิวต์บางนาทีในสคริปต์

ยิ่งไปกว่านั้นยังช่วยให้การดีบักการดัดแปลงและสิ่งอื่น ๆ ที่คุณพูดถึงทำได้ง่าย


3

มันใช้สำหรับผู้ใช้เพื่อทำการปรับแต่งเองหรือไม่?

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


1
เกมบางเกมอนุญาตให้ผู้ใช้ปลายทางใช้สคริปต์ของตนเอง นอกเหนือจาก API สาธารณะผู้ใช้สามารถใช้งาน addons, widgets, และอื่น ๆ ที่ตอบสนองต่อกิจกรรมของเกม
Laiv

1
ฉันคิดใน MMO rpgs :-)
Laiv

1
@Laiv IMO MMORPGs เป็นหนึ่งในสิ่งเหล่านั้นที่ดูเหมือนจะสนุกมากที่จะใช้ แต่คล้ายกับการเล่นพวกเขาเป็นเวลานานมันจะกลายเป็นบด โลกของเกมจะต้องคงที่โดยทั่วไปหรือต้องมีการมีส่วนร่วมจากผู้ดูแลเกม ฉันคิดว่าเกมออฟไลน์เป็นเกมที่สนุกมากขึ้นในการพัฒนาเพราะคุณสามารถสร้างโลกที่เต็มไปด้วยพลังด้วยเรื่องราวที่จบลงอย่างแท้จริง

1
ไม่ไม่. หลายปีก่อนฉันเคยเล่น Allods Online เกมดังกล่าวมี API เล็กน้อยสำหรับนักเล่นเกมที่จะใช้งานแอดออนและวิดเจ็ต เพียงแค่ต้องการขยายคำตอบของคุณด้วยตัวอย่าง :-)
Laiv

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

2

บุคคลอื่นนอกเหนือจากโปรแกรมเมอร์เกมสามารถใช้เพื่อแก้ไขหรือขยายตรรกะของเกม คนเหล่านี้อาจไม่ใช่ด้านเทคนิคเช่นนักออกแบบเกมหรือผู้ใช้ปลายทาง (นักเล่นเกม)

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

PS: ดีกว่าถามคำถามนี้ใน gamedev.stackexchange.com

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