Você está na página 1de 17

Tank-Me-On

Taber Shimono and John Wesolowski


CST 401
Spring 2014
Adviser: Dr. Kate Lockwood
5/15/14

Table of Contents
1 Abstract...1
2 Executive Summary..2
3 Introduction....3
3.1 Background / Problem Statement...3
3.2 Target Audience....4
3.3 Literature Survey...4
4 Solution Description.....6
4.1 Project Description....6
4.2 Goals and Solution....7
4.3 Other Possible Solutions and their differences.7
5 Deliverables8
6 Methodology......9
6.1 Implementation...9
6.2 Resources.10
6.3 Skills...10
7 Changes to Project.11
8 Budget.........................................................................................................................12
9 Timeline.......................................................................................................................13
10 Evaluation.14
10.1 Test Plan....14
10.2 Results of Testing.14
10.3 Changes Resulting from Testing14
11 Collaboration Statement..15
11.1 Special Thanks..15
11.2 Work Breakdown...15
1
CST 401
5/15/14
Tank-Me-On
1 Abstract
In recent years, there has been a significant jump in the number of people who possess
smart phones. As a result, there has also been an increase in the popularity of mobile
games, particularly ones that allow people to play with their friends. People always have
short periods of time while on the go where they want to kill some time and with the
increase in the number of smart phones, more people are turning to mobile games to fill
these time gaps.

However, there has been a slight problem in the mobile game market, however. Many
of the games that are developed are either strictly multiplayer or strictly computer
based. This limits the functionality of the game and can hinder the playability of the
application overall due to this division. Players usually become bored of games where
they can learn how the computer acts while becoming frustrated when they are unable
to play against their friends because they are not able to take their turn.

On top of this, many of the multiplayer games that exist are word based games, and
while these games can be fun, can become monotonous when the market is flooded
with these games. This paper will discuss the problem as well as our possible solution
to the problem with our mobile game called Tank-Me-On.

2
CST 401
5/15/14
Tank-Me-On
2 Executive Summary
There are currently little to no mobile games that allow users the choice to play against
a human or AI opponent. This limits the versatility of the game and prevents users from
experiencing different styles of gameplay. Players who are only allowed to play against
a computer opponent soon become accustomed to how the computer acts and can
respond accordingly. While the game may offer harder difficulties that have the
computer act differently, eventually a player will be able to learn all and react to any of
the difficulties.

The other problem occurs when the player is only allowed to play against human
opponents, the problem arises when their opponent does not take their turn in a timely
manner. Since people have different schedules and events in their lives, there is no way
to predict how quickly the players will take their turn, and as a result, predicting the
duration of a game is impossible. Players may be waiting for extended amounts of time
when looking to get a quick game in.

This project will design a mobile game application that allows a user to start a match
versus a computer or human opponent. On top of this, the project will attempt to allow
users to create a locally saved branch game from an existing human opponent game
where the user will be able to have the AI take over for their opponent. The original
game will be stored on the server, thus unaffecting their game with the opponent, while
allowing more playability for the user. The user will be able to return to their original
game with the opponent at any time or once the opponent has made their move to
continue with the game. With this functionality, this game aims to end the monotony
associated with other PvP games as well as to give users a more dynamic gaming
experience. This document will cover the information, processes, and projections for the
prototype application.


3
CST 401
5/15/14
Tank-Me-On
3 Introduction / Problem Statement
3.1 Background and Problem Statement
Entertainment is one of the biggest, if not the biggest, industries in the economic market
today. While classifications within the entertainment widely varies, the gaming industry
is one of the larger sections of entertainment. Console and PC gaming has dominated
this industry for decades, but with the development of mobile technology, there is now a
shifting trend towards a new realm: mobile gaming.

Mobile gaming has introduced users who normally would not sit down for extended
periods of time, as with console and PC gaming, to the gaming market with the
functionality and design of being playable for short increments of time, such as
everyday scenarios like waiting at a bus stop or sitting in a waiting room at the doctors
office.

Due to this quick play model, mobile games have been designed and developed in
ways that will allow a player to just pick up and play for periods of 15 minutes or less. To
compensate for this time constraint in PvP games, most games follow a system that
allows players to play the game at their own leisure. When the game is started, the first
player takes their turn, the updated game is then sent to the server, send a push
statement to the second player, and await the move from the second player.

This is a great system for gaming, but because these games are focused on this
method of development, it limits the functionality and playability of the game. The player
is restricted to only being able to play against other players, therefore, if they have no
possible turns left to make against their opponent(s), they can no longer play the game.
This is especially true when their opponents do not take their turn on a timely basis due
to outside influences. Another issue that results from this model is that the genre is
limited. Many of the games are focused old games like Scabble (Words with Friends),
Boggle (Scramble with Friends), and Hangman (Hanging with Friends). These are all
good games, but are all along the same general concept, which some people may
4
CST 401
5/15/14
Tank-Me-On
consider a bit stagnant. These two issues can make games become less appealing
during continued usage, or lack there of.

3.2 Target Audience
The target audience of this project is all mobile game users, both potential and current.
The game that is being developed will be developed so that users will still be able to
play a casual game with other users at their own leisure, but at the same time, adding
more functionality that will allow players to play without needing a human opponent to
have taken their turn. The concept is also a homage to an early Nintendo game series
called Advance Wars (formerly Famicom Wars), which people have heard/played
before and will add a new variation to the games that are currently on the market.

3.3 Literature Survey
For the first issue of playability restrictions, there are games available that are played
against NPCs (non-player character), however, these games do not include multiplayer
functionality at all, or if they do, they are not the play at your own leisure multiplayer
systems. Examples are games like Army of Darkness, Lux Touch, Temple Run, or
Jetpack Joyride. Games that use multiplayer functionality, but no computer option,
include games like the withFriends series, Zynga Poker, and Draw Something.

For the second issue of the lack of genre, there are several possible games out there on
the mobile platform, including action, shooters, card, and others. Examples of these
games can be Gems with Friends, Chicken Revolution Warrior, EA Hunting, and Rock
Band.

In terms of games that address both issues, they are currently limited. One example of
this game would be Rock Band, where players may work in cooperation with friends to
play to songs. This is different to the current limitation of word or tetris based games,
however, there is no PvP functionality other than leaderboards. There has been one
popular game that somewhat falls into the category of this project, Clash of Clans. This
5
CST 401
5/15/14
Tank-Me-On
game allows players to play against the computer as well as against other people, but
the game play for the multiplayer is not necessarily PvP because it involves raiding an
offline persons village and based off of numbers from equipment, weapons, allies, etc,
produces a result. There is no interaction with this style of gameplay from these battles
other than having the option to raid them back. However, the style of this game makes it
so that one player may have an overwhelming advantage, and thus, will not be able to
successfully attack back. This is also not a turn-based strategy game, and thus, is
different from this project.


6
CST 401
5/15/14
Tank-Me-On
4 Solution Description
4.1 Project Description
This project will provide Android phone users a turn-based strategy game that can be
played against an opponent, an A.I., or both. The game will feature a number of
different units each player can deploy as well as territories that can be captured. At the
beginning of the players turn, they are allotted money based on the number of
territories they have captured, the more territories owned, the more money gained. The
game is over when either all of an opponent's units are destroyed or territories get
captured.

If the user chooses to start a game against another person (PvP), they have the option,
at any time, to branch that game off to continue the fight against an A.I. Branching a
PvP game to play with an A.I. will not affect the original PvP game and when returned
to, all units and territories will be just as the player left them before the branching.

7
CST 401
5/15/14
Tank-Me-On
4.2 Project goals and Solution
The primary goals of this project are to have a working prototype version of the game
with PvP and A.I. implemented. The secondary goals of the game are to get the
branching feature working where a user can split their PvP game off at any time to play
against the A.I. Some other extra goals include game art, having three to four player
functionality, extra game mechanics, and having multiple maps.

This project solves the problem of online player versus player mobile games that make
you wait for your opponent to make their move by giving you a new type of online game
with gameplay that can start out against a player, but be finished against an A.I. All
current online mobile games against people restrict you from continuing a PvP against
and A.I. So if one player does not take their turn, the game is locked down until they do
or eventually the game is lost.

4.3 Other Possible Solutions and Their Differences
Other PvP mobile games do offer both PvP and player versus A.I. capabilities but fail to
integrate both of them. Either a game is created against an A.I. and must be finished
against the A.I. or the game is created versus a player and finished against the same
player. None of the games currently allow you to take a single match against a player
and switch between playing the A.I. and your human opponent.


8
CST 401
5/15/14
Tank-Me-On
5 Deliverables
The Tank-Me-On application which will include:
o PvP game play where the user can challenge and play against another
person
o AI implementation for skirmish where the player may play against the AI
Sprite sheets; Very basic designs that will be replaced later if continued; These
are included in the program itself.

9
CST 401
5/15/14
Tank-Me-On
6 Methodology
6.1 Implementation
The first phase of this project was establishing the game pieces and the environment for
them to live in i.e. map/terrain. The units needed to be able to move around the map
and engage in battles against other units. The map/terrain will need to have different
types of terrain like rivers, roads, forests etc. that will affect the defensive powers of the
units as they battle.

Adversely, certain terrain should prohibit certain units from going on it. For example,
tank units should not be allowed to traverse into the ocean. In addition to limiting terrain,
units should be limited to who they are allowed to attack i.e. certain ground troops
should not have the ability to attack air units.

The next phase was implementing the two critical functionalities for this application. The
first being the PvP functionality between two Android devices and the second being the
implementation of the AI. Using the basic resources created in the first phase, testing
worked out some of the bugs that existed in the code and allowed for further
development.

While time did not fully allow for completing the third phase which was the branching of
the saved game to a local copy controled by the AI, the functionality is partially written, it
just needs a little more testing for full implementation.

Time did not allow for the completion of the extra goals, functionalities such as 3-4
player battle, tag team matches with all human players or a mix of human and AI
players, new and improved game art, more maps, game mechanics, and game modes.

10
CST 401
5/15/14
Tank-Me-On


6.2 Resources
Hardware
Computers
Server
2 Android devices
o Samsung Galaxy
o Samsung Nexus 7
Software
Unity3D
Gimp/Paint/Pixlr

6.3 Skills
The skills for this project came from classes, previous and current, experience, and
brainstorming. This also includes researching skills for searching online documentations
and libraries written for the development of Unity and Android applications. While we did
not necessarily have the current skills at the beginning of the project, we have made a
lot of progress and have learned a lot about programming in C# and Unity3D as well as
logical thinking and AI programming.

11
CST 401
5/15/14
Tank-Me-On
7 Changes in the Project
Originally, the project had projected the possibility of multiple AI behaviors. The project
was going to try and introduce variations to the game AI behavior to include more
defensive, aggressive, and balanced behaviors to add some variation to the game.
Unfortunately, time did not allow for this implementation because of some unexpected
debugging errors that took up too much time to fix.

Another change to the project is that the game was going to have a fully functional
graphical user interface that would allow the user to navigate the application easier.
Currently, there is only a basic interface that plots out the basic functionality of the
application.

One last change is that originally, deliverables listed were map designs, gameplay
concept charts, and an in game manual on how to play. Currently, there is only one map
(the testing map), no real gameplay charts, and no manual has been made.


12
CST 401
5/15/14
Tank-Me-On
8 Budget
Resource Quantity Theoretical Cost Actual Cost
Computer 2 $2,600 $0
Unity 3D 2 $3,000 $0
Android Device 2 $600 $0
Programmer 2 $42/hr $0













13
CST 401
5/15/14
Tank-Me-On
9 Timeline
Task Time
Completing Unit List 1 Day
Creating basic map for testing 7 Days
Programming unit list and functions 10 Days
Getting units onto screen in Unity 3 Days
Units able to move over terrain 1 Day
Unit movement restriction 1 Day
Enable battle functionality 3 Days
Saving games locally 3 Days
Saving games to database 7 Days
Creating game AI 10 Days
Implement game AI (includes testing) 7 Days
Creating user interface and login 5 Days
Debugging and testing 18 Days


14
CST 401
5/15/14
Tank-Me-On
10 Evaluation
10.1 Test Plan
The testing for this project was a very methodical process. While the code overall was
written in advance due to unforeseen circumstances, when the code was implemented
into the project, each function was added one at a time. When the function was added,
all other functionalities were tested to ensure that nothing broke the previously
implemented code. Whenever the implementations did not work right, the code was
examined and research was done in order to fix the problem. When there was a lack of
information, trial and error processes were used.

10.2 Results of Testing
There were two primary forms of testing that were used: unit and functionality. While no
automated unit testing was implemented, as each portion of the code was implemented,
the code was thoroughly tested to ensure that the code was working for all of the
predicted cases. The second form of testing, regression testing, was done concurrently
with the unit testing. When each portion of the code was implemented, tests were done
to ensure that the rest of the application was still fully functional. While testing, there
was one problem that was encountered that we were not fully able to solve involving the
use of recursive functions.

10.3 Changes Resulting from Testing
As a result of the recursion bug freezing Unity, we removed the recursion function from
the project temporarily. That being said, we made a change to the gameplay where all
land units are now able to traverse mountain and river tiles. The recursion may be
implemented again later.

15
CST 401
5/15/14
Tank-Me-On
11 Collaboration Statement
11.1 Special Thanks
Moises Melano Created the name for our application

Maggie Corrales Gave advice in how to create our poster and other graphical ideas

Kate Lockwood Giving advice and keeping us on top of our project

11.2 Work Breakdown
This project was a collaboration between the two members Taber Shimono and John
Wesolowski. Even with the introduction of unforeseen circumstances, the project work
was very well divided. Taber Shimono was in charge of working on the majority of the
game logic and back end code while John Wesolowski was in charge of working on the
majority of the front end code such as the user interface and the graphical
implementations of the game. Both worked on the implementation and debugging of the
code through pair programming.

Você também pode gostar