Tyra
Mesin permainan sumber terbuka untuk PlayStation 2™
Pamerkan video » Tutorial YouTube »
Laporkan Bug · Fitur Permintaan
Daftar isi
- Tentang proyek tersebut
- Keterangan
- Tutorial
- Fitur
- Berkontribusi
- Pertandingan
- Lisensi
- Dibangun Dengan
- Akronim
- Kredit
Tentang Proyek
Keterangan
Tyra adalah proyek yang memungkinkan Anda membuat game dengan mudah untuk konsol PlayStation 2.
Ketika saya mencoba membuat game untuk PS2 beberapa tahun lalu, saya menyadari betapa banyak hal yang harus dilakukan untuk menjinakkan arsitektur konsol eksotis ini. Keputusannya sederhana - Saya perlu membuat mesin yang akan menangani pemuatan file 3D, rendering 2D/3D, animasi, audio, penanganan antar CPU PS2, sinkronisasi.. Ini harus sesederhana mungkin - sehingga orang yang tidak memiliki pengalaman dapat membuat yang sederhana permainan dalam beberapa jam.
Dan itulah inti dari Tyra.
Tutorial
- 01 - Lingkungan pengaturan - Tutorial teks atau Video
- 02 - Aset permainan memasak - Video
- 03 - Buat repositori game - Video
- 04 - Jalankan game dari USB di PS2 - Video
- 01 - Kode - Halo dunia
- 02 - Kode - rendering 2D
- 03 - Kode - Blok minecraft 3D
- 04 - Kode - rendering
de_dust2.obj
- 05 - Kode - animasi 3D
- 06 - Kode - Musik latar dan efek suara
- 07 - Kode - Peta cahaya statis dan lampu arah dinamis
- 08 - Kode - Skybox dan debug rendering
- 09 - Kode - Render manual (ala OpenGL)
- 10 - Kode - Sprite sheet (font)
- 11 - Kode - Tekstur berulang
- Permainan demo - Kode
Fitur
- Gambar Docker dengan Tyra, semua alat dan kompiler
PS2DEV
C++20 - Render 3D melalui koprosesor
VU1
:- Rendering statis
- Render animasi morf
- Penyaji blok minecraft khusus yang sangat dioptimalkan
- Rendering debug (garis, kotak, bbox)
- Render manual (ala
OpenGL
)
- Rendering 2D
- Pemusnahan frustrasi:
- Sederhana - memusnahkan seluruh jaring
- Tepat - hanya menyisihkan bagian jaring yang terlihat
- Guntingan:
- Standar "palsu", tetapi kliping PS2 cepat dilakukan di
VU1
- Kliping perangkat lunak dilakukan di
EE Core
- Fungsi matematika yang dioptimalkan melalui koprosesor
VU0
- Dukungan musik latar dan efek suara
- Dukungan bantalan
- dukungan USB
- Dukungan kartu memori
- Dukungan file audio
.wav
- Dukungan file
.obj
3D - Dukungan file 3D
.md2
- Dukungan file tekstur
.png
Berkontribusi
Lihat masalah yang masih terbuka untuk mengetahui daftar fitur yang diusulkan (dan masalah umum).
Kontribusi inilah yang membuat komunitas open source menjadi tempat yang luar biasa untuk belajar, menginspirasi, dan berkreasi. Setiap kontribusi yang Anda berikan sangat dihargai .
- Garpu Proyek
- Buat Cabang Fitur Anda (
git checkout -b feature/amazing-feature
) - Komit Perubahan Anda (
git commit -m 'Add some amazing-feature'
) - Dorong ke Cabang (
git push origin feature/amazing-feature
) - Buka Permintaan Tarik
Pertandingan
Daftar game yang dikembangkan bersama Tyra.
Jika Anda membuatnya, silakan hubungi saya - saya akan menambahkannya ke daftar :)
- Tyracraft oleh Wellinator
- Game dengan mobil oleh freebytego
- Batu, kertas, gunting oleh GuidoDQR
- TyraTale oleh Br4k2n
Lisensi
Didistribusikan di bawah Lisensi Apache License 2.0. Lihat LICENSE
untuk informasi lebih lanjut.
Dibangun Dengan
Akronim
- EE (Emotion Engine) - seluruh rangkaian prosesor dan subsistem yang membentuk PlayStation 2
- EE Core - CPU PS2 utama (c++ selesai di sini)
- GS (Graphic synthesizer) - rasterizer dan pemetaan tekstur yang dapat dikonfigurasi. Hanya memiliki memori 2MB~ untuk tekstur, namun sebaliknya memiliki kecepatan transfer yang sangat tinggi, sehingga Anda dapat mengganti tekstur dalam sekejap
- VU0 - prosesor vektor yang dapat diprogram (ASM) yang diakses melalui kode perakitan inline yang dimasukkan ke dalam program C.
- VU1 - prosesor vektor yang dapat diprogram (ASM), yang mirip dengan vertex shader. Diakses melalui DMA.
- IOP - Prosesor I/O yang memungkinkan akses ke perangkat periferal, seperti pengontrol permainan
Kredit
Tanpa orang-orang ini, Tyra tidak akan terjadi:
- Dr Henry Fortuna - untuk sumber kode, tutorial akademi PS2
- Seluruh tim PS2DEV, dan khususnya untuk Rick Gaiser, fjtrujy - untuk banyak tips bagus!
- Wellington Carvalho, André Guilheme, Matías Israelson, Guido Diego Quispe Robles - untuk pengujian, berkontribusi pada Tyra, dan berbagi ide-ide keren!
- Leonardo Ono - untuk contoh penyaji perangkat lunak (dengan kliping!)
- Lukasz DK - untuk arsip besar barang-barang PS2
- Guilherme Lampert - untuk sumber kode
- Jesper Svennevid, Daniel Collin - untuk contoh kode openvcl
- Manieq - untuk layar splash yang bagus!
- Dan masih banyak pria lainnya. Terima kasih!
Tautan Proyek: https://github.com/h4570/tyra
Sandro Sobczyński - [email protected]