ในฐานะที่เป็นอาจารย์ในโมดูลการพัฒนาเกมฉันมักจะยืนยันว่าผู้ใช้ใช้ C ++ เพราะเป็นทักษะที่เป็นที่ต้องการมากกว่าในอุตสาหกรรม แต่การสนับสนุนออนไลน์และข้อมูลเกี่ยวกับ C ++ ใน Unreal Engine 4 ดูเหมือนจะค่อนข้างอ่อนแอ ตอนนี้มืออาชีพใช้พิมพ์เขียวด้วยหรือไม่?
ในฐานะที่เป็นอาจารย์ในโมดูลการพัฒนาเกมฉันมักจะยืนยันว่าผู้ใช้ใช้ C ++ เพราะเป็นทักษะที่เป็นที่ต้องการมากกว่าในอุตสาหกรรม แต่การสนับสนุนออนไลน์และข้อมูลเกี่ยวกับ C ++ ใน Unreal Engine 4 ดูเหมือนจะค่อนข้างอ่อนแอ ตอนนี้มืออาชีพใช้พิมพ์เขียวด้วยหรือไม่?
คำตอบ:
ใช่เกมมืออาชีพใช้พิมพ์เขียว
บางคนใช้การผสมผสานของ C ++ และพิมพ์เขียว เราใช้ทั้งสองอย่างใน Dead by Daylight
หนึ่งในสิ่งที่ยอดเยี่ยมเกี่ยวกับพิมพ์เขียวคือผู้ที่ไม่ใช่โปรแกรมเมอร์สามารถเข้าถึงความสามารถในการทำงานของสคริปต์ ไม่ใช่ทุกโครงการที่จะใช้พวกเขาด้วยวิธีนี้ แต่เป็นหนึ่งในเหตุผลที่พวกเขาได้รับการออกแบบ พวกเขาแทนที่ UnrealScript เป็นวิธีการเปลี่ยนพฤติกรรมโดยไม่ต้องกดปุ่ม C ++ และพวกเขายังแทนที่ Kismet ซึ่งเป็นระบบสคริปต์ภาพของ Unreal 3
เรื่องเล็ก ๆ น้อย ๆ จากนอกอุตสาหกรรมเกม: เราใช้ UE4 สำหรับการสร้างภาพสถาปัตยกรรมใน VR
ในขณะที่ฉันต้องการสร้างสิ่งต่าง ๆ ส่วนใหญ่ใน C ++ เรายังใช้พิมพ์เขียวอย่างหนักสำหรับ "ตรรกะเพิ่มเติม" ทุกชนิดเช่นสวิตช์ไฟประตู ฯลฯ
มันเป็นแบบนี้มานานกว่าสองปีแล้วและฉันก็เป็นโปรแกรมเมอร์คนแรกที่เริ่มต้นความพยายามนี้ ดังนั้นนี่คือข้อสังเกตของฉัน:
และสิ่งที่ยิ่งใหญ่ที่สุดสำหรับฉัน: ในการสนทนาจำนวนมากมันชัดเจนสำหรับฉันว่าพิมพ์เขียวได้เรียกความปรารถนาที่จะเป็นโปรแกรมเมอร์ในเพื่อนร่วมงานที่ไม่ใช้เทคโนโลยีของฉัน เหตุผลหลักที่เกิดขึ้นนี้คือพวกเขาสามารถใช้ตรรกะที่ค่อนข้างซับซ้อนในขณะที่สามารถตรวจแก้จุดบกพร่องด้วยสายตา
พวกเขาเรียนรู้บทเรียนที่ยากเกี่ยวกับสถาปัตยกรรมซอฟต์แวร์และข้อผิดพลาด (หรือค่อนข้างฝันร้าย) ของพิมพ์เขียวปาเก็ตตี้ขนาดใหญ่ แต่หลังจากรู้สึกถึงความสำเร็จเล็กน้อยไปแล้ว! ดังนั้นพวกเขาจึงไม่ท้อแท้เลย แต่มีแรงจูงใจที่จะทำสิ่งที่ดีกว่าและค้นหาวิธีการทั้งหมดด้วยตนเอง
พวกเขาเรียนหลักสูตรตั้งแต่ C ++, Python และ C # คุณภาพโดยรวมของพิมพ์เขียวของเราก็ดีขึ้น แต่ส่วนใหญ่: ตอนนี้ฉันมีความช่วยเหลือบางอย่างเมื่อพัฒนา libs หลักของเรา :)
TLDR;
ใช่เราใช้พิมพ์เขียวและพวกเขายังทำให้ผู้ใช้ที่ไม่ใช้เทคโนโลยีขั้นต้นของฉันดีขึ้น
myVector.x += otherVector.x
ใน Blueprints : o
(get myVector x) (get otherVector x) -> (+) -> (assign myVector x)
(ว้าวมันยากที่จะเขียนพิมพ์เขียวในข้อความ ... ) แต่ฉันไม่มีสำเนาของ Unreal ที่จะทำการทดสอบด้วย หรือถ้าเวกเตอร์ไม่เปลี่ยนรูปก็ให้สร้างขึ้นใหม่(myVector.x + otherVector.x, myVector.y, myVector.z)