Starwars Battleship

Table of Contents

 

Executive Summary

The Star Wars battleship game is fun and easy to play. This game takes all the basics form battleship and builds on them. Old features include placing your ships and attacking your enemy on a 10 by 10 square. The new game sports an 8 by 8 by 8 unit cube to speed up game play. The new game also features new aspects such as a Star Wars theme where you can pick to play as either the classic rebels or empire. Each side has a fleet unique to them. Within that fleet you will find ships of different volumes also capable of different destructive capabilities. This adds a new dimension of strategy of choosing when to use your massive weapons. The combination of the classic battleship game with a space based Star Wars themed scene creates a new and challenging, yet fun to play version of battleship. 

 

Project Management Document:

Team working agreement:

I, Jacob Jagodzinski, Robert Searson, Travis Smith, and Ben Horrigan agree to split up the work of this project fairly. We will work hard on our assigned tasks and complete them on time.

User working agreements:

I, Jacob Jagodzinski, agree to complete all of the work that has been assigned to me. I agree that the amount of work I have to do is fair and I agree to complete this work to the best of my ability. I agree to the responsibility of finishing my work on time. 

I, Robert Searson, agree to complete all of the work that has been assigned to me. I agree that the amount of work I have to do is fair and I agree to complete this work to the best of my ability. I agree to the responsibility of finishing my work on time. 

I,Travis Smith, agree to complete all of the work that has been assigned to me. I agree that the amount of work I have to do is fair and I agree to complete this work to the best of my ability. I agree to the responsibility of finishing my work on time. 

I, Ben Horrigan, agree to complete all of the work that has been assigned to me. I agree that the amount of work I have to do is fair and I agree to complete this work to the best of my ability. I agree to the responsibility of finishing my work on time. 

Project schedule:

Week 1-

Discussed ideas

Took a poll to make sure there was interest in the proposed project 

Decided on the proposed project

Began coding

Completed team and individual work agreements

Completed the pseudo code

Completed rebel ship graphics

Began notebook

Week 2-

Worked on coding

Finished draft for video

Began work on Final software design project plan

Completed imperial ship graphics

Week 3-

Revised script 

Finished code 

Finished video

Finished

Week 4- 

Finish Final software Design Project Plan

Finished notebook

Final tests

Meeting Notes:

Discussed themes such as Halo, Star Trek, and Star Wars. We decided upon Star Wars. Discussed the opportunity for a second game mode and decided that would be too much work for both graphics and coding. Decided that our Star Wars theme would feature the original rebel alliance and the galactic empire. Discussed the volume of the battle field. Decided on an 8 by 8 by 8 cube. Picked ships for each side and mapped out their volumes. Discussed the idea of having multiple weapons based on the ships. Discussed the idea of cool down for those weapons. We decided those are possible and are included in the game. Discussed how we would view the ships in a 3-d landscape. We decided to look at it top down and create levels. This way graphics would not have to create the sides and bottoms of all the ships and the coding is also much easier. 

Business Plan

 

Advertisement 

Social media poll results 

Would you want to play a 3-d Star Wars themed battleship game

123 for – 6 against

Interviews: 

What are your most and least favorite parts of the game battleship?

Battleship is fun because you get to be someone. It gets boring quick. 

It is fun because it makes you think. It is bad because when you do not hit ships it feels like you aren’t getting anywhere

Would you  play a three dimensional battleship game?

Yeah I would probably try it

Yes that would be fun

Do you like Star Wars? 

Yes 

I do not

Would you play a three dimensional battleship game themed on Star Wars?

I think Star Wars is a great choice

The theme would not matter to me

If not, is that because of the theme?

N/A

N/A

If so, what themes would interest you?

N/A

N/A

If different ships could use different weapons would that be cool?

Yes super cool

Yes other weapons would be fun

Video:

IMG_0443

Software Documentation:

 

Intro-

This documentation covers the game Star Wars Battleship. There is a user manual, program description for the developers, a flowchart that goes over the code, as well as the code itself, our team’s discussion, as well as conclusions and recommendations.

 

User manual

The player initially is given a choice between the Rebels and the Empire. Once the player has chosen this screen closes and gamescreens open. The top display within the gamescreen is the AI’s hits from the User, the one below is the User screen. To flip through the layers of the game board the user can use the top dropdown menu for the AI hit display and the 2nd dropdown menu for their own gameboard. The player then must place all the ships within the bounds. They can switch between layers while they are doing this. The ships can only be placed within the boundaries of the 8x8x8 array, although the hit can go over the edges of the array.  Then the player must begin to hit the AI, each turn the player is prompted to choose between a ship, each ship has a different size weapon and cool down. The user can hit the same spot as many times as they want, although it’s not recommended. The way to win is to destroy all of the AI’s ships before it destroys yours.

 

If the Empire is chosen then the user receives the following ships, with the associated qualities. 

Ship Size Hit Cool Down
Tie Fighter 1 1x1x1 1x1x1 0
Tie Fighter 2 1x1x1 1x1x1 0
Tie Fighter 3 1x1x1 1x1x1 0
Tie Fighter Advanced 1x1x1 1x1x1 0
Tartan Cruiser 1x2x1 1x1x1 0
Broadside 3x2x1 1x1x1 0
Dreadnought 1 1x3x1 2x2x2 3
Dreadnought 2 1x3x1 2x2x2 3
Interdictor 2x3x1 2x2x2 3
Star Destroyer 3x4x1 3x3x3 7

 

If the Rebel is chosen then the user receives the following ships, with the associated qualities. 

 

Ship Size Hit Cool Down
X Wing Fighter 1 1x1x1 1x1x1 0
X Wing Fighter 2 1x1x1 1x1x1 0
X Wing Fighter 3 1x1x1 1x1x1 0
Millenium Falcon 1x1x1 1x1x1 0
Corellian Corvette 1x2x1 1x1x1 0
Marauder 1 3x3x1 1x1x1 0
Marauder 2 3x3x1 1x1x1 0
Nebulon-B 1 1x3x1 2x2x2 3
Nebulon-B 2 1x3x1 2x2x2 3
Nebulon-B 3 1x3x1 2x2x2 3
Mon Calamari 3x4x1 2x2x2 3

 

Program description

 

Flowchart

 

 

Conclusions and recommendations- 

If the developers were to recode the game they feel like there must be easier ways to code this. However, we have a very basic level of knowledge. The developers feel like there were plenty of other games they could have coded which would have been easier. For future development, the developers would create a second game mode where the user attempts to destroy the Death Star. The Death Star would destroy one rebel ship each turn as the player uses his ships to find the Death Star and destroy it with it’s small x-wing fighters like in the movie. The developers would also add the ability to turn and place the ships, as well as enabling some of the ships to have multiple hits rather than just one every turn. 

Discussion

The games testing never fully worked as their are still serious bugs. The team will continue to work out these issues within the code. The MATLAB code One of the obstacles faced was in the creation of the object. The team was having issues, since the objects were not storing there variables if we attempted to set new ones, we have realized that we needed handle classes not value classes. Also in the beginning the code was on R2019b version of MATLAB and it had to go through some changes to work on the R2018b version on the schools laptops. The team discussed a second game mode and decided against it. The team also discussed how to view the battle field. The decision to view from above made it easier to code as well to make graphics. Another discussion that the team had was about the use of a fire button. They decided against it and decided that it would be easier for the user to click to fire.

References

https://www.mathworks.com/help/matlab/matlab_oop/comparing-handle-and-value-classes.html

http://matlab.izmiran.ru/help/techdoc/ref/imread.html

https://www.mathworks.com/help/matlab/ref/uicontrol.html

 

Leave a Reply

Your email address will not be published. Required fields are marked *