泰拉
適用於 PlayStation 2™ 的開源遊戲引擎
展示影片 » YouTube 教學 »
報告錯誤·請求功能
目錄
關於項目
描述
Tyra 是一個可以讓您輕鬆為 PlayStation 2 主機建立遊戲的專案。
幾年前,當我嘗試為 PS2 製作遊戲時,我意識到需要做很多事情才能馴服這種奇怪的控制台架構。決定很簡單- 我需要創建一個引擎來處理3D 文件加載、2D/3D 渲染、動畫、音頻、PS2 CPU 之間的處理、同步。引擎幾個小時後的比賽。
這就是 Tyra 的意義所在。
教學
- 01 - 設定環境 - 文字教學或視頻
- 02 - 烹飪遊戲資產 - 視頻
- 03 - 創建遊戲儲存庫 - 視頻
- 04 - 在 PS2 中從 USB 運行遊戲 - 視頻
- 01 - 代碼 - 你好世界
- 02 - 程式碼 - 2D 渲染
- 03 - 代碼 - 3D Minecraft 方塊
- 04 - 程式碼 -
de_dust2.obj
渲染 - 05 - 代碼 - 3D動畫
- 06 - 程式碼 - 背景音樂和音效
- 07 - 程式碼 - 靜態光照貼圖和動態定向光
- 08 - 程式碼 - 天空盒和調試渲染
- 09 - 程式碼 - 手動渲染(a'la OpenGL)
- 10 - 程式碼 - Sprite 表(字體)
- 11 - 程式碼 - 紋理重複
- 示範遊戲 - 程式碼
特徵
- 包含 Tyra、所有工具和
PS2DEV
C++20 編譯器的 Docker 映像 - 透過
VU1
協處理器進行 3D 渲染:- 靜態渲染
- 變形動畫渲染
- 超級優化的自訂《我的世界》方塊渲染器
- 調試渲染(線、框、bbox)
- 手動渲染(a'la
OpenGL
)
- 2D 渲染
- 視錐體剔除:
- 簡單 - 剔除整個網格
- 精確 - 僅剔除網格的可見部分
- 剪裁:
- 標準“假”,但在
VU1
中完成快速 PS2 剪輯 - 在
EE Core
完成的軟體剪輯
- 透過
VU0
協處理器優化數學函數 - 背景音樂和音效支持
- 墊支撐
- USB支援
- 記憶卡支援
.wav
音訊檔案支持.obj
3D 檔案支持.md2
3D 檔案支持.png
紋理檔案支持
貢獻
請參閱未決問題以取得建議功能(和已知問題)的清單。
正是貢獻使開源社群成為學習、啟發和創造的絕佳場所。我們非常感謝您所做的任何貢獻。
- 分叉項目
- 建立您的功能分支(
git checkout -b feature/amazing-feature
) - 提交您的更改(
git commit -m 'Add some amazing-feature'
) - 推到分支(
git push origin feature/amazing-feature
) - 打開拉取請求
遊戲
使用 Tyra 開發的遊戲清單。
如果您創建了一個,請與我聯繫 - 我會將其添加到列表中:)
- 由 Wellinator 設計的 Tyracraft
- freebytego 的汽車遊戲
- 石頭、剪刀、布,作者:GuidoDQR
- Br4k2n 的 TyraTale
執照
根據 Apache License 2.0 許可證分發。請參閱LICENSE
以了解更多資訊。
內建
縮寫
- EE(情緒引擎)-構成 PlayStation 2 的整套處理器與子系統
- EE Core - 主 PS2 CPU(這裡用 C++ 完成)
- GS(圖形合成器)-可設定的光柵器和紋理映射器。只有2MB~記憶體用於紋理,但相反具有非常高的傳輸速率,所以你可以在眨眼間切換紋理
- VU0 - 可程式設計 (ASM) 向量處理器,可透過注入 C 程式的內嵌彙編程式碼進行存取。
- VU1 - 可程式化(ASM)向量處理器,類似頂點著色器。透過 DMA 存取。
- IOP - I/O 處理器,可存取週邊設備,例如遊戲控制器
製作人員
沒有這些人,Tyra 就不會發生:
- Henry Fortuna 博士 - 程式碼來源、PS2 學院教程
- 整個 PS2DEV 團隊,特別是 Rick Gaiser、fjtrujy - 提供了很多很好的建議!
- Wellington Carvalho、André Guilheme、Matías Israelson、Guido Diego Quispe Robles - 進行測試、為 Tyra 做出貢獻並分享酷炫的想法!
- Leonardo Ono - 軟體渲染器範例(附剪輯!)
- Lukasz DK - 大量 PS2 資料檔案
- Guilherme Lampert - 程式碼來源
- Jesper Svennevid、Daniel Collin - openvcl 的程式碼範例
- Manieq - 漂亮的啟動畫面!
- 還有很多其他人。謝謝!
專案連結:https://github.com/h4570/tyra
桑德羅·索布欽斯基 - [email protected]