Sandro Sobczyński 9efd8ab3e1 Update README.MD
2021-02-07 14:13:31 +01:00
2021-02-06 18:57:00 +01:00
2020-12-01 19:43:44 +01:00
2021-02-06 19:02:10 +01:00
2020-10-28 09:16:49 +01:00
2021-02-07 14:13:31 +01:00

Contributors MIT License Discord Discord


Logo

Tyra - alpha 1.31.2

Open source game engine for PlayStation 2™
Dolphin sample »   Floors sample »

Report Bug · Request Feature

Table of Contents

About The Project

sample

Samples

About project

Goal of Tyra project is to provide simple API for PS2 game creation, so you can just run PS2 emulator, grab .obj file, and put it into live in a seconds. Project is on alpha stage, so keep in mind that there are many things to be done and to fix.

YouTube tutorials soon!

Why Tyra is needed? Raw PS2 development can be a big challenge. PS2 it's pretty low-level and there are a lot of stuff that you must do from scratch.
Tyra takes care for you, and rendering, coprocessors communication, synchronization and many more low-level stuff is already done.

Tyra features

  • 3D support - VU1 "Path 1 rendering"
  • 2D support - PNG & BMP
  • Frustum culling, backface culling
  • OpenGL adaptions: Perspective projection, lookAt camera
  • Texture support - .bmp and png
  • Mesh loaders: ".obj", ".dff" (RenderWare, GTA:SA) and ".md2" (Quake II)
  • Threading support
  • Animation support for obj and md2
  • Audio support - .wav and .adpcm
  • Pad support

Branches

  • Master - monthly releases - tested on PS2 & PCSX2.
  • Develop - daily builds - can be unstable.

Stargazers repo roster for h4570/tyra

Getting Started

Installation Discord

In our Discord channel, there is detailed tutorial which will help you with setting up the all environment - starting from installing dependencies and ending on emulator setup or intellisense.

Prerequisites

This is an example of how to list things you need to use the software.

  • PS2 DEV environment - PS2DEV
  • At least #e8e9edb PS2SDK (06.02.2021) - PS2SDK
  • PS2 Emulator. For example PCSX2

Extra info

  • BMP loader needs some polishing so be sure that you exporting BMP with 24bit: RGB888 and without information about colors.
  • If you want to run .elf in PCSX2, be sure that you have version >=1.6 and Host access enabled in PCSX2 configuration file.
  • If you want to use your own .obj file, please check "triangulate faces" in blender. PS2 is supporting only triangle primitive type.

Roadmap

Roadmap for next master release:

Next release roadmap

Tyra team

Sandro Sobczyński - sandro.sobczynski@gmail.com
LinkedIn
Michał Mostowik - mostek3pl@gmail.com
LinkedIn

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/amazing-feature)
  3. Commit your Changes (git commit -m 'Add some amazing-feature')
  4. Push to the Branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

Distributed under the Apache License 2.0 License. See LICENSE for more information.

Built With

Acronyms

  • EE (Emotion Engine) - whole set of processors and subsystems that make up the PlayStation 2
  • GS (Graphic synthesizer) - configurable rasterizer and texture mapper. Has only 2MB~ memory for textures, but for the opposite have very high transfer rate, so you can switch textures in the blink
  • VU0 - programmable (ASM) vector processor that is accessed by inline assembly code injected into C program.
  • VU1 - programmable (ASM) vector processor, which is similar to vertex shader. Accessed via DMA.
  • IOP - I/O processor which enables access to peripheral devices, such the game controller

Thanks

Without these guys, everything would be harder:

  • Dr Henry Fortuna - for code sources
  • Rick Gaiser - for help and new GCC!
  • Lukasz D.K. - for huge archive of PS2 stuff
  • Guilherme Lampert - for code sources
  • Jesper Svennevid, Daniel Collin - for openvcl's code samples
  • Whole PS2DEV team
  • Manieq - for nice splash screens!
  • And so many other guys. Thanks!

Project Link: https://github.com/h4570/tyra


Logo
Languages
C++ 90.4%
Assembly 7.9%
Makefile 0.6%
C 0.3%
PowerShell 0.3%
Other 0.5%