Posted below is the design plan for Tank Rampage. If you have any comments, please comment :P.
Tank Rampage
The development of a mobile game
Main goal
· Developing and publishing a 2d game
for IOS and Android phones;
Sub goals
· Developing an endless side scrolling
game;
· Implementing randomly generated endless
levels;
· Implementing physics-based gameplay;
· Implementing a way to track and
compare global high scores;
· Implementing an in-game store for
upgrades of the players character;
· Monetizing Tank Rampage trough the implementation of ads and in-app purchases;
Secondary goals
· Publishing essays on development
topics and extracts from the project on www.tankrampage.blogspot.nl;
· Researching the possibilities for
IOS development on Windows.
Design
Plan
Tank
Rampage is a side scrolling arcade game with physics. The player will
control a tank trying to drive as far a possible whilst encountering buildings
and enemies that he has to destroy. The player has to stay ahead of a missile
following the tank. The tank and enemies are physically simulated.
Due to our short deadline, we will follow the
K.I.S.S. philosophy for the development of Tank
Rampage. K.I.S.S. stands for Keep It Simple Stupid. This means that as long
as a solution works (even when it isn’t an elegant solution) we will not change
it. E.g. when de development of Tank
Rampage was started memory management on IOS had to be done by hand. Since
IOS 4, Apple supports ARC (Automatic Reference Counting). ARC is recommended
for new projects, as it prevents memory leaks and takes care of memory
management automatically, which means less work for the developer. However,
since Tank Rampage’s code isn’t
optimized for ARC and since learning how to implement it will take time, we
will not be using ARC.
Tank
Rampage will be using Cocos2d as its graphics engine. Cocos2d is written in
objective-C. Cocos2d is open source and has a large active community, meaning
that there is a lot of documentation on it. As its physics engine, Tank Rampage will be using Box2d. Box2d is
written in C++. This is also a widely used open source engine that works well
with Cocos2d.
For Android we will be using the
cross platform version of Cocos2d: Cocos2d-x. Since the decision to develop an
Android version was made after the development was started, the IOS version is
developed in Cocos2d. Following K.I.S.S., we will not change the IOS version to
Cocos2d-x.
For the making of spritesheets and
level design we will be using Spritehelper and Levelhelper. Levelhelper is a
visual level design application, designed to be used with Cocos2d and Box2d. It
has its own API that acts as a wrapper for both Cocos2d and Box2d
We will make the graphics and game
art ourselves using a Bamboo drawing tablet and Photoshop. Also the game
animations will be made in Photoshop. Due to our time constraints, music and
sounds will be downloaded off the Internet.
Because the tank can drive
infinitely far, the levels have to be randomly generated. For this, there are
two options. One being a purely random level generated by the game, the other
being a level made of randomly selected parts of a level. The former gives the
player a different level every time the game is played. The latter provides a
level of constant quality and is also easier to program.
The global high scores will be
tracked on IOS through Apples Game Center API. Options for Android global high
scores will be researched.
The in-game store will feature new
tanks and upgrades for the player’s tank, as well as new weapons. These can be
bought with in-game currency. This currency can both be earned by playing the
game and bought through in-app purchase. When an in-app purchase is made, the
ads will be removed from the users app.
For the ads there are a few options.
Apples IAd gives a high rate per ad placed, but has a limited fill rate
(answered ad requests- a low fill rate means that there isn’t always an ad to
show) and isn’t available in every country- including Holland. Admob is the
biggest ad platform, with high fill rates but a lower rate per ad shown. A
third option would be the use of AdWhirl, a free service that can combine both;
it checks whether the highest rate platform has an ad available. If not, a
lower rate ad will be requested from a different platform. For now, due to our
limited time and country restrictions, we will focus on Admob, but this may
change in the future.
If we have enough time, we will
publish articles on the development of Tank
Rampage on www.tankrampage.blogspot.nl. Also the options for the
development of IOS apps on windows will be researched if time allows us to.
Tank
Rampage will be published on both the App Store and Google Play Store.
Depending on how much time we have, the first published versions might have
some of our planned features not or partially implemented. If we are in danger
of missing our deadline, features will need to be delayed or scrapped. If
necessary, the in-game store content could be released later. Also tablet support
is not a short-term goal, as this would require multiple sizes of graphics as
well as new coding. Would we however have time left, this option will be
researched. If time allows us to, we will also look into methods of marketing
our app.
Before an app can be released on the
App Store, Apple has to review and approve it. This process can take a few days
up to several months. Therefore, Tank
Rampage might not be available for IOS until after the paper report is
finished.
Planning
-
Week 45: Finished core gameplay and controls;
-
Week 46: Work on level generation and
building implementation (coding and graphics) as well as tank health and
reloading delay;
-
Week 47: Finished on level generation and building
implementation (coding and graphics) as well as tank health and reloading
delay- more buildings may be added later;
-
Week 48: Finished chasing missile, saving data as well
as Game Centre implementation, start menu, in-game store and multiple weapons
implementation;
-
Week 49: Finished menu, in-game store and multiple
weapons implementation, finished ads implementation;
-
Week 50: Upgrade graphics: particles and animations,
sounds finished. App for IOS send to Apple for evaluation as soon as possible;
-
Week 51 & 52: Work on paper;
-
Week 1: First draft of paper finished
-
Week 4: Final version of paper finished.
- Release as soon as possible after approval
from Apple.
Risks
Android
· Not making the deadline
Even though the actual development of Tank Rampage is done for IOS, the
Android deadline might come too early due to the research that still has to be
done by Michiel. We hope to be able to estimate the completion date of the
Android version as soon as possible, and we will then act accordingly.
· Technical difficulties
As of now, we are not sure whether all the
software used will work as expected cross-platform. We do, however, estimate
this risk as very small, as all software used has been used for Windows (the
platform used for Tank Rampage’s Android
development) before. We have already experienced some delays due to being
unable to install parts of the software required, but we expect these issues to
be resolved shortly.
IOS
· Not making the deadline
If we expect in an early stage of the development to not be able to meet
our deadlines, we will need to postpone and/or remove features before release.
Features to be scrapped or simplified, in order from first to last, are:
1.
In-App
purchases of in-game money;
2.
Ads;
3.
Game
Centre support;
4.
Less
polished particles and graphics in general;
5.
The
in-game store: either less content or the complete scrapping of the store;
6.
The
ability to use different weapons.
No comments:
Post a Comment