Search our site
Search our site

Professional Game Development Environments

  • Module code: CI5515
  • Year: 2018/9
  • Level: 5
  • Credits: 30
  • Pre-requisites: None
  • Co-requisites: None

Summary

This module teaches games programming with an emphasis on engines and middleware. It covers the components needed to implement computer games using the techniques which would be used in industry. The module stresses the importance of portfolio building to aid employability, and also the requirement to develop software in a rigourous, professional way. The module is taught via a mixture of lectures and workshops. The module links with the games inKUbator where students have the opportunity to work together to create games, emulating the industry environment.

Aims

The aims of this module are:

  • to further develop the concepts of 3D games programming with a particular emphasis on high level game development
  • to equip students with the skills to develop games and problem solving abilities in a professional manner both alone and in groups.

Learning outcomes

On successful completion of the module, students will be able to:

  • design small computer games using object oriented techniques
  • develop game code from an engineering perspective both individually and in agile teams
  • implement robust, tested code using higher level 3D games libraries and engines
  • develop a professional portfolio
  • select and recommend appropriate tools and technologies for the development of different genres of computer game
  • program having an awareness of time/memory resources used by algorithms

Curriculum content

  • Elements of a 3D computer game: GUIs, scenenodes, character control, animated meshes, shadows, skyboxes, cameras, terrains
  • Game AI: steering, route solving, decision making, NPC behaviour, finite state machines
  • Game engines and middleware: eg. Unreal, Unity; Scripting for game engines
  • Professionalism: game industry coding standards, version control, agile development and team working, employability skills, project management, responding to a brief, requirements analysis, testing and quality control, professional presence and portfolio, professional ethics
  • Games Architecture: UML, object orientation, reusability, game components, design patterns
  • Effective coding: standard template library, advanced memory management, lists, vectors, trees, maps and graphs and their implementation, data type sizes, awareness of time/memory resources used by algorithms

Teaching and learning strategy

The course lectures will introduce theoretical aspects and the student will have the opportunity to develop practical skills during the practicals using actual games hardware. In addition to the teaching material, the student will be guided to other sources of information. Unsupervised work, initiative and self-teaching, will be encouraged via the project work. Videos will be used extensively throughout the module to enable students to practice the concepts in their own time. Lectures will focus on practical work, problem solving and making games both individually and in groups.

Breakdown of Teaching and Learning Hours

Definitive UNISTATS Category Indicative Description Hours
Scheduled learning and teaching Lectures, tutorials, workshops, case studies, exercises, discussion groups, and practice work. 100
Guided independent study Independent and directed reading. Online learning materials and study notes. 200
Total (number of credits x 10) 300

Assessment strategy

The assessment is designed to enable the students to develop a portfolio that demonstrates their achievement of the learning objectives. Some of these tasks/exercises are formative and some are summative. Feedback and feed-forward: marking guides enable students to plan their assessment approach. The formative assessment is designed to inform student preparation for summative which may be within the same module or across the degree programme.

Mapping of Learning Outcomes to Assessment Strategy (Indicative)

Learning Outcome Assessment Strategy
1) design small computer games using object oriented techniques Courseworks 1 and 2/Tests
2) develop game code from an engineering perspective both individually and in groups Courseworks 1 and 2
3) implement robust, tested code using higher level 3D games libraries and engines Courseworks 1 and 2
4) develop a professional portfolio Courseworks 1 and 2
5) select and recommend appropriate tools and technologies for the development of different genres of computer game Courseworks 1 and 2
6) program having an awareness of time/memory resources used by algorithms Courseworks 1 and 2/Tests

Elements of Assessment

Description of Assessment Definitive UNISTATS Categories Percentage
Individual game typically comprising game artefact, report and video Coursework 40%
Team game typically comprising game artefact, report and video Coursework 40%
Comprising short time-limited practical test(s) eg. using a game engine Practical examination 20%
Total (to equal 100%) 100%

Achieving a pass

It IS NOT a requirement that any element of assessment is passed separately in order to achieve an overall pass for the module.

Bibliography core texts

Thorn (2017), Mastering Unity Game Development with C#, Packt Publishing

Sherif and Whittle (2016), Unreal Engine 4 Scripting with C++ Cookbook, Packt Publishing

Sherif (2015), Learn C++ by Creating Games with UE4, Packt Publishing

Bibliography recommended reading

Meyer (2014) Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14, (Addison-Wesley Professional Computing Series)

DaGraca (2017), Practical Game AI Programming, Pact

Millington and Funge (2009), Artificial Intelligence for Games, Morgan Kaufmann

Gregory (2014) Game Engine Architecture 2nd Edition, CRC Press

Find a course

Course finder

Find a course
>