Module Descriptors
LOW-LEVEL GAME PROGRAMMING
COSE70601
Key Facts
Digital, Technology, Innovation and Business
Level 7
15 credits
Contact
Leader: Stephen Foster
Hours of Study
Scheduled Learning and Teaching Activities: 36
Independent Study Hours: 114
Total Learning Hours: 150
Assessment
  • TEST (45 MINUTES) weighted at 30%
  • PRACTICAL ASSIGNMENT (1000 words approx) weighted at 70%
Module Details
Module Special Admissions Requirements
Co-requisite of CESCOM10189-7: Real-Time Graphics for Games
Module Resources
Visual Studio 2010 or Above
Access to PlayStation 3 development kit or similar hardware
Module Texts
Programming the Cell Processor: For Games, Graphics, and Computation. Scarpino, M. (2008). Prentice Hall ISBN-13: 978-0136008866
Write Great Code: Thinking Low Level, Writing High-level v.2, Hyde, R. (2005), No Starch Press, ISBN: 1593270658
Video Game Optimization, Eric Preisz and Ben Garney (2010), Course Technology, ISBN: 1598634356
Module Learning Strategies
12 lectures presenting key topics and concepts.
24 supervised practical sessions.
Module Additional Assessment Details
A practical assignment weighted at 70% assessing Learning Outcomes 1 and 2.
A test length 45 minutes weighted at 30% assessing Learning Outcomes 1 and 3.
Module Indicative Content
Survey of Hardware platforms (general-purpose computer, game console, handheld device): features and programming constraints, configuration of internal architecture, operating system features
Low level concepts such as pipelining / SIMD and MIMD execution / register banks and usage / bus architecture and operation (CPU/DMA control).
Instruction level parallelism, Task-level Parallelism
Memory systems (scratchpad, cache, and local memories).
Embedding low-level code in high-level source code.
Coding in Assembler
Performance issues: bottlenecks, profiling techniques, code optimization.
Multithreading and multiprocessor programming in particular for game consoles such as the PlayStation 3 or Xbox 360.
Graphics and audio hardware.