กลไก TLSA (เวอร์ชัน Visual Basic 6.0)
TLSA Engine เวอร์ชันล่าสุดของฉันพัฒนาใน Visual Basic 6.0 พร้อมด้วย dx_lib32 2.1 เมื่อกลางปี 2010 ซึ่งเป็นเอ็นจิ้นแพลตฟอร์มภาพยนตร์ 2D แบบกำหนดเอง รวมเครื่องมือ SDK และโครงการทดสอบบางส่วน
ฉันตัดสินใจที่จะเผยแพร่แหล่งที่มาของโครงการนี้เพื่อเป็นเพียงความอยากรู้อยากเห็นสำหรับทุกคนที่สนใจ เวอร์ชัน is เป็นเวอร์ชันเดียวกับที่ใช้ในตอนแรกสำหรับรายการ White & World ของเกม Campus Party 2011
วันที่/ระยะเวลาการพัฒนา:
ประวัติศาสตร์:
เอ็นจิ้นเกม 2 มิติที่สร้างจาก โครงการ dx_lib32 โดยมีวัตถุประสงค์เพื่อพัฒนาเกมแพลตฟอร์ม 2 มิติ เช่น Flashback หรือ Another World
ประวัติย่อเล็กน้อยเกี่ยวกับคุณสมบัติของพวกเขาในเวอร์ชันล่าสุด:
- Component Oriented Engine พยายามจำลองสถาปัตยกรรม XNA
- เอ็นจิ้นกราฟิก 2D ที่ใช้สไปรท์หลายชั้น พร้อมระบบเอฟเฟกต์อย่างง่ายที่ใช้ไปป์ไลน์คงที่ Directx 8.1 ใช้ได้กับสไปรท์เดี่ยวหรือทั้งฉาก (ฉากสุดท้ายเป็นผืนผ้าใบที่เปลี่ยนแปลงได้พร้อมรองรับเอฟเฟกต์สไปรท์ ตำแหน่ง การหมุน และการแปลงขนาดทั้งหมด) การใช้ระบบแผนที่จุดควบคุมสไปรท์ (คล้ายกับวิธีที่ Div Game Studio ใช้งานในระบบสไปรท์ของเขา) เพื่อจัดการพื้นผิวและการแปลงหลายรายการในกลุ่มวัตถุที่ซ้อนกันได้อย่างง่ายดาย (เพื่อสร้างภาพเคลื่อนไหวที่ซับซ้อนโดยอิงจากหลายส่วน ด้วยสไปรท์แอนิเมชั่นอิสระ) ระบบกล้องธรรมดา (พร้อมรองรับการกำหนดฉากกล้องหลายตัว เพื่อสลับระหว่างกล้องเหล่านั้นได้อย่างง่ายดายโดยใช้เส้นทางหรือแอนิเมชั่นที่มีขนาดและการหมุน)
- 2D Audio Engine พร้อมการรองรับเอฟเฟกต์มาตรฐานเรียลไทม์ขั้นพื้นฐาน (ไม่ใช่พารามิเตอร์) และระบบเชิงพื้นที่เพื่อจำลองระยะทางและตำแหน่งผู้ฟังที่เปลี่ยนระดับเสียงสเตอริโอของเอฟเฟกต์เสียง และมิกเซอร์ mutichannel พื้นฐาน
- ระบบอินพุตพื้นฐาน ขึ้นอยู่กับการกระทำ ซึ่งสามารถกำหนดอินพุตหลายอินพุต (คีย์บอร์ด เมาส์ และจอยสติ๊กหรือเกมแพด) และรองรับจอยสติ๊กและเกมแพดได้อย่างสมบูรณ์ผ่าน DirectInput 8 และ XInput 1.3 (สำหรับการรองรับ XBox 360 เกมแพด อย่างสมบูรณ์ ) พร้อมด้วย Force Feedback พื้นฐาน การสนับสนุน (เพื่อจำลองระบบดังก้อง XInput ในจอยสติ๊กที่เข้ากันได้โดยใช้เอฟเฟกต์แรงคงที่)
- เครื่องยนต์การชนกันของฟิสิกส์พื้นฐาน พร้อมระบบการชนกันหลายชั้น พื้นที่พาร์ติชันโลก เรย์แคสเตอร์ และตัวปล่อยแรง (เพื่อจำลองการระเบิดหรือแรงของหลุมดำ)
- เครื่องมือแก้ไขระดับ WYSIWYG พร้อมการควบคุมโฟลว์ (เล่น หยุดชั่วคราว และรีสตาร์ทฉากในระหว่างการดีบัก) ผู้ออกแบบฟิสิกส์ของฉาก ผู้ออกแบบพื้นที่เสียง (สำหรับการใช้เอฟเฟกต์และตัวปล่อย) ที่ใช้ฟิสิกส์ที่กำหนดไว้ในฉาก และดีบักเกอร์ภาพ
- เครื่องมือบางอย่างใน SDK เช่น Input Editor เพื่อสร้างไฟล์อินพุตโปรไฟล์พร้อมกำหนดการกระทำและการควบคุมอินพุตของเธอ เพื่อนำเข้าในเอ็นจิ้นเกมได้อย่างง่ายดาย และ Tile Studio ตัวแก้ไขที่เรียบง่ายแต่สมบูรณ์เพื่อกำหนดแผ่นกระเบื้องและสไปรท์ชีตที่ไม่สม่ำเสมอ ขนาด คำจำกัดความของจุดควบคุม และลำดับภาพเคลื่อนไหว พร้อมโปรแกรมปรับแต่งภาพเคลื่อนไหวล่วงหน้า
การพัฒนาเครื่องยนต์รุ่นแรกเริ่มตั้งแต่ปี 2548 ถึง 2549 เวอร์ชันสุดท้ายได้รับการตั้งโปรแกรมใหม่ตั้งแต่ต้น เริ่มการพัฒนาในช่วงฤดูร้อนปี 2552 และระหว่างนั้นจนถึงการสร้างครั้งสุดท้ายในฤดูร้อนปี 2553
เอ็นจิ้นเกมนี้ยังไม่เสร็จสิ้นเนื่องจากความซับซ้อนในการพัฒนาโครงการเช่นนี้ใน Visual Basic 6.0 เอ็นจิ้นเกมถูกใช้ในบางโปรเจ็กต์ ส่วนใหญ่เป็นต้นแบบและเกมติดขัด
หมายเหตุ:
- บรรทัดความคิดเห็นในโค้ดเป็นภาษาสเปน
ลิงค์ที่เกี่ยวข้อง:
- โครงการ dx_lib32: http://portfolio.visualstudioex3.com/2006/02/25/dxlib32-project/
- เครื่องยนต์ TLSA: http://portfolio.visualstudioex3.com/2010/07/30/tlsa-engine-vb6/
- การใช้งาน Marius Watz Java สำหรับฟังก์ชันการแยกเส้น 2D: http://workshop.evolutionzone.com/2007/09/10/code-2d-line-intersection/
- Wrapper XInput สำหรับ Game Maker โดย Yellowsix: http://gmc.yoyogames.com/lofiversion/index.php/t360286.html
- สีขาวและโลก: https://portfolio.visualstudioex3.com/2010/07/31/white-and-world/
จับภาพ: