What are the challenges we should think about in the development of a real time 2d game and who will research each topic?

Asked by Michael Arnold

There are several area's that need work, and we need written documentation describing what these challenges are, and how we will solve them.

Question information

Language:
English Edit question
Status:
Solved
For:
Sigmundr Edit question
Assignee:
No assignee Edit question
Solved by:
Michael Arnold
Solved:
Last query:
Last reply:
Revision history for this message
Michael Arnold (nim-shadowfire) said :
#1

Physics -- Michael
Collision Detection -- Steven
Animation -- Danny
Level Progression -- Kurt
Architecture -- Sigmundr
Scoring Rules -- Steven
Development Process -- Michael
Basic Android Development -- Kurt
Requirements (performance) -- Danny

Revision history for this message
Steven Hyde (hydeste) said :
#2

Collision Detection

 In Rock Paper Scissors command we needed to address the issue of collisions. Like in missile command our missiles consisting of rocks, paper and scissors will need to be able to collide with and destroy buildings as well as collide with an be destroyed by our defense system. We were fortunate very early in the architectural spike to find some code already written in google android for collision detection. We believe that this code with very few modifications will be perfect for use in our game however there are still a few decisions we have to make before we can implement the code fully.
 Since this is a modified version of missile command we are discussing how exactly the incoming missiles as well as our own defensive missiles will collide and be destroyed. In traditional rock paper scissors, the rock destroys scissors, the paper destroys rock and the scissors destroy paper. We are generally going with that concept for our collisions however have yet to decide on the specifics. Currently in our demo two like missiles pass through each other and no collision occurs and different types destroy each other. For instance two scissors would pass through however a rock coming down and a defensive paper shot at it would destroy both the rock and the paper.
 We have discussed changing this mechanic so that two missiles of different types which collide only destroys the losing combination. For instance when the paper hit the rock in the previous example the paper would continue going instead of also being destroyed. In this way a single paper defensive missile could possibly destroy or pass through multiple rock incoming missiles.
 One other idea we had discussed was making the defensive missile explode having a blast radius much like the original missile command rather than making each missile run into another. In this scenario the blast radius would destroy incoming missiles that touched it just like in missile command except we would still implement the rock, paper, scissors rules.

Scoring Rules

 In Rock Paper Scissors command we need to keep score in order for a player to know how he or she is doing against others who have played the game as well as trying to improve over their last attempt at playing the game. Simply reaching a certain level in the game in not enough alone since many players will likely die on similar levels but at different points within that level. To keep score we decided to give points for specific events within each level and at the end of each level.
 One event could be the destruction of an incoming missile. We would award a set amount of points for each incoming missile destroyed. No points would be awarded for missiles that reach their targets on the ground. Another event could be double or triple hits. For instance if a paper went through more than one rock it could be worth double the points.
 At the end of the level points would also be awarded. One option is the number of remaining missiles the player has left to fire. Using less missiles in a given level would be worth more points than using all of your missiles each level. Another option would be to award points for how many bases you have left, or how undamaged they are. The more bases left alive the more points that would be awarded.

Revision history for this message
Steven Hyde (hydeste) said :
#3

There were paragraphs but it seems they were messed up when I submitted my message lol, I will also email this to yall.

Revision history for this message
Starwfanatic (vonjoua) said :
#4

Animation:
 The animation aspect of RPSC is still in an early stage. There are two primary methods of handling the animations, Open GL and Canvas. Open GL is a more efficient method for handling animation, but it also has a rather difficult syntax to learn. Canvas is much easier to work with, but sacrifices performance for ease of use. To decide which approach we will use we need to determine if canvas will be able to handle the animations without causing a noticeable delay. We have run tests on the android emulator, but emulator performance is largely affected by the computer’s capabilities and therefore has not given conclusive results. Once we receive the G1 phone we can determine whether or not Canvas will be a sufficient method to handle animations.

Performance Requirements:
 Rock Paper Scissors Command (RPSC) can be demanding on our system performance. The final measure of performance requirements will depend on how many sprites need to be rendered on the screen at any given time. The most demanding point in time will only be reached if the user reaches the final level of the game in which there will be a large number of missiles falling at once. To ensure the G1 can handle this demanding point of game play we will create a test application which generates and animates a large number of sprites on the screen at once. We will see if the G1 can render the animations without problems. If all goes well the test will be successful and no changes will be necessary. If there is a problem with rendering the sprites, the high levels may need to be scaled back slightly or another implementation approach may be necessary (see Animation section).

Revision history for this message
Kurt Treangen (kst0001) said :
#5

Level Progression
Rock Paper Scissors Command (RPSC) will follow a common level progression standard found in most arcade style games. As the user advances through levels the game will become more challenging. Factors that will change as the game progresses include: speed, amount, and variety of incoming projectiles. The speed of the incoming projectiles will start to vary as the levels progress; having some incoming projectiles going faster or slower than others will require the user to make a decision between which to shoot. The amount of the incoming projectiles will most likely increase as the levels progress; obviously more incoming threats will inflict a sense of panic into the user therefore increasing the difficulty. The variety of incoming projectiles will also start to increase as the levels progress; having more types of threats to consider will cause the user to make sure the correct ammo type is selected to destroy their current target. Also, the higher the level the more points the user will get for destroying each incoming projectile, this is a very common theme in most games similar to RPSC and is a must. We plan to have an infinite amount of levels so we will have to intelligently make sure that the changes in level progression are not to severe so that the user can have fun playing the game, games are suppose to be fun not impossible. Level progression will be a major consideration in the development of RPSC since it will be the main draw for users to come back and play again.

Revision history for this message
Kurt Treangen (kst0001) said :
#6

Future Plans / Possible User Stories
• Title Screen
       o Display the RPS Command title screen
• Main Menu
       o Display the Main Menu from which the user can select to
                - Play game
                   • Start a game of RPS Command
               - View high scores
                   • View past high scores
               - Quit
                  • Quit to Google Android home screen
• Select ammunition
        o User will be able select between rock, paper, or scissors as their current ammunition
• RPS Launcher
        o Display gun that will point towards the current position of the crosshair
• Ammo supply
        o Ammo supply will diminish as user fires at incoming projectiles
• Restock ammo supply
        o Ammo supply will be replenished at the end of each round
• Ground
        o Add ground so towers and gun are not floating in air
• Only loser of RPS battle is destroyed
        o Add logic to make sure that a winner of a RPS battle is not destroyed, winner will be determined by RPS rules
• Varying tower types
        o User will protect towers of different types (rock, paper, or scissors), towers will follow RPS rules
• Varying incoming threats
        o Start off with only one type of incoming threat (rock, paper, or scissors), over time add the other types
• Varying incoming threat speeds
        o Start off with slower incoming threats, over time increase and vary the speeds of incoming threats
• Level progression
        o Increase difficulty of game as levels progress
• Environment changes
        o Change facets of the environment as levels progress, such as background image
• User score
        o Keep track of the users score and have it displayed to the user during game play
• Score multiplier
        o Score multiplier will increase as user chains successful attacks
• Input types
        o Make sure controls work for the various types of input (keypad, touch screen, and scroll wheel )
• Game over screen
        o Display game over screen after all of the user’s towers are destroyed
• AI algorithms
        o AI algorithms to predict successful attack patterns based on previous successful attacks