Software Architecture of 2D arcade Racing Car

Problem:
      Once i was asked to implement 2D arcade strategy based game engine. The basic demand of the client was that the architecture should be the efficient, flexible design that will support strategic games, tactical games, roll playing games under Artificial Intelligence.
     The Game engine will support the API for audio, sound support, 2D/3D graphics; user controls like touch, drag/drop, animation like movement, rotation, fluids will be implemented for game engine. The game engine will also provide APIs support for non-playing characters for decision making as well as game score and levels.
Solution:
    Software Engineering is an very important to build complex software systems in the context of frequent change as well as to understand that how to produce a high quality software system within time, while dealing with complexity and changes. I am not going to hardcore wording .... MovieTime


Maps:

    Maps will be designed for in Abstract Factory Pattern, because abstract factory pattern provides an interface for creating families of related or dependent objects without specifying their concrete class
Players:

            All character players will be designed in builder design pattern; this pattern is used when the system is more complex and there is a hierarchy of created objects and wants to abstract the mapping of certain parameters to sub-class. Our game players A-Rounder, Sound Hero, Wisdom and NPC, each player have complex structure and hierarchy from each other that things counts for their efficiency and response time. 

Training Session:
           To enhance the user capabilities run-time i.e., training session will be arranged. SAW friends are going to use Decorator Design Pattern. This pattern is alternative to sub-classes and classes to add responsibility in compile time whereas, Decorator Pattern even at run-time. This pattern supports the over-ridding methods by adding updated functionality. We are using to add user- capability to add the extra features to the user players like running, jumping. …



Changing Atmoshphere:
            Adapter pattern to make a change in environment, for example from day to night, or cloudy atmosphere, in below diagram it is shown in buildEnviroment() method.
Loading Game:
            Proxy Design Pattern provides a surrogate to control access to it, it uses an example if indirection to support distributed controlled, or intelligent access. SAW friends are using proxy design pattern, when client clicks the game icon, it acts as a placeholder while game loads in system.

Regards
RaoGames
Software Architecture of 2D arcade Racing Car Software Architecture of 2D arcade Racing Car Reviewed by Unknown on Sunday, July 29, 2012 Rating: 5

No comments:

attiqrao. Powered by Blogger.