So lets simplify our understanding to the use of OOD in to chunks,
Why?
Why do we use UML? What purpose is it, is it not better to get straight in to the coding and construction of the game or board game?
Here we make our arguments to why we agree that it is the place to start any game development, it is a point that we can enable our team and potential financial backers to see and understand the scope and size of our game proposal and potential future improvements and releases. The UML allows you and the team to split the project in to groups sections and specialisms based around the clear identification of elements within the game. As Shigeru Miyamoto states;
A delayed game is eventually good, a bad game is bad forever
Factoid
The Nesta & Ukie study counted 1902 video games companies in the UK, employing approximately 9,200 creative staff and indirectly support more than 16,800 jobs.
Nesta & Ukie, September 2014.To see the article Click Here
Therefore we know that it is essential that we use these UML tools to save time repairing something that should have been identified at the initial planning stages using the UML to identify things like polymorphism in classes and objects and to identify occurrences where inheritance is used. Remember that we are using UML to not only help us plan out our proposals but for us to also outline opportunities to reuse instances of code and reduce the need to copy and paste commonly used elements. By using these opportunities of creating modular blocks of classes and system objects we can save time and money, therefore making the whole process more efficient. If we think back to our Mario example the cartridge of the game was limited to its size, a common issue still to this day (hence Downloadable Content or DLC) therefore using objects of inheritance we can minimalize the code footprint on the shipping platform.
When looking at the whole process, we can allow our developments now to creating the objects to be the platform to the improvements in the next release of the game, this would then save the recreation of game elements such as the character power-ups and the enemy’s to enable the improvement of these without completely rewriting the entire object again.
A software library is a good example of code reuse. Programmers may decide to create internal constructs so that certain parts of their program can be reused, or may create custom libraries for their own use. Some characteristics that make software more easily reusable are modularity, loose coupling, cohesion, information hiding and separation of concerns.
The objects within our games will all have properties, some of which can be inherited from other objects and some are overwritten and superseded by the behaviour of that new instance of the object. It is work remembering that the heros and enemy’s may share properties that could enable them to be linked to a parent class (refer to week 2 if this term has no meaning) therefore reusing code elements and making them efficient. Properties could be, size, speed, movement, sounds, health and lives. The classes may have behaviours and events that are triggerable, these could be the creation of a new spawn, the destruction of an enemy using a destroy behaviour, a detection of a collision between two sprites, timers that set a level completion or the scoring of the player in the game.
Real World Modelling
Real World Modelling is one of the most powerful aspects of object-oriented programming. This is making objects that you know in the real world into objects in your system. Because we all live in the real world, it is easy for others to immediately understand what an object is and does if it is based off of something real world.
A customer, shopping cart, and product in an e-commerce store are immediately recognized and their interactions between each other are understood easily, because we can see the same interaction in our daily lives. We know that there can be many products in our shopping cart. We know that each customer may have a shopping cart to put their products in. We know that customers have names and addresses, and that products have names and prices. The programmatic shopping cart however may have related functionality that a real shopping cart may not have. It may be able to tell us the total price of all the products in it, where a real cart can’t do anything but roll around (something not needed in an ecommerce store).
The first thing you might do when developing a system is to discover all the real-world objects in that system. Whether it is employees, supplies, offices, text characters, documents, buttons, or rubbish bins, they all help us think of the system easier and model it better. We already know many of the objects’ interactions and who “owns” what (the customer owns the shopping cart and the cart owns the products). These real world objects may even be the groupings of objects instead of the objects themselves. Or they may be objects that help group others. You might have a department object with its employees and manager. Once you have the real world objects you can then group them. The shopping cart, order, and checkout might go into the same section. You may put products and categories into the catalogue group. Customers and store admin may be their own group.
Looking back over the past few weeks we have now discussed UML and have created some examples of UML linked to systems that we use and to games that we have played now is the time to put your knowledge and understanding down in response to your provided assessment brief.
Now that we understand how that games are constructed from a number of objects such as characters; weapons; rooms; walls; scenery; instances; rewards, eg bonuses, power-ups we are on our journey to become games developers, planners and designers and not just gamers.
Remember the use of terminology and the analysis of words in your report are key areas in the level of your grades.
Good Luck.
Factoid:
Some 160,000 UK computer science and engineering students graduated in 2011, alongside 176,000 creative and design graduates. Although only a fraction of these will enter the games industry, these statistics illustrate the depth of the talent base constantly being refreshed in the UK.
Factoid:
A helpful piece of insperation; GAMES, WHY THE UK?
You have now been issued with your assignment, you should use your time in class effectively and use your notes and other sources of information to deliver the requirements of the task in hand.
Remember that this is a Controlled session and the appropriate rules MUST be followed when working.
Links to Learning Outcomes |
Links to Assessment criteria |
|
---|---|---|
Anonymous Assessment - Learners assess an anonymous piece of work containing deliberate mistakes against given success criteria.