Build a game tankstars
Budget: ₹600 – ₹1,500 INR
Create an application for the game - Tank Stars using either LibGDX or JavaFX. Using
LibGDX.
We will be implementing the two-player (1 vs 1) game mode where players face off on hilly
terrain, taking turns firing bombs at one another. Players get a limited fuel ratio per turn and are
allowed to position themselves for a better shot. They can gain weapon upgrades by random
airdrops, and must shoot at one another until one of their tanks is destroyed.
It is important that you play the game and make yourself well-familiar with it before reading this
document any further. A youtube video of the game can be found at this link.
Android link: https://play.google.com/store/apps/details?id=com.playgendary.tanks
iOS link: https://apps.apple.com/us/app/tank-stars/id1347123739
Note: Kindly make sure that you are using all the OOPs principles taught throughout the
course (inheritance, polymorphism, interfaces, etc.), including at least 2 design patterns
(which would be covered in the coming weeks), along with following best coding practices
(naming conventions, access modifiers for class, fields, comments, etc.) and JUnit tests.
Some of the rules for the gameplay are mentioned below. You will get to know all the rules
after you play the game and read the rules associated with the game. In your
implementation, you should follow all those rules.
Basic features:
1) There are many modes in this game. We are only concerned with the 1 vs. 1 game mode,
where tanks face each other and take turns to shoot each other until one of them runs out
of health.
2) The player is allowed to select the power and angle of the trajectory and then fire the shot.
3) The effect of the hit (impact on the health) on the tank should be based on how close it has
been hit.
4) The affected tank should move in the direction it has been hit. Also, the amount of
movement should be decided on how accurate the hit was.
5) Allow players to choose from at least 3 tanks before starting the game. All the types of
tanks available can be found here and also can be found by playing the game.
6) There must be a pause menu that allows players to save or resume or exit to the main
menu at any point in the game.
Features that are not present in the game but are required to be implemented by you:
1) Note that the game doesn’t have the option to save the state of the game at any given point
in time. However, your implementation should be able to save the game state and save the
following:
a) Health of the 2 players
b) Store the exact position of the tanks
c) Store the orientation of the ground.
2) A player must be able to save as well as load any saved game.
3) The game must allow multiple save/load games.
4) It is not required to show the destruction/mutilation of the ground upon projectile impact.
Basic Requirements:
1) Main page:
a) New game button
b) Resume game button
c) Exit game button
2) Resume game button: It should lead to a screen showing a list of saved games.
3) In-game options
a) (on losing) Restart game, exit to main menu
b) During gameplay - a pause input, save the state of the game
4) GUI should be designed using LibGDX or JavaFX and should be similar to the gameplay
video referred above.
5) Minimum number of different types of tanks to be included should be 3 [Refer types of
tanks available in Tank Stars].
6) Show the current health at an appropriate position on the screen.
7) Command line output will not be considered part of the game. GUI should be the sole
interface for interaction.
8) It is not mandatory to have a fluid-like animation as shown in the game.
LibGDX.
We will be implementing the two-player (1 vs 1) game mode where players face off on hilly
terrain, taking turns firing bombs at one another. Players get a limited fuel ratio per turn and are
allowed to position themselves for a better shot. They can gain weapon upgrades by random
airdrops, and must shoot at one another until one of their tanks is destroyed.
It is important that you play the game and make yourself well-familiar with it before reading this
document any further. A youtube video of the game can be found at this link.
Android link: https://play.google.com/store/apps/details?id=com.playgendary.tanks
iOS link: https://apps.apple.com/us/app/tank-stars/id1347123739
Note: Kindly make sure that you are using all the OOPs principles taught throughout the
course (inheritance, polymorphism, interfaces, etc.), including at least 2 design patterns
(which would be covered in the coming weeks), along with following best coding practices
(naming conventions, access modifiers for class, fields, comments, etc.) and JUnit tests.
Some of the rules for the gameplay are mentioned below. You will get to know all the rules
after you play the game and read the rules associated with the game. In your
implementation, you should follow all those rules.
Basic features:
1) There are many modes in this game. We are only concerned with the 1 vs. 1 game mode,
where tanks face each other and take turns to shoot each other until one of them runs out
of health.
2) The player is allowed to select the power and angle of the trajectory and then fire the shot.
3) The effect of the hit (impact on the health) on the tank should be based on how close it has
been hit.
4) The affected tank should move in the direction it has been hit. Also, the amount of
movement should be decided on how accurate the hit was.
5) Allow players to choose from at least 3 tanks before starting the game. All the types of
tanks available can be found here and also can be found by playing the game.
6) There must be a pause menu that allows players to save or resume or exit to the main
menu at any point in the game.
Features that are not present in the game but are required to be implemented by you:
1) Note that the game doesn’t have the option to save the state of the game at any given point
in time. However, your implementation should be able to save the game state and save the
following:
a) Health of the 2 players
b) Store the exact position of the tanks
c) Store the orientation of the ground.
2) A player must be able to save as well as load any saved game.
3) The game must allow multiple save/load games.
4) It is not required to show the destruction/mutilation of the ground upon projectile impact.
Basic Requirements:
1) Main page:
a) New game button
b) Resume game button
c) Exit game button
2) Resume game button: It should lead to a screen showing a list of saved games.
3) In-game options
a) (on losing) Restart game, exit to main menu
b) During gameplay - a pause input, save the state of the game
4) GUI should be designed using LibGDX or JavaFX and should be similar to the gameplay
video referred above.
5) Minimum number of different types of tanks to be included should be 3 [Refer types of
tanks available in Tank Stars].
6) Show the current health at an appropriate position on the screen.
7) Command line output will not be considered part of the game. GUI should be the sole
interface for interaction.
8) It is not mandatory to have a fluid-like animation as shown in the game.