Ryu: The Big Adventure!

Description

Ryu: The Big Adventure is similar to arcade games like Cadillacs and Dinosaurs, Contra, Metal Slug, Streets of Rage, Golden Axe and many others.

Functions

„Ryu: The Big Adventure” gives the user the chance to play a typical horizontal Beat 'em up simulator. Beat 'em up is a computer game genre, which involves hand-to-hand combat between the main hero and numerous enemies. These type of games are mostly in 2D, where the player moves horizontally to the right. These games are famous for they're easy to learn gameplay, with the first of this type of games dating from 1984.
When starting the game, the user goes in the role of Ryu, which have to beat all the enemies in the level.
Ryu is a superhero from video games, created by Capcom in 1987, which plays the main role in the Street Fighter series. He knows mixed martial arts and assassin skills. Also Ryu possesses some unique abilities in his arsenal.

 

Hadouken

 

Shoryuken

 

Tatsumaki

Spirit energy is displayed in the lower left corner of the screen, in the form of 8 blue rectangles. It's used when performing special moves. After being used, energy regenerates slowly over time. When the player doesn't have enough energy, he can't use special abilities.
Over the energy indicator there is another one, for the health of Ryu, described as HP. It's displayed in the same way, but with red rectangles. Unlike energy, health doesn't regenerate over time. To restore health Ryu must find food which is dropped randomly on the map. Health is taken when the player gets hit or when he goes through some obstacle like fire. When all of our health is depleted Ryu dies and the game ends.
Other than those two indicators there is also time. Time is displayed at the bottom of the screen in the middle. It shows how much time we have to complete the level. When the time ends the game ends. We get more time by reaching certain part of the level.
There are also in-game options. The user can stop and start the sound of the game, to change the volume, to change the game difficulty and to quit at any time. The game can also be minimized.

Software limitations

To play Ryu: The Big Adventure we need JRE (Java Runtime Environment). JRE is available from Oracle's website. Link

Acceptances and dependencies

The source code can be found on GitHub, a web-based hosting service for source code management (SCM) and distributed revision control.
The project makes the assumption that GitHub, which is managed by third-party administration is accessible.
There is also the acceptance, that the users have compatible computer with Java Runtime Environment installed on it. At the moment of creating the project, The Java programming language is very popular and most computers have the required package installed, which helps the easy distribution of the game.

State diagram

The state diagram shows how the game Ryu: The Big Adventure handles user commands.
The diagram is created using The Unified Modeling Language (UML), a general-purpose modeling language in the field of software engineering, which is designed to provide a standard way to visualize the design of a system


There are 4 different states in the project - menu, options, credits and the game itself. We can see the ways we can pass through different states.

Realization

User menu

The first part of the project is to create a main menu.


The menu provides options to start a new game, to go to the settings screen, go ot the credits screen and exit the game. In the menu we can see the main character.

Settings

The options menu contains to tickable squares, for turning music and sounds on and off, two sliders for controlling sound volume and an option to control game difficulty, also there is a back button.
In the settings menu I've used global variables, which are available in every class. They are declared in the main menu, can be changed in the settings menu and can be red from all states. This way sound and music can work in the same way in every part of the game.


Difficulty changes enemies health by increasing or decreasing it. When the difficulty is set on Hard, enemies are much harder and require much more effort to kill. To make this I've used a global variable named Difficulty, which can take three different numbers: 0 for Easy, 1 for Normal and 2 for Hard. At 0 health of enemies is decreased by 50% from normal, at 1 health isn't changed and at 2, it's increased by 50%.
The music slider uses the method music.setVolume(float volume); for changing music volume and music.getVolume(float volume); to read the current volume and to change it's state accordingly.
The sound slider uses it's own global variable unlike setVolume and getVolumе because sound volume is declared, at the moment they are played and can be different for every each sound. The global variable is declared in the main manu and it's named soundVolume. It's used every time a sound is played in the following way: punchedSnd.play(1, Menu.soundVolume);
In this command punchedSnd is been played using the method play. 1 is the pitch and the variable soundVolume is called from the menu class and sets the volume of the sound.
For the ticking squares I've used the variables soundOn and musicOn.

Credits

Credits is the most simple made state. It shows information about the creator of the game by sliding text through the screen. The text is actually an image which is moved up the screen


Source: Github Download: Link

1
2 3

← back