Sunday, 25 November 2012

An Update



The following is an update on the progress that has been made with de development of Tank Rampage. It is sorted in no particular order.



           
Code optimisations (for IOS)
            Tank Rampage is now ARC-enabled. Even though we stated in the design plan that we would not enable ARC in Tank Rampage due to time constraints, further research proved that ARC is easy to implement and makes memory leaks nearly impossible.
            We have researched the possibility of using multithreading to prevent the game from freezing during the random generation of the level. However, both Box2d and Cocos2d need to access the data of all the objects in the level in order to perform the next gameloop. It is therefore impossible to protect the data that would be used by the secondary thread, without significantly altering the engines. Since level generation is not currently causing framerate drops, we will not use multithreading.

Gameplay
            The first buildings have been added into the game. Both hit- and destruction- animations of these buildings have been made and added, as well as some basic behaviours. These behaviours are currently limited to the lives of the building, meaning that if a building is hit, lives are subtracted from its overall health. More buildings, including buildings that attack the player, are yet to be added.
            Level generation is partially finished: buildings and enemies get harder as the player get’s further. Algorithms for more advanced level generation, such as certain kinds of areas (e.g. a city area, a forest area) still have to be included. We’re currently looking into Bezier support (for the generation of more diverse terrain) .
            The player’s tank is now physically simulated. Both the tank tracks and the antenna respond to velocity and terrain changes. The tank has also been completely animated.
            The camera now zooms automatically in and out depending on the size and position of the building or enemy that is currently on screen. The player’s tank always stays in the same position on the screen.
            Controls have been tweaked.

Android development
            We have been experiencing some technical issues with the Android development of Tank Rampage and have not been able to make a Cocos2d-x project for Android yet. However, because all the main development is currently being done for IOS, this isn’t delaying us. We have made progress with the software needed for an Android version of Tank Rampage since writing the design plan. All software used for the IOS development is cross-platform; we expect no more technical difficulties after we’re able to make a Cococ2d-X project.


Conclusion
A lot of progress has been made, but according to our planning we are about one week behind schedule; multiple buildings still need to be added. We are currently working an average of 15 hours per week on Tank Rampage, and expect to finish the game in time. Due to our lack of time and financial constrains, not all animations used might be of the desired quality when Tank Rampage is released. If this is the case, we will improve them in future updates.
Tank Rampage included code that allowed for sprites to be broken into smaller pieces when hit. We have decided to remove the code, because the implementation of the breaking of sprites was too time consuming. If we have enough time, we will either implement this again in future updates.
Our blog (www.tankrampage.blogspot.com) has been set up, and we have posted our first articles there. We have enabled SyntaxHighlighter by Alex Gorbatchev in order to post our code clearly. If time allows us to, we will write and post tutorials related to the development of Tank Rampage here.
           

           




No comments:

Post a Comment