Skip to content

[RType] How to play

MrMarmotte edited this page Nov 3, 2024 · 8 revisions
logo

How to play

Summary

Game description

R-Type is a classic horizontal shoot-’em-up where you control a combat spaceship navigating through levels that scroll from right to left at a steady pace. As you progress, you'll encounter various types of enemies and can collect power-ups to enhance your firepower and abilities.

For a better idea of the gameplay, check out this video of the first level: R-Type Level 1 Gameplay.

Here’s a polished version:


Launch a Game

Upon launching the game, you'll arrive at the main menu, where you can choose from several options:

Launch client

# Linux
./r-type_client

# Windows
.\r-type_client.exe

Main menu options Main Menu

Here’s how to start a game.

Singleplayer

To start a singleplayer game, first launch a local server:

# Linux
./r-type_server

# Windows
.\r-type_server.exe

Note: The server is set to run locally, listening on port 8581 by default.

Once the server is running, click on the connect button in the main menu:
Connect Button

You should then see the status connected appear on the screen:
Connected Status

Once connected you have to create a lobby using the Find Game button:
image

Note: Find Game create automatically a lobby for the player since no one already exist.

Now you juste have to press [S] key on your keyboard to launch the game.

Multiplayer

As for the single player, you have to run a server specifying your host & port:

# Linux
./r-type_server -H [HOST] -p [PORT]

# Windows
.\r-type_server.exe -H [HOST] -p [PORT]

# Example

./r-type_server -H 10.10.11.12 -p 8585

On the client you have to specify host and port of the server before clicking on connect button:

image

Once connected you have to create a lobby using the Find Game button:
image

Note: Since the first client create a room, other client doing this process on the same server will join the first client room as long as there is an empty slot to join. Else they will create a new room.

Now you juste have to press [S] key on your keyboard to launch the game.

Note: Join based on room code will be added in the next release.

Controls

Note : These are the default keys, each key is modifiable into the game settings.

Movements

  • Up: arrow-up
  • Down: arrow-down
  • Right: arrow-right
  • Left: arrow-down

Fire shots

  • Classic shot: space-bar
  • Charged shot: old space-bar

Bestiary

In game you will encounter multiple types of enemies, you can shoot them down with your laser. In this 1.0 version of the project, there is 1 main types of enemies.

Flying ship

image

Specs

  • HP: 1
  • Action: Move in a predetermined pattern when shooting at the player.

Combat Mechanics

Collides

The collide system is pretty straightforward, each entity has a health value, when two entities collide the entity with the most health will lose health equal to the total health of the weaker entity and the entity with the least health will have it's health set to 0 and will thus cease to exist. Here is a graphical example with a player having the same amount of hp as a flying ship:

Before hitting an ennemy:
image

After hitting it:
image

Charged laser

As a simple laser shot only deals 1 damage to enemies, it can be very tough to kill an enemy with a large amount of health. To handle this, the player has the ability to shoot charged shots.
By holding the shoot key, the player will initiate an animation to load their shot.

image
Player animation of charging a shot


Once fully charged, the shot remains charged until the shoot key is released.

image
Fully charged shot


The charge can be interrupted by releasing the key before the shot is fully charged, but this will result in a less powerful attack.

image
Interrupted charge

image
Fully charged shot

Power-Up

Note: This feature will be available in the next release.

Settings

Jumping into the settings guide, you can adjust multiples settings like:

  • Volume:
    image

  • Full screen:
    image

Note: More settings will be available in the next release.


Previous page: Build & Run the Project
Next page: Accessibility in RType

Clone this wiki locally