tira
Motor de juego de código abierto para PlayStation 2™
Vídeo de presentación » Tutoriales de YouTube »
Informar error · Solicitar función
Tabla de contenido
- Sobre el proyecto
- Descripción
- Tutoriales
- Características
- Contribuyendo
- Juegos
- Licencia
- Construido con
- Acrónimos
- Créditos
Acerca del proyecto
Descripción
Tyra es un proyecto que te permite crear fácilmente juegos para la consola PlayStation 2.
Cuando intenté crear un juego para PS2 hace unos años, me di cuenta de cuántas cosas había que hacer para domar esta exótica arquitectura de consola. La decisión fue simple: necesito crear un motor que maneje la carga de archivos 3D, renderizado 2D/3D, animación, audio, manejo entre CPU de PS2, sincronización... Debería ser lo más simple posible, para que las personas sin experiencia puedan crear un motor simple. juego en unas horas.
Y de eso se trata Tyra.
Tutoriales
- 01 - Entorno de configuración - Tutorial de texto o vídeo
- 02 - Activos del juego de cocina - Vídeo
- 03 - Crear un repositorio de juegos - Vídeo
- 04 - Ejecutar juego desde USB en PS2 - Vídeo
- 01 - Código - Hola mundo
- 02 - Código - Representación 2D
- 03 - Código - Bloques de Minecraft 3D
- 04 - Código - renderizado
de_dust2.obj
- 05 - Código - Animación 3D
- 06 - Código - Música de fondo y efectos de sonido
- 07 - Código - Mapa de luces estáticas y luces direccionales dinámicas
- 08 - Código - Skybox y renderizado de depuración
- 09 - Código - Representación manual (a'la OpenGL)
- 10 - Código - Hoja de Sprite (fuente)
- 11 - Código - Repetición de textura
- Juego de demostración - Código
Características
- Imagen de Docker con Tyra, todas las herramientas y el compilador
PS2DEV
C++20 - Representación 3D mediante coprocesador
VU1
:- Representación estática
- Representación de animación de transformación
- Renderizador de bloques de Minecraft personalizado y súper optimizado
- Representación de depuración (líneas, cuadros, bboxes)
- Representación manual (al estilo
OpenGL
)
- renderizado 2D
- Eliminación de frutos:
- Simple: eliminar toda la malla
- Preciso: eliminando solo las partes visibles de la malla
- Recorte:
- Recorte estándar "falso", pero rápido de PS2 realizado en
VU1
- Recorte de software realizado en
EE Core
- Funciones matemáticas optimizadas a través del coprocesador
VU0
- Soporte de música de fondo y efectos de sonido.
- Soporte de almohadilla
- soporte USB
- Soporte para tarjeta de memoria
- Soporte de archivos de audio
.wav
- Compatibilidad con archivos 3D
.obj
- Soporte de archivos 3D
.md2
- Soporte de archivos de textura
.png
Contribuyendo
Consulte los problemas abiertos para obtener una lista de funciones propuestas (y problemas conocidos).
Las contribuciones son las que hacen de la comunidad de código abierto un lugar increíble para aprender, inspirar y crear. Cualquier contribución que hagas será muy apreciada .
- Bifurcar el proyecto
- Crea tu rama de funciones (
git checkout -b feature/amazing-feature
) - Confirme sus cambios (
git commit -m 'Add some amazing-feature'
) - Push to the Branch (
git push origin feature/amazing-feature
) - Abrir una solicitud de extracción
Juegos
Lista de juegos desarrollados con Tyra.
Si creó uno, comuníquese conmigo; lo agregaré a la lista :)
- Tyracraft de Wellinator
- Juego con coche de freebytego
- Piedra, papel, tijera de GuidoDQR
- TyraTale de Br4k2n
Licencia
Distribuido bajo la licencia Apache License 2.0. Consulte LICENSE
para obtener más información.
Construido con
Acrónimos
- EE (Emotion Engine): conjunto completo de procesadores y subsistemas que componen la PlayStation 2
- EE Core: CPU principal de PS2 (c++ hecho aquí)
- GS (sintetizador gráfico): rasterizador y mapeador de texturas configurables. Tiene sólo 2MB~ de memoria para texturas, pero por el contrario tiene una tasa de transferencia muy alta, por lo que puedes cambiar de textura en un abrir y cerrar de ojos.
- VU0: procesador vectorial programable (ASM) al que se accede mediante código ensamblador en línea inyectado en el programa C.
- VU1: procesador vectorial programable (ASM), similar al sombreador de vértices. Accedido a través de DMA.
- IOP: procesador de E/S que permite el acceso a dispositivos periféricos, como el controlador de juegos.
Créditos
Sin estos chicos, Tyra no existiría:
- Dr. Henry Fortuna: para fuentes de código, tutoriales de la academia de PS2
- Todo el equipo de PS2DEV, y especialmente a Rick Gaiser, fjtrujy, ¡por sus buenos consejos!
- Wellington Carvalho, André Guilheme, Matías Israelson, Guido Diego Quispe Robles, ¡por probar, contribuir con Tyra y compartir ideas geniales!
- Leonardo Ono: ejemplo de renderizador de software (¡con recorte!)
- Lukasz DK - para un enorme archivo de material de PS2
- Guilherme Lampert - para fuentes de código
- Jesper Svennevid, Daniel Collin - para ejemplos de código de openvcl
- Manieq: ¡para bonitas pantallas de presentación!
- Y tantos otros chicos. ¡Gracias!
Enlace del proyecto: https://github.com/h4570/tyra
Sandro Sobczyński - [email protected]