Monday, 22 February 2016

Unit 71: Object-Oriented Design - Games Year 2 Grp A+B - Assignment 1

This week will start a new Unit and Assignment based around Unreal Blueprints and what you have been doing since the new year.

Link to assignment:Unit 71: Object-Oriented Design for Computer Games Assignment 1
Link to Object-oriented design PowerPoint:
OOD PowerPoint

Assignment help:
How is object-oriented design(OOD) used to enhance the design process within the games industry?

Your explanation must consist of the following concepts and principles:

Simplified understanding
What is OOD? State and Behaviors?

Re-usability
Explain how you could reuse your blueprints for multiple games. If you have already written a power function, then it could be created so that any program can make a call to that function and it should work exactly the same. How could you transfer your blueprints to another game/project?

Maintenance
Once your OOD has been implemented what maintenance is involved? Bugs, new content, performance and/or functionality.

Efficiency
OOD design is less about efficiency and more about re-usability, code readability, easy documentation, structure, and more importantly modularity. You could make a comparison to procedural programming/design.

Real-world modelling
Use a real world example of OOD. Such as a car. What states(e.g Colour, gear type etc) and behaviour(e.g Moves forward, Turns right etc)

Collaboration and sharing
The modelling techniques of OOD provide an interface between creative designers (who can express their requirements without having to know the detail of the code) and programmers (who can use the models to implement the code). Your OOD can be shared with other members of your creative team.

Communication
How does our objects and classes in OOD communicate. In our case we have been using blueprints. So how do our blueprints communicate with each other?

An example of blueprint communication:https://docs.unrealengine.com/latest/INT/Engine/Blueprints/UserGuide/BlueprintComms/index.html
More:

Quality assurance
What test will you go though to make sure your game works correctly? Test plan? Other users feed back?

Inheritance
Inheritance is the principle of class hierarchy. It is the ability for one object to take on the states, behaviors, and functionality of another object.

A real-world example of inheritance is genetic inheritance. We all receive genes from both our parents that then define who we are. We share qualities of both our parents, and yet at the same time are different from them.

Objects in OOD can do the same thing. Parent classes can have child classes (also known as superclasses and subclasses respectively) which can have the same properties of the parent class, and can define new states, behaviors, and functionality of their own.

Take a look here for a blueprint example:
https://docs.unrealengine.com/latest/INT/Resources/ContentExamples/Blueprints_Advanced/2_5/index.html

Your report should use Harvard Referencing

Assignment marking guide:

P1: you will give accurate and substantially complete descriptions of what objects are in general terms (for example, a reusable element of a game such as a car) and how object-oriented design is used to enhance the design process within the games industry. You will discuss only the main concepts and advantages and must use some appropriate technical terms in your explanation (for example, efficiency, ease of maintenance).

When explaining the purpose of object-oriented design, a pass grade learner might write, ‘The purpose of object-oriented design within games is to allow for efficient and easy extension or upgrades to a game.’

M1: when explaining the purpose of object-oriented design, you will select specific appropriate examples to demonstrate how objects can be reused within a game (for example, specific characters and their attributes and behaviours). The explanation will be comprehensive and use appropriate terminology to describe the advantages of using an object-oriented approach to design.

A merit grade learner might write, ‘Object oriented design is used within a board game where by modifying the playing pieces used, the game function can be easily changed. For example, by replacing draughts pieces with chess pieces the game can change from chess to draughts.’

D1: You will explain with supporting arguments why object-oriented design is the best approach to game design, citing specific examples of how time and cost can be saved through the efficient reuse of code. The arguments made by you will be clear and expressed using fluent technical language. It will be evident that the examples and explanation express your personal understanding.

When explaining the purpose of object-oriented design, a distinction grade learner might write, ‘Object-oriented design promotes greater flexibility in game programming, by permitting well designed classes to be instantiated as objects which interact during the moment of gameplay. The reuse of the classes gives economies in development time during the development of a single game, and the code itself can be reused in subsequent game development whether for a sequel or not. The classes can be used as base implementations in any game that requires them, though a minimum of additional programming may be needed to optimise them to the new game. The reuse of classes gives logical and visual placeholders which speed up game development.

No comments:

Post a Comment