ประโยชน์เดียวที่ฉันคิดได้ในตอนนี้คือคุณสามารถอัปเดตการเข้ารหัสผ่าน Lua ได้โดยไม่ต้องคอมไพล์ใหม่
อย่าลดอรรถประโยชน์ของสิ่งนี้อย่างง่ายดาย คุณจะไม่เข้าใจว่าคุณจะทำงานได้อย่างไรจนกว่าคุณจะทำขั้นตอนการคอมไพล์ซ้ำ
"ไหล"เป็นแนวคิดทางด้านจิตใจค่อนข้างดีเข้าใจเมื่อมันมาถึงการทำงาน กระแสคือความรู้สึกที่คุณได้รับเมื่อคุณมุ่งเน้นไปที่กิจกรรมเมื่อคุณวิเคราะห์และแก้ปัญหาโดยไม่คิดถึง ฯลฯ คุณมีประสิทธิภาพมากที่สุดเมื่อคุณ "ไหล"
เวลาคอมไพล์สกรูทั้งหมดที่ขึ้น เป็นการยากที่จะอยู่ต่อไปหากคุณมีเวลารวบรวม 10 วินาทีระหว่างการทดสอบบางอย่าง
เมื่อคุณพัฒนาเกมเพลย์สิ่งที่คุณมักจะมีคือ "วงวนแคบ" คุณมีความคิดคุณเขียนรหัสการทดสอบเพื่อดูว่ามันใช้งานได้หรือไม่และลองใช้งานดู หากไม่ได้ผลคุณสามารถแก้ไขได้และลองอีกครั้ง เวลา "code-to-test" นั้นสำคัญมากสำหรับการดูแลโฟลว์ การทำให้มันเล็กที่สุดเป็นสิ่งสำคัญ
อะไร Lua (หรือภาษาสคริปต์ที่ฝังตัว) ช่วยให้คุณทำคือการทดสอบการเปลี่ยนแปลงไม่เพียงโดยไม่ต้อง "รวบรวม" แต่อาศัยอยู่ในเกม ขึ้นอยู่กับว่าคุณสร้างเกมอย่างไรคุณสามารถเรียกใช้คำสั่งที่จะรีสตาร์ทเกมด้วยสคริปต์ใหม่โดยไม่ต้องหยุดและโหลดซ้ำข้อมูลและอื่น ๆ ไม่เพียง แต่คุณไม่จำเป็นต้องคอมไพล์ซ้ำ แต่คุณไม่จำเป็นต้องรันซ้ำ
ความสามารถในการทำเช่นนี้ได้รับการสนับสนุนเครื่องยนต์ที่เหมาะสมสามารถเพิ่มผลผลิตอย่างมาก
ประโยชน์ที่สำคัญอีกประการหนึ่งของการเขียนสคริปต์ก็คือความสามารถในการไม่สนใจ หากคุณใช้เวลาเขียน C ++ เป็นเวลานานคุณจะแปลกใจว่าคุณใช้เวลามากน้อยไปกว่ามินูเต ตำแหน่งที่ถูกลบหน่วยความจำ ที่นี้ได้รับอิสระ แม้ว่าคุณจะใช้shared_ptr
ทุกที่ แต่การพิมพ์ชื่อตัวแปรเหล่านั้นทำให้คุณช้าลง
ในภาษาสคริปต์แบบไดนามิกคุณไม่ต้องสนใจ การกำหนดขอบเขตทำได้ง่าย ฟังก์ชั่นเป็นวัตถุชั้นหนึ่ง คุณไม่จำเป็นต้องสร้างฟังก์ชั่นด้วยตนเอง มันง่ายมากที่จะทำบางสิ่ง
ทีนี้มันก็มีเชิงลบถ้าคุณไม่ใช่โปรแกรมเมอร์ที่มีระเบียบวินัย มันใช้งานง่ายมากใน Lua (แม้ว่าจะมีวิธีป้องกันก็ตาม) การดูแลไม่ได้หมายความว่าคุณจะเลอะเทอะมากเมื่อคุณเขียนโค้ด
แต่แล้วอีกครั้งเป็นเลอะเทอะมากสามารถมีข้อได้เปรียบ
ข้อดีอีกประการของลัวะคือการทำให้ภาษาคำอธิบายข้อมูลที่ดี เช่นเดียวกับ JSON เป็นเพียงไฟล์ JavaScript ที่สร้างและส่งกลับอาร์เรย์ / ตารางคุณสามารถสร้างสคริปต์ Lua ที่ส่งคืนตารางได้
สิ่งนี้มีประโยชน์สำหรับไฟล์กำหนดค่า รูปแบบตารางของ Lua นั้นดีกว่ารูปแบบ. ini มาก รูปแบบยังค่อนข้างสะอาดกะทัดรัดและขยายได้
โอ้และมันก็ยังเป็นสคริปต์ Lua ดังนั้นจึงสามารถใช้ตรรกะได้ตามจริง ข้อเสียของมันคือ ... ก็คือสคริปต์ Lua ดังนั้นจึงสามารถใช้ตรรกะที่แท้จริงได้ นั่นอาจเป็นหายนะในเกมเนื่องจากผู้ใช้อาจจะเริ่มทำสิ่งต่าง ๆ
แต่อันที่จริงเรื่องนี้จัดการได้ง่าย Lua ถูกออกแบบมาเพื่อการฝังซึ่งหมายความว่าการแยกนั้นค่อนข้างง่าย อันที่จริงรัฐลัวะใหม่ให้อะไรโดยปริยาย คุณต้องทำอะไรซักอย่างเพื่อเปิดเผยแม้แต่พื้นฐานที่สุดของห้องสมุด Lua มาตรฐาน การเข้าถึงไฟล์การเข้าถึงสถานะเกม ฯลฯ ทั้งหมดเป็นการเลือกไม่ใช้การยกเลิก และแต่ละรัฐลัวะนั้นแยกจากกัน สถานะ Lua ที่คุณใช้สำหรับสคริปต์ AI ไม่จำเป็นต้องเป็นสถานะ Lua ที่คุณใช้สำหรับไฟล์กำหนดค่า
จริง ๆ แล้วฉันมีรหัสบางอย่างที่อนุญาตให้คุณลงทะเบียน Lua มาตรฐานไลบรารี่หลายอัน แต่ต้องผ่านและลบไฟล์ทั้งหมดของ IO ท้ายที่สุดสิ่งที่เลวร้ายที่สุดที่ไฟล์กำหนดค่าแบบอิง Lua นั้นอาจทำให้เกมของคุณพังทันทีเมื่อรันโดยใช้หน่วยความจำไม่พอ และเนื่องจากคุณไม่ได้แชร์ไฟล์ปรับแต่งด้วยตนเองนั่นจะไม่สนุกสำหรับแฮกเกอร์
ฉันจะบอกว่าข้อเสียที่ใหญ่ที่สุดของภาษาสคริปต์ใด ๆ คือการแก้จุดบกพร่อง ภาษาสคริปต์ส่วนใหญ่ไม่มี debuggers และ Lua ก็ไม่ต่างกัน Lua มีเครื่องมือทั้งหมดที่จำเป็นในการสร้างเครื่องมือแก้ไขข้อบกพร่อง แต่มันไม่มีตัวดีบักในตัว คุณต้องรวมเข้าด้วยกัน และนั่นจะต้องมีระดับการทำงานที่สมเหตุสมผล
หรือคุณสามารถกำหนดได้ด้วย "printf debugging" มันขึ้นอยู่กับว่าคุณเขียนรหัส Lua มากแค่ไหน