HN เปิดเผย: Tramway SDK – การผสานที่ไม่ศักดิ์สิทธิ์ระหว่าง Half-Life และ Morrowind Engine
(racenis.github.io)-
แนะนำ Tramway SDK
- Tramway SDK เป็นแพ็กเกจกราฟิก/เฟรมเวิร์ก/เกมเอนจิน และได้รับการพัฒนามาเป็นเวลา 3 ปี
- แนะนำข้อดีของ Tramway SDK เมื่อเทียบกับเอนจินกระแสหลัก
-
ปัญหา Turbobloat
- เอนจินหลักอย่าง Unity และ Godot ต้องการฮาร์ดแวร์ที่มีประสิทธิภาพสูง
- Tramway SDK สามารถรันได้บนฮาร์ดแวร์ที่มีอายุถึง 15 ปี และสามารถใช้การเรสเตอร์ไรซ์แบบซอฟต์แวร์ได้โดยไม่ต้องใช้การ์ดจอ
-
ปัญหาการอัปเกรดฮาร์ดแวร์
- ผู้ใช้จำนวนมากไม่สามารถซื้อฮาร์ดแวร์ใหม่ได้
- การผลิตชิปคอมพิวเตอร์เป็นสิ่งที่ก่อให้เกิดผลเสียต่อสิ่งแวดล้อม
- หากฮาร์ดแวร์เดิมยังทำงานได้ดีจึงไม่จำเป็นต้องซื้อคอมพิวเตอร์ใหม่
-
ข้อเสียของระบบที่อิงโหนด
- โหนดมีปัญหาเมื่อองค์ประกอบหลายอย่างต้องทำหน้าที่เป็นสิ่งเดียวกัน
- Tramway SDK สร้างซับคลาสจากคลาสเอนทิตี หลังจากเขียนโค้ดแล้วจึงสร้างเลเวลผ่าน Level Editor
-
ปัญหาโมโนลิทิก
- เอนจินกระแสหลักมักมีเกมเอดิเตอร์แบบโมโนลิทิก
- Tramway SDK ให้ตัวเลือกเอดิเตอร์ โดยสามารถใช้ได้เฉพาะเฉพาะ C++ runtime หรือใช้เพียง Level Editor
-
คุณภาพกราฟิก
- Tramway SDK สามารถให้กราฟิกที่ดีได้ด้วยเพียง lightmapping และการเชดดิ้งแบบ Gouraud เท่านั้น
-
การจัดการเลเวลแบบ brush
- Tramway SDK มีตัวแปลงไฟล์ .map ที่เปลี่ยน brush เป็นเมชแบบตรีโกณมิติได้
- สามารถสร้างเลเวลได้ด้วย Trenchbroom Map Editor และ Tramway SDK Level Editor
-
RPG framework
- ให้เฟรมเวิร์ก RPG ลักษณะคล้าย RPG Maker และรองรับการสร้างเกม RPG แบบ open world
-
สรุป
- Tramway SDK คือเกมเอนจินแบบ entity-based สไตล์ Quake/Source ที่รองรับ open world streaming และมีตัวขยายเพิ่มเติมแบบไม่บังคับ เช่น RPG framework
- แม้ยังอยู่ในระยะพัฒนาระยะแรก API ยังไม่เสถียรและฟีเจอร์จำนวนมากยังไม่ถูกนำมาใช้ แต่กำลังพัฒนาอย่างรวดเร็ว
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ในฐานะคนที่ทำงานในทีมเล็กที่ใช้ Godot Engine สร้างเกม low-poly แบบสเปกต่ำ ฉันคิดว่าโปรเจกต์นี้เท่มากมาก ผมรู้สึกเห็นด้วยกับความจำเป็นในการสลับระหว่าง GUI แบบ node กับโค้ด การใช้ IDE แบบรวมอาจทำให้เกิดปัญหา merge ระหว่างนักพัฒนาง่ายขึ้น ดังนั้นการใช้ตัวแก้ไขที่มีจุดประสงค์เฉพาะอาจช่วยได้
ขณะโต้แย้งว่าควรซื้อคอมพิวเตอร์ที่ดีกว่า มีเหตุผลว่าคนจำนวนมากมีภาวะการเงินไม่ดีพอที่จะซื้อฮาร์ดแวร์ใหม่ การผลิตชิปคอมพิวเตอร์เป็นสิ่งที่ไม่เป็นมิตรต่อสิ่งแวดล้อม และเมื่อคอมพิวเตอร์ที่ใช้อยู่ทำงานได้ดี ก็ไม่จำเป็นต้องซื้อตัวใหม่
เริ่มเชื่อว่าคุณภาพของเอนจิ้นเกมลดลงตามเวลาเนื่องจากปัจจัยภายนอก เอดิเตอร์แบบ node-based อย่าง Unity เหมาะสำหรับการเรียนรู้มากมาย และมีนักพัฒนาอะไมเชอร์จำนวนมากที่รู้จักเฉพาะ Unity/Unreal ทำให้บริษัทต่างๆ จึงจ้างคนกลุ่มนี้ Unity ต้องปรับเอนจิ้นให้ตรงกับความต้องการของลูกค้า จึงเกิดปรากฏการณ์ "turbobloat"
Half-Life และ Morrowind Engine ถูกสร้างโดยโปรแกรมเมอร์ที่มีใจรัก จึงให้เอนจิ้นขั้นต่ำพร้อมเทคโนโลยีที่ดีเยี่ยม โปรเจกต์นี้อยู่ระหว่าง raylib และ Unity และอาจไม่ดึงดูดโปรแกรมเมอร์สมัครเล่น แต่มีประสิทธิภาพดีและมีการจัดวางที่ดี
วลี "A thing should be a thing" ทิ้งความประทับใจไว้มาก ทำให้นึกถึงสไตล์ของ Terry Pratchett และยังได้ไอเดียบางอย่างมาประยุกต์ใช้กับโปรเจกต์ AI
เห็นด้วยกับปัญหา "turbo bloat" อย่างเต็มที่ เครื่องจักรในปัจจุบันรุนแรงขึ้นมาก แต่โปรแกรมกลับช้าลง นอกจากนี้ดีไซน์โปรเจกต์และเว็บไซต์ก็ดูยอดเยี่ยมมาก
เกมส่วนใหญ่บน Unity แม้ใช้เชดเดอร์ขั้นสูงและเทคโนโลยีก็ยังไม่ค่อยดูดีเท่าที่ควร เทคโนโลยีการแมปเทกซ์เจอร์บางอย่างหายไป และเกมอย่าง Ikaruga มีฉากหลังที่ยอดเยี่ยม
เมื่อเร็ว ๆ นี้ฉันได้เล่น Half-Life 2 อีกครั้ง และแม้ไม่มีแพ็กเทกซ์เจอร์ความละเอียดสูงก็ยังแสดงกราฟิกที่น่าประทับใจได้
หัวข้อพูดถึง "Turbobloat" และการ "bloated" ของเอนจิ้น ควรอธิบายว่าบริบทใดของฟีเจอร์ที่ถูกตัดออกในโครงการ Tramway
ขอบคุณสำหรับบทความที่อธิบายการใช้เฟรมเวิร์กสำหรับผู้เริ่มต้นที่ยังไม่คุ้นเคยกับ C++ โดยรู้สึกว่าการสอนนั้นสนุกและเข้าถึงง่าย
จากประสบการณ์ในการสร้างเอนจิ้นเพื่อกราฟิก 3D และโปรเจกต์วิทยาศาสตร์ ฉันสงสัยว่าอะไรคือจุดคอขวดในการทำให้ได้ความละเอียดสูงและแสงแบบไดนามิก โดยสามารถทำได้ด้วยการใช้ Vulkan/Dx/Metal/OpenGL ฯลฯ และใช้คู่ pixel/fragment shader ขั้นต่ำได้