泰拉
适用于 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]