ไม่อย่างน้อยก็อาจจะไม่
นี่เป็นกรณีที่เกิดขึ้นบ่อยครั้งในการพัฒนาวงล้อคือการพัฒนาเกมความผิดพลาดที่ยังคงได้รับความนิยม
หากคุณถามคำถามนี้คุณมีโอกาสมากที่จะได้รับอิทธิพลจากสิ่งที่คนอื่นทำดังนั้นให้ดูว่า Epic Games เพิ่งทำกับ Unreal Engine:
- UE3 มีรูปแบบ UnrealScript ที่แปลกใหม่และไม่ได้ปรับแต่งยากต่อการดีบัก
- หากข่าวลือเป็นจริงการสนับสนุนจะถูกลบออกใน UE4เพื่อสนับสนุน C ++ DLL ที่สามารถรีโหลดได้
คุณคิดว่าคุณสามารถทำได้ดีกว่า Epic หรือไม่?
การสร้างภาษา progamming เป็นของผู้สร้างภาษาการเขียนโปรแกรมไม่ใช่วิศวกรเกม
มันใช้เวลาเป็นปีและปีในการที่ภาษาจะโตเต็มที่และชุดเครื่องมือ (คอมไพเลอร์, ลิ้งค์เกอร์, ล่าม, ดีบั๊ก) ใช้งานได้ ทุกวันนี้คุณมีโซลูชั่นที่พร้อมใช้งานจำนวนมากดังนั้นจึงไม่มีเหตุผลที่แท้จริงที่จะเริ่มต้นสิ่งใหม่ตั้งแต่เริ่มต้นอย่างน้อยก็ไม่ใช่ว่าเป้าหมายคือการสร้างเกม ระยะเวลา
เพื่อตอบคำถามข้างเคียงของคุณไม่ได้ด้วยเหตุผลเหล่านี้ฉันจึงไม่เคยใช้ภาษาสคริปต์ของฉันเอง แต่ฉันได้รับความเดือดร้อนมากมายกับคนที่อ่อนหัด เพราะพวกมันถูกสร้างขึ้นมาพร้อมกับคุณสมบัติที่แคบมาก ๆ พวกมันมีนิสัยแปลก ๆ เล็กน้อยที่ทำให้คุณคลั่งไคล้ บ่อยครั้งที่คุณจะพบว่าตัวเองใช้เวลามากมายเหลือเกินที่จะพยายามแก้ไขข้อ จำกัด ของภาษาแทนที่จะทำเกมของคุณ
หากเหตุผลที่คุณต้องการสร้างภาษานั้นเป็นเพราะมันมีไว้สำหรับผู้ที่ไม่รู้จักการเขียนโปรแกรมเป็นอย่างดีหรือถ้าคุณเชื่อว่าคุณต้องการเพราะคุณต้องการบางสิ่งบางอย่างที่เฉพาะเจาะจงกับโดเมนให้ฉันบอกพวกเขาด้วยเหตุผลที่ไม่ดี คุณสามารถเขียน API ระดับสูงมากด้วยฟังก์ชั่นนั้นdo_what_they_say_and_say_what_they_do()
และบางรหัสที่ง่ายมากที่ทำให้การใช้งานพื้นฐาน ผู้ใช้ที่ไม่ได้ใช้เทคนิคของคุณยินดีที่จะเรียนรู้การเขียนโปรแกรมเล็กน้อยและคุณยินดีที่จะไม่ถูก จำกัด ด้วยภาษาที่นำมาใช้อย่างไม่เหมาะสม
ดังนั้นนี้จะเป็นเสียงอย่างกระทันหันบิตหรือแม้กระทั่งรุนแรงฉันจะบอกว่ามีหนึ่งในกรณีที่มันจะให้ความรู้สึก: ถ้าคุณต้องการที่จะเรียนรู้วิธีภาษาสคริปต์ทำ แต่โปรดได้โปรดถ้าคุณทำเช่นนั้น: อย่าบังคับให้คนอื่นใช้มัน
แก้ไข
ฉันเพิ่งดูรายการคำสั่ง Cave Story ที่คุณเชื่อมโยง อุ๊ยตาย:
<ECJx:y [EC?] Jump @ Jump to event Y if any npc with ID X is present
ฉันไม่ต้องการแสดงความไม่เคารพต่อผู้พัฒนาที่อยู่เบื้องหลัง Cave Story แต่นี่เป็นตัวอย่างที่สมบูรณ์แบบของรายการคำสั่งง่ายๆที่กลายพันธุ์ในภาษาสคริปต์ที่ไม่สามารถควบคุมได้ สิ่งนี้อาจยังใช้งานได้สำหรับนักพัฒนาเดี่ยวหรือทีมเล็ก ๆ แต่ในขั้นตอนนี้ฉันแนะนำให้เปลี่ยนเป็นภาษาทัวริงที่สมบูรณ์และได้รับการทดสอบอย่างถูกต้อง (เช่น Lua) ซึ่งคุณสามารถทำได้:
if (npc.id == x) then
jump_to_event(y)
end
สิ่งนี้จะทำให้สิ่งต่าง ๆ ง่ายขึ้นมากเช่นเมื่อคุณจะต้องมีเงื่อนไขที่ซับซ้อนมากขึ้น:
if (npc.id == x) or (npc.type == "enemy") then
jump_to_event(y)
end