Open source · PlayStation 2™ homebrew
Tyra Game Engine
Easily create games for the PlayStation 2 console.
Handles 3D/2D rendering, audio, dual‑CPU sync, and asset pipelines — simple enough for beginners.
Handles 3D/2D rendering, audio, dual‑CPU sync, and asset pipelines — simple enough for beginners.
Why Tyra?
When the creator tried to make a PS2 game years ago, the exotic architecture felt overwhelming. Tyra was born to handle low-level quirks: VU1 rendering, DMA transfers, CPU synchronization, and asset loading. Make a simple game in a few hours.
Docker + PS2DEV C++20
Modern PS2 Development
- 3D rendering via VU1 (static, morph animation)
- 2D rendering & sprite sheets
- Frustum culling & clipping (VU1 / software)
- Audio: .wav, BGM + SFX
- Pad, USB, Memory card support
- .obj / .md2 / .png assets
- Manual rendering mode (a'la OpenGL)
📚 Step-by-step tutorials
⚙️ Setup & basics
💻 Code examples
01 - Hello worldCode
02 - 2D renderingCode
03 - 3D minecraft blocksCode
04 - de_dust2.obj renderingCode
05 - 3D animationCode
06 - Music & sound effectsCode
07 - Static lightmap / dynamic lightsCode
08 - Skybox & debug renderingCode
09 - Manual rendering (OpenGL style)Code
10 - Sprite sheet (font)Code
11 - Texture repeatingCode
🎮 Demo game - Full sourceCode
🎮 Games created with Tyra
Tyracraft by Wellinator
Game with car by freebytego
Rock, paper, scissors by GuidoDQR
TyraTale by Br4k2n
Made your own Tyra game? Contact the author to be featured!
🧠 Understanding the PS2 architecture
Tyra abstracts the complexity, but knowing these coprocessors helps you unleash the full power of the Emotion Engine.
EE (Emotion Engine)
Whole set of processors & subsystems.
Whole set of processors & subsystems.
EE Core
Main PS2 CPU — where your C++ runs.
Main PS2 CPU — where your C++ runs.
GS (Graphic Synthesizer)
Rasterizer + texture mapper (2MB VRAM, super fast texture swaps).
Rasterizer + texture mapper (2MB VRAM, super fast texture swaps).
VU0
Vector processor (inline ASM) — math & custom ops.
Vector processor (inline ASM) — math & custom ops.
VU1
Vertex shader–like processor, accessed via DMA.
Vertex shader–like processor, accessed via DMA.
IOP
I/O processor for peripherals (controller, USB, memcard).
I/O processor for peripherals (controller, USB, memcard).
Built With
PS2DEV toolchain · VCLPP · Sony VCL
Docker + C++20 environment ready to compile.
📦 Key features
- Optimized math via VU0
- .obj / .md2 mesh loading
- .png texture support
- .wav audio playback
- Minecraft‑style block renderer
Credits & Community
Without these people, Tyra wouldn't exist:
Dr Henry Fortuna
PS2DEV team
Rick Gaiser
fjtrujy
Leonardo Ono
Wellington Carvalho
Creator: Sandro Sobczyński · sandro.sobczynski@gmail.com
Project link: github.com/h4570/tyra
667+ commits · active since 2022
0 Comentários