Download presentation
Presentation is loading. Please wait.
1
Games Development 2 semester 1 Review & Revision
CO3301
2
Today’s Lecture Exam Overview Exam Structure Module Overview
Entity IDs & communication, update & rendering Resource Management Data for Games / XML Scripting for Games / Python Component-based Entities Concurrent Programming Tools for Games / C# Picking Example Questions
3
Exam Overview Third year exams have a different focus than your second year exams: 2nd year: Explain process X; Describe concept Y 3rd year, some of the above But also: Evaluate process X for use in situation Y; Compare techniques A & B Some marks for explaining module content But many more marks for being able to evaluate what you have learnt Discussing topics rather than repeating them Applies to a greater or lesser extent to all exams
4
Exam Structure Structure of this module’s exam:
Answer four questions out of six Covering semester 1 and semester 2 material 3 hour exam Many questions are focused on comparisons between techniques E.g. Compare use of entity pointers with UIDs Case studies often used as basis for discussion Use notes and experience from labs / assignments to provide an intelligent discussion
5
Topics: Entity IDs & Comms
Need for and examples of entity identification Identification alternatives: Entity pointers, named entities, entity UIDs Usage of each of the above Discussion of relative merits Implementing UIDs; Hash tables Enitity interaction alternatives: Direct entity-entity class interaction Use of member functions Messaging system; implementation issues Pros and cons
6
Entity Update and Rendering
Unique update function for each entity type Contrast with single scene update function Pros and cons Rendering functions, including pre- and post- rendering Comparison with Model / Mesh approach Presented turning & movement work in week 2 Supports Gareth's material Method is examinable With formulae
7
Resource Management Loading resources Resource Manager Resource IDs
At scene setup Using setup script (c.f. XML) Resources from templates Streaming resources (large environments) Resource Manager Dealing with shared resources / resource destruction Reference counting Late loading of resources Resource IDs Kinds of resource
8
Text-based Game Data / XML
Hard-coded data Examples Limitations Consider manual scene-setup & similar Rationale for using structured data language in games Flexibility Future-proofing Contrast between scripting and data languages XML as a game data language Pros & cons, alternatives
9
Scripting for Games / Lua / Python
Explanation of game scripting Rationale Ease of use, iteration time, scripts as assets, flexibility Drawbacks Performance Clumsy interface code Need for shared data between main code and script Consideration for use of scripting or not Case studies Scripting languages Lua / Python Key features Simple programming
10
Component-based Entities
Limitations of entity hierarchy / OO approach Rigid hierarchy - inflexible Tight coupling between parent & child etc. Component based alternative: Components represent entity properties or abilities Add / remove components dynamically Entities become simple containers Pros & cons Hierarchy much simplified Great flexibility Much more message passing May be difficult to control precisely
11
Concurrent Programming
Explanation of concurrent programming Distinction from parallel programming Processes & Threads Difference Data / Resource Coordination Example problem situations ‘Race’ Conditions How to resolve Synchronisation techniques Critical Sections, Mutexes, Semaphores Timers, Events Deadlocks
12
Tools for Games Tools programming Tool chains
Tool types and uses Tool development Tool chains Examples Increasing use of other high level languages (e.g. C#) Rationale for use in games tools
13
Material not on Exam The mathematical detail of camera picking will not be examined An overview of the process involved may be required though Both Lua and Python may be covered Especially comparative questions However, any short scripts you are required to write will be in Lua
14
Example Questions i) Evaluate three methods for entity identification
ii) What are the advantages and disadvantages of component-based entities i) Discuss the rationale for scripting in a large-scale commercial game ii) Suggest a scenario when “.ini” files would be a justifiable alternative to XML files for text-based game data Further examples provided on past paper and worksheet
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.