Games Development 2 Review & Revision Strategy CO3301 End of Semester 1.

Slides:



Advertisements
Similar presentations
Lecture 4 Basic Scripting. Administrative  Files on the website will be posted in pdf for compatibility  Website is now mirrored at:
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
MSc Epidemiology Exams what, why, when, how. Paper 1 Covers extended epidemiology, STEPH and clinical trials Purpose of today’s talk: –Explain format.
Limited Time and Experience: Parallelism in CS1 Fourth NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-14) Steven Bogaerts.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Chapter 3.2 C++, Java, and Scripting Languages. 2 C++ C used to be the most popular language for games Today, C++ is the language of choice for game development.
Chapter 3.2 C++, Java, and Scripting Languages “The major programming languages used in game development.”
March 20, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #17 Tuesday, March 20, 2001.
IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
1 Discussion Class 12 User Interfaces and Visualization.
Oct. 30, 2003CS WPI1 CS 509 Design of Software Systems Lecture #9 Thursday, Oct. 30, 2003.
Chapter 3.6 Game Architecture. 2 Overall Architecture The code for modern games is highly complex With code bases exceeding a million lines of code, a.
Topic ? Course Overview. Guidelines Questions are rated by stars –One Star Question  Easy. Small definition, examples or generic formulas –Two Stars.
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
Games Development Practices Semester 2 Overview CO2301 Games Development 1 Week 14.
Data Structures and Programming.  John Edgar2.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
CS252: Systems Programming Ninghui Li Final Exam Review.
Chapter Languages, Programming and Architecture.
Games Development 2 Entity / Architecture Review CO3301 Week
Platforms for Learning in Computer Science July 28, 2005.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
Revision and Exam Skills
Project Analysis Course ( ) Final Project Report Overview Prepared by: Sijali Petro Korojelo (Course Assistant)
Games Development 2 Resource Management CO3301 Week 3.
Lessons learnt and changed understanding: Can Machine Dynamics students survive without my lectures? Ian Howard Mechanical Engineering.
Lesson Aim: Gain an understanding of the technique and knowledge necessary in order to score highly in the examination.
Object-Oriented Programming (OOP) CSC-2071 (3+1=4 Credits) Lecture No. 1 MBY.
Subject (Exam) Review WSTA 2015 Trevor Cohn. Exam Structure Worth 50 marks Parts: – A: short answer [14] – B: method questions [18] – C: algorithm questions.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Games Development 2 Concurrent Programming CO3301 Week 9.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Games Development 2 Component-Based Entities
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Games Development 2 Lua Scripting CO3301 Week 6. Contents Introducing Lua –Comparison with Python Lua Language Overview Interfacing Lua with C++
SE 320 – Introduction to Game Development Lecture 3: Unity’s Interface and Concepts Lecturer: Gazihan Alankuş Please look at the last two slides for assignments.
Games Development 2 Overview & Entity IDs and Communication CO3301 Week 1.
CE Operating Systems Lecture 22 Operating Systems - Revision Lecture.
Games Development Game Architecture: Entities CO2301 Games Development 1 Week 22.
Chapter 3.6 Game Architecture. 2 Overall Architecture The code for modern games is highly complex (can easily exceed 1M LOC) The larger your program,
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Games Development 2 Entity Update & Rendering CO3301 Week 2, Part 1.
Games Development 1 Review / Revision CO2301 Games Development 1 Semester 2.
CSM06: Information Retrieval Notes about writing coursework reports, revision and examination.
PED 212 Entire Course PED 212 Week 1 DQ 1 Current Issues  PED 212 Week 1 DQ 1 Current Issues  PED 212 Week 1 DQ 2 Critical Thinking  PED 212 Week 2.
Complete your own revision graph for the development of surgery and anatomy in the Ancient World PrehistoricEgyptianGreekRoman Progress.
The Movement To Objects
Analysis and Comparison is ICS4U
Introduction Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe.
Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1st edition CS 4455.
Object-Oriented Analysis and Design
System Design and Modeling
Games Development 2 semester 1 Review & Revision
Two part course Software Engineering option only!
CO Games Development 2 Week 19 Extensions to Finite State Machines
Introducing the Numeracy continuum K-10
Btec Construction and the Built Environment: Unit 1
EECE 310 Software Engineering
Essentials of Oral Defense
Games Development Practices Semester 2 Overview
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Games Development Game Architecture: Entities
Python 12 Mr. Husch.
Games Development 2 Tools Programming
Games Development 1 Review / Revision
Emerging Technologies for Games Review & Revision Strategy
Games Development 2 Entity / Architecture Review
Presentation transcript:

Games Development 2 Review & Revision Strategy CO3301 End of Semester 1

Today’s Lecture 1.Exam Overview 2.Exam Structure 3.Module Overview –Entity IDs & communication, update & rendering –Resource Management –Data for Games / XML –Scripting for Games / Python –Tools for Games / C# –Concurrent Programming –Component-based Entities 4.Example Questions

Exam Overview Third year exams have a different focus than your second year exams: –2 nd year: Explain process X; Describe concept Y –3 rd 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

Exam Structure Structure of this module’s exam: –Answer three questions out of four –Covering semester 1 material –Two hour exam + 10 minutes reading time 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 Will be a similar exam at the end of semester 2 –On AI material

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

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

Resource Management Loading resources –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

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

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

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

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

Tools for Games Tools programming –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

Material not on Exam The mathematical detail of camera picking will not be examined –An overview of the process involved may be required though Extensible factories will not be examined The console development / middleware lecture will not be covered Both Lua and Python may be covered –Especially comparative questions –However, any short scripts you are required to write will be in Lua

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