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:
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