Skip to content

An open-source port of the DOS shoot-em-up Tyrian. Also for the ESP32

License

Notifications You must be signed in to change notification settings

andyvand/opentyrian2000

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenTyrian2000
================================================================================

OpenTyrian2000 is an open-source port of the DOS game Tyrian. It is a fork of
OpenTyrian, with the end goal being to replicate the experience of Tyrian 2000
as closely as possible.

Tyrian is an arcade-style vertical scrolling shooter.  The story is set
in 20,031 where you play as Trent Hawkins, a skilled fighter-pilot employed
to fight MicroSol and save the galaxy.

Tyrian features a story mode, one- and two-player arcade modes, and networked
multiplayer.

== Additional Necessary Files ==================================================

OpenTyrian2000 requires the Tyrian 2000 data files, which have been released
as freeware:
  https://www.camanis.net/tyrian/tyrian2000.zip

== Keyboard Controls ===========================================================

alt-enter      -- toggle full-screen

arrow keys     -- ship movement
space          -- fire weapons
enter          -- toggle rear weapon mode
ctrl/alt       -- fire left/right sidekick

== Network Multiplayer =========================================================

Currently OpenTyrian2000 does not have an arena; as such, networked games must
be initiated manually via the command line simultaneously by both players.

syntax:
  opentyrian2000 --net-type ipv4 --net HOSTNAME --net-player-name NAME --net-player-number NUM
  opentyrian2000 --net-type ipv6 --net HOSTNAME --net-player-name NAME --net-player-number NUM

where HOSTNAME is the IP address of your opponent, NUM is either 1 or 2
depending on which ship you intend to pilot, and NAME is your alias

OpenTyrian2000 uses UDP port 1333 for multiplayer, but in most cases players
will not need to open any ports because OpenTyrian2000 makes use of UDP hole
punching.

Note that Network play has been tested using both SDL2_net and SDL3_net.

== Links =======================================================================

* For OpenTyrian2000
project: https://github.com/andyvand/opentyrian2000

* For OpenTyrian
project: https://github.com/opentyrian/opentyrian
irc:     ircs://irc.oftc.net/#opentyrian
forums:  https://tyrian2k.proboards.com/board/5

== ESP32 =======================================================================

## Requirements
It requires:
 - An ESP32 WROVER 
 - An ILI9341 LCD - connected by SPI
 - SD Card with the tyrian files in a "data" folder
 - Amplifier and speaker
 - Some input buttons (Up/Down/Left/Right + two buttons)

## Video
https://www.youtube.com/watch?v=UL5eTUv7SZE

## Required esp-idf tools
esp-idf V4.4.8

## Set up esp-idf tools
"export PATH=<PATH_TO_XTENSA_GCC_BINDIR>:$PATH"
"export GNUMAKEFLAGS="
"export IDF_PATH=<PATH_TO_ESP_IDF>"

## Installation
"make -f Makefile.esp32 menuconfig"

### LCD / SD Card
Set up the pins used for your LCD and SD Card.
The LCD is connected to VSPI, and the SD Card to HSPI.

### Input / Controls
The default button input is configured in keyboard.c
- GPIO36 UP
- GPIO34 DOWN
- GPIO32 LEFT
- GPIO39 RIGHT
- GPIO33 ESCAPE (quit)
- GPIO35 SPACE (fire/select)

### Sound
Sound is output using I2S connected to the DAC on GPIO25 this is configured in SDL_audio.c.  You will need an amplifier+speaker and coupling capacitor on this pin (the capacitor to bring the DAC's DC signal back to AC).

### Compiling
"make -f Makefile.esp32"

About

An open-source port of the DOS shoot-em-up Tyrian. Also for the ESP32

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 91.9%
  • C++ 3.8%
  • Java 3.5%
  • CMake 0.4%
  • Roff 0.2%
  • Makefile 0.1%
  • Other 0.1%