Tyra
Moteur de jeu open source pour PlayStation 2™
Vidéo de présentation » Tutoriels YouTube »
Signaler un bug · Fonctionnalité de demande
Table des matières
- À propos du projet
- Description
- Tutoriels
- Caractéristiques
- Contribuer
- Jeux
- Licence
- Construit avec
- Acronymes
- Crédits
À propos du projet
Description
Tyra est un projet qui vous permet de créer facilement des jeux pour la console PlayStation 2.
Lorsque j’ai essayé de créer un jeu pour PS2 il y a quelques années, j’ai réalisé combien de choses devaient être faites pour apprivoiser cette architecture de console exotique. La décision était simple : je dois créer un moteur qui gérera le chargement des fichiers 3D, le rendu 2D/3D, l'animation, l'audio, la gestion entre les processeurs PS2, la synchronisation... Cela devrait être aussi simple que possible - afin que les personnes sans expérience puissent créer un simple jeu dans quelques heures.
Et c’est ce qu’est Tyra.
Tutoriels
- 01 - Environnement de configuration - Tutoriel texte ou vidéo
- 02 - Ressources du jeu de cuisine - Vidéo
- 03 - Créer un référentiel de jeux - Vidéo
- 04 - Exécuter le jeu depuis USB dans PS2 - Vidéo
- 01 - Code - Bonjour tout le monde
- 02 - Code - Rendu 2D
- 03 - Code - Blocs Minecraft 3D
- 04 - Code - rendu
de_dust2.obj
- 05 - Codes - Animations 3D
- 06 - Code - Musique d'ambiance et effets sonores
- 07 - Code - Lightmap statique et feux directionnels dynamiques
- 08 - Code - Skybox et rendu de débogage
- 09 - Code - Rendu manuel (à la OpenGL)
- 10 - Code - Feuille de Sprite (police)
- 11 - Code - Répétition de texture
- Jeu démo - Code
Caractéristiques
- Image Docker avec Tyra, tous les outils et le compilateur
PS2DEV
C++20 - Rendu 3D via le coprocesseur
VU1
:- Rendu statique
- Rendu d'animation de morphing
- Rendu de blocs Minecraft personnalisé et super optimisé
- Rendu de débogage (lignes, boîtes, bbox)
- Rendu manuel (à la
OpenGL
)
- Rendu 2D
- Abattage du tronc :
- Simple : éliminer tout le maillage
- Précis : élimine uniquement les parties visibles du maillage
- Coupure:
- "Faux" standard, mais découpage PS2 rapide réalisé dans
VU1
- Découpage logiciel réalisé dans
EE Core
- Fonctions mathématiques optimisées via le coprocesseur
VU0
- Prise en charge de la musique de fond et des effets sonores
- Support de coussin
- Prise en charge USB
- Prise en charge des cartes mémoire
- Prise en charge des fichiers audio
.wav
- Prise en charge des fichiers 3D
.obj
- Prise en charge des fichiers 3D
.md2
-
.png
Prise en charge des fichiers de textures
Contribuer
Consultez les problèmes ouverts pour une liste des fonctionnalités proposées (et des problèmes connus).
Les contributions sont ce qui fait de la communauté open source un endroit si formidable pour apprendre, inspirer et créer. Toutes les contributions que vous apportez sont grandement appréciées .
- Forkez le projet
- Créez votre branche de fonctionnalités (
git checkout -b feature/amazing-feature
) - Validez vos modifications (
git commit -m 'Add some amazing-feature'
) - Pousser vers la branche (
git push origin feature/amazing-feature
) - Ouvrir une demande de tirage
Jeux
Liste des jeux développés avec Tyra.
Si vous en avez créé un, contactez-moi, je l'ajouterai à la liste :)
- Tyracraft par Wellinator
- Jeu avec voiture par freebytego
- « Pierre, papier, ciseaux » par GuidoDQR
- TyraTale par Br4k2n
Licence
Distribué sous la licence Apache License 2.0. Voir LICENSE
pour plus d’informations.
Construit avec
Acronymes
- EE (Emotion Engine) - ensemble complet de processeurs et sous-systèmes qui composent la PlayStation 2
- EE Core - CPU PS2 principal (c++ fait ici)
- GS (Synthétiseur graphique) - rastériseur et mappeur de texture configurables. N'a que 2 Mo de mémoire pour les textures, mais à l'inverse, il a un taux de transfert très élevé, vous pouvez donc changer de texture en un clin d'œil
- VU0 - processeur vectoriel programmable (ASM) accessible par le code assembleur en ligne injecté dans le programme C.
- VU1 - processeur vectoriel programmable (ASM), similaire au vertex shader. Accessible via DMA.
- IOP - Processeur d'E/S qui permet d'accéder aux périphériques, tels que le contrôleur de jeu
Crédits
Sans ces gars, Tyra n’existerait pas :
- Dr Henry Fortuna – pour les sources de code, les tutoriels de l'académie PS2
- Toute l'équipe PS2DEV, et spécialement Rick Gaiser, fjtrujy - pour plein de bons conseils !
- Wellington Carvalho, André Guilheme, Matías Israelson, Guido Diego Quispe Robles - pour avoir testé, contribué à Tyra et partagé des idées sympas !
- Leonardo Ono - pour un exemple de rendu logiciel (avec découpage !)
- Lukasz DK - pour d'énormes archives de trucs PS2
- Guilherme Lampert - pour les codes sources
- Jesper Svennevid, Daniel Collin - pour les exemples de code d'openvcl
- Manieq - pour de jolis écrans de démarrage !
- Et tant d'autres gars. Merci!
Lien du projet : https://github.com/h4570/tyra
Sandro Sobczyński - [email protected]