Search our site
Search our site

3D Graphics Programming and Artificial Intelligence

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

Summary

To provide students with core knowledge of the computer graphics methods of geometric modelling, projection, rendering and shading, as well as the state-of-the-art algorithms and solutions of artificial intelligence and to prepare students for writing their own computer games using industry-standard specialised software. It explores lower level games programming with an emphasis on C++ and shader programming, 3D graphics libraries, AI algorithms and the mathematical concepts underpinning them. The module is taught via a mixture of lectures and practical classes with strong lab support to simulate a game industry environment.

Aims

  • Develop the concepts of 3D computer graphics and artificial intelligence, alongside with selected topics in mathematics and physics underpinning them.
  • Develop practical skills in solving advanced technical problems.
  • Provide the foundations for students to be able to develop fast 3D visualisations as are required for computer games

Learning outcomes

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

  • Write game code for creating special effects and artificial intelligence.
  • Develop engaging gameplay using state-of-the-art artificial intelligence algorithms and methods.
  • Implement a basic 3D graphics visualisation using a shader language.
  • Apply and use mathematical and physical concepts for manipulating 3D game data.
  • Describe the elements in the graphics pipeline.

 

Curriculum content

  • Libraries: such as OpenGL, Direct3D
  • Game mathematics: coordinate systems (more advanced), matrix transformations, homogeneous coordinates, projections, quaternions, vectors in 3 dimensions, vector algebra, parametric equations of lines, planes and simple curves, dot and cross products in 3D, tangents and normals, intersections, linear equations of two variables, flight dynamics
  • Games physics: collision detection and response (more advanced), introduction to ragdoll physics, introduction to animation and inverse kinematics.
  • 3D Computer Graphics: z-buffering, rasterization, texture, clipping, anti-aliasing, illumination techniques, shading, colour models, ray tracing, rendering techniques, normal maps, mipmaps, graphics pipeline
  • Shaders: low level shader languages, GPU programming, integration of shader and game code
  • Special effects for games: eg. fire, water, rain and snow, animation and particles
  • Artificial intelligence: such as navigation and path finding, state machines, decision trees, autonomous agents, behaviour models, flocking systems,

Teaching and learning strategy

The module uses a mix of lectures, workshops, studios, practical classes, and lab support to simulate a game industry environment. The primary means of guiding and facilitating students' learning is either through one 4-hour lab-based sessions, or one 2-hour lecture and one 2-hour workshop each week. Students often work in groups to complete coursework as is common practice in industry and is associated with the module's learning outcomes. Attendance at these sessions is mandatory due to the nature of the group work and simulated game studio environment. Assessments reflect the most appropriate artefacts and products required by industry to develop their skills within the module. Assessments are both formative and summative, are set on Canvas ahead of time, and can include peer-to-peer learning. Ongoing verbal and written feedback and feedforward is provided during the weekly sessions in the lab as befits a concrete simulation of the Games Development industry.

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

Summative assessment is through: practical in-class examination in programming (30%) and a portfolio of assessed workshop activities (50%) and a coursework on Artificial Intelligence (20%). Examination involves developing a software project against a set of precisely defined requirements, in time-limited and invigilated conditions. Portfolio of assessed workshop activities is based on in-class programming work, typically completed within two weeks, but with flexible options of developing larger projects as well. This coursework is aimed to create a substantial contribution to the students' professional portfolio. In order to help students on this module achieve their full potential, formative assessment opportunities will be provided as appropriate throughout the module - through worked exercises and lab work. The formative assessment is designed to inform student preparation for summative assessment which may be within the same module or across the degree programme. Feedback on coursework represents an additional opportunity for formative and summative learning and will be given in writing and verbally - in various forms, such as short feedback sessions and individual written messages.

Mapping of Learning Outcomes to Assessment Strategy (Indicative)

Learning Outcome Assessment Strategy
Write game code for creating special effects and artificial intelligence. Practical Examination Coursework: Portfolio of assessed workshop activities Artificial Intelligence coursework
Develop engaging gameplay using state-of-the-art artificial intelligence algorithms and methods. Artificial Intelligence coursework
Implement a basic 3D graphics visualisation using a shader language. Practical Examination Coursework: Portfolio of assessed workshop activities
Apply and use mathematical and physical concepts for manipulating 3D game data. Coursework: Portfolio of assessed workshop activities Coursework
Describe the elements in the graphics pipeline. Practical Examination Coursework: Portfolio of assessed workshop activities

Elements of Assessment

Description of Assessment Definitive UNISTATS Categories Percentage
Practical Examination (Programming Test) Practical exam 30%
Artificial Intelligence coursework Coursework 20%
Portfolio of assessed workshop activities Coursework 50%
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

I. Millington and J. Funge (2009), Artificial Intelligence for Games 2nd Edition, CRC Press

David Wolff (2013), OpenGL 4.0 Shading Language Cookbook, Packt, 978-1782167020 (2nd edition)

Bibliography recommended reading

M. DeGraca (2017), Practical Game AI Programming: Unleash the power of Artificial Intelligence to your game, Packt

E. Lengyel (2012), Mathematics for 3D Game Programming & Computer Graphics, Cengage

S. Guha (2011), Computer Graphics through OpenGL, CRC Press

D. Astle, ed. (2006), More OpenGL Game Programming, Thomson Course Technology

R. Parent (2012), Computer Animation, Algorithms and Techniques, Morgan Kaufmann

J. Zink, M. Pettineo, J. Hoxley (2011), Practical Rendering and Computation with Direct 3D 11, CRC Press

F. Luna, (2016), Introduction to 3D Game Programming with DirectX 12, Mercury

M. Movania, (2013), OpenGL Development Cookbook, Packt

Find a course

Course finder

Find a course
>