8000 GitHub - h4570/tyra at 1.1.0
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

h4570/tyra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Contributors
MIT License


Logo

Tyra alpha 1.1.0

First open source renderer and game engine for PS2 (PlayStation 2™).
View Demo (soon) »

Report Bug · Request Feature

Table of Contents

About The Project

sample

Samples

Contributors wanted

I will be grateful for any help, Discord: Sandro#3402

About project

Goal of Tyra project is to provide simple API for PS2 (PlayStation 2™) game creation. So you can just run PS2 emulator, grab your .obj file, and put it into live in a seconds. Project is on early stage, so a lot of stuff is changing from release to release.

YouTube tutorials soon!

Why PS2 game dev is so different? 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 and many more low-level stuff is already done.

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

Tyra features

  • VU1 rendering (PATH 1), double-buffered
  • GIF rendering (PATH 3), double-buffered
  • Frustum culling, backface culling
  • OpenGL adaptions: Perspective projection, lookAt camera
  • Texture support (.bmp loader)
  • Mesh loaders: ".obj", ".dff" (RenderWare, GTA:SA) and ".md2" (Quake II)
  • Threading support
  • Lighting support (now PATH3 only)
  • Animation support
  • Audio support
  • Pad support
  • TODO: physics, ADPCM and many more!

Built With

Getting Started

To get a local copy up and running follow these simple steps.
YouTube tutorials soon!

Prerequisites

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

  • PS2 DEV environment - PS2DEV
  • At least #1a4587d PS2SDK - PS2SDK
  • PS2 Emulator. For example PCSX2

Installation

  1. Clone the repo
git clone https://github.com/ps2-tyra/tyra.git
  1. Get into src folder and compile it!
make

Extra info

  • Textures can be saved using GIMP. Just replace red with green color, and when exporting select .bmp, 24bit: RGB888, without saving 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 trinagle primitive type.

Roadmap

Roadmap moved to github kanban:

https://github.com/ps2-tyra/tyra/projects/1

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.

Contact

Sandro Sobczyński - sandro.sobczynski@gmail.com
LinkedIn

Thanks

Without these guys, everything would be harder:

  • Dr Henry Fortuna - Abertay University (code sources)
  • Lukasz D.K. (huge archive of PS2 stuff)
  • Guilherme Lampert - PlayStation London (code sources)
  • Jesper Svennevid, Daniel Collin - Microcode (openvcl, code samples)
  • Whole PS2SDK/PS2Scene team
  • And so many other guys. Thanks!

Project Link: https://github.com/ps2-tyra/tyra

0