Teaching Responsibility
LJMU Schools involved in Delivery:
Computer Science and Mathematics
Learning Methods
Workshop
Module Offerings
5210COMP-SEP-CTY
Aims
To practically apply the concepts Object-Oriented Design and Programming to games software such as Software Design Patterns
To explain the models, tools and techniques of the software development process for game software.
For students to critically evaluate the phases of the Software Development Lifecycle and different methodologies that are used in the games industry.
To explain formal principles of game software modelling.
To provide skills in using software APIs relevant for the computer games industry.
To manage the software development lifecycle using industry-standard approaches to Software Configuration Management (SCM) using Version Control Systems (VCS)
To practically apply the principles of Agile Development to the design and development of a non-trivial game application.
Module Content
Outline Syllabus:Games Software Engineering characteristics and Software Engineering paradigms.
The Software Development Lifecycle as applied to Games Software
Software Planning and Project Management – Software Configuration Management as a standard.
The Agile Manifesto and its application to games development.
Object-Oriented Design Techniques and UML Modelling.
The syntax and semantics of class specification and Object creation.
Encapsulation
Association, Aggregation and Composition and the language concepts which facilitate these.
Inheritance, Sub-Typing, Polymorphism and the role of Dynamic Dispatch.
Language constructs and Standard Libraries for Memory Management
Software Architectures: SOLID Principles, Cohesion and Coupling
Data-Driven games development
Quality Assurance and Testing.
Introduction to Parametric Polymorphism.
Game Object representation and Object Models
Software Design Patterns for Games Architectures.
Program Structures and Execution Models
CPU vs GPU Software Engineering
Introduction to Concurrent Programming.
Common Optimisation Techniques
Test Driven Development.
Module Overview:
In this module, you will build upon your foundational programming skills by introducing in both a practical and theoretical manner some of the fundamental ideas of software engineering, enabling you to develop and communicate designs for small scale games software systems. As a group, you will apply the Agile Development methodology and its associated design techniques using Object-Oriented principles to produce solutions for games development scenarios using Object-Oriented Programming. You will gain experience of Software Engineering techniques for the design, development and testing of game software and understand the impact of these techniques on the architecture of modern games application, using industry-led tools and techniques.
In this module, you will build upon your foundational programming skills by introducing in both a practical and theoretical manner some of the fundamental ideas of software engineering, enabling you to develop and communicate designs for small scale games software systems. As a group, you will apply the Agile Development methodology and its associated design techniques using Object-Oriented principles to produce solutions for games development scenarios using Object-Oriented Programming. You will gain experience of Software Engineering techniques for the design, development and testing of game software and understand the impact of these techniques on the architecture of modern games application, using industry-led tools and techniques.
Additional Information:In this module, students will build upon their foundational programming skills by introducing – in both a practical and theoretical manner – some of the fundamental ideas of software engineering, enabling students to develop and communicate designs for small scale games software systems.
As a group, students will apply the Agile Development methodology and its associated design techniques using Object-Oriented principles to produce solutions for games development scenarios using Object-Oriented Programming. Students will gain experience of Software Engineering techniques for the design, development and testing of game software and understand the impact of these techniques on the architecture of modern games application, using industry-led tools and techniques.
Assessments
Technology
Centralised Exam