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
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
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
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
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
Quality assurance
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:
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
Assignment marking guide:
Your report should use Harvard Referencing
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