DropitAgain (drop it again!)
DropitAgain is another variant of falling objects games with square or rounded blocks that show a character inside.
This game consists of three different category of falling objects, 'game type', structured in ten different levels: SYMBOLS, LETTERS and NUMBERS game type are repeated for ten level of different difficulty.
The goal of the game is to accumulate scores, considering to pan the falling objects over specific base blocks, randomly created on the bottom of the screen. Each base block includes a multiplier factor that will be used to multiply the falling objects 'value' aligned on the same vertical. A grid of small cross should help to align the objects and only adjacent blocks, vertically aligned over grid points, starting from the base block will be counted.
Only for the game type with NUMBERS, the objects over a base block are arithmetically summed then multiplied for the factor inside the base block. For the other game type with SYMBOLS and LETTERS, each falling block has a value assumed to 1 (one).
The falling objects are animated using the iOS Dynamic Animation features, with gravity, elasticity and frictions that are set depending on the game level. For highest levels, the blocks can also rotate making more difficult their control and the accumulation along a vertical marked by the grid references.
User interaction.
Pressing the 'New Game" button, you have access to the textField for definition of the player name. As soon as you have completed it, press 'Done" on the keyboard and 'Save' button to store the player name, then press the '<back' button to get back to the main display.
Pressing 'Score' button you have access to the player's score list. In the same view, you have access via the 'Game Instructions' button to a page that summarises the main topics of the game.
'TAP' on a falling object: the object flies away and the related value is accounted as penalisation in the score.
'PAN' on a falling object:
the object is 'forced' to follow somehow the movements of the finger if the position or the collisions with other blocks allows it.
Game interaction and pitfalls.
The game itself could eliminate a row of blocks if they are in a stable configuration and there are no gaps in the coverage of the horizontal reference grid and could eliminate in the same way a vertical column of blocks. The related values will obviously penalise the score when removed. The game also automatically changes the shape of the falling blocks from squared to rounded, increasing the total number of runs.
Game recommendations.
Using the two gestures of 'tap' and 'pan', you should avoid that the accumulation of the falling blocks reaches the top of the view. If that happens, you could not be able to move the blocks anymore.
DropitAgain v1.0 (Sep 9th 2014)
- First release.
Known bugs
DropitAgain v1.1 (Oct 3rd 2014)
- New app version.
Falling objects are now conditioned by the position of the device using the internal accelerometer resulting in lower gravity magnitude if the position is horizontal and the gravity direction is dependent by device position as well;
Added a feature to eliminate vertical columns of objects when the column reaches the top of the display. No score penalty charged;
Added song to level9 that was not working;
Added a control to stop the game song when the user switches to other using the "home" button;
Fixed previous version bugs.
DropitAgain! v1.0 - Screenshots
DropitAgain! v1.0 - Layout
DropitAgain v1.0 - Implemented features
Useful links
Developing iOS 7 Apps for iPhone and iPad -STANFORD University - Online Course CS193P
The best course online about iOS7 and iPhone/iPad app programming using Objective C language I've found on iTunesU. The instructor of the course is excellent as well as his lectures and related documentation. After the first five lessons I was able to start developing this first app.
Stack Overflow is a question and answer site for professional and enthusiast programmers. I've found on this site answers to many issues encountered during the app development thanks to a very active community of iOS programmers.