- Games Engines 1 is becomming XR Prototyping!
- Games Engines 2 is becomming Autonomous Agents!
Games Engines 1 and Games Engines 2 are modules on the Computer Science and Game Design degree programs in TU Dublin. They have been running for 20 years. They were the first games courses taught in the University and led to the development of the BA Game Design and other programs. The aim is to develop transferrable skills: coding, maths, algorithm design, git, software development, computer science and of course creativity, by studying and programming, the systems of a games engine, and of games. There is a cool structure where we begin the course by placing a sprite on the screen and conclude with a simulation of 25K automous agents with many complex behaviors interacting in a simulation of emergent life.
Technologies
I used different technologies to teach the modules:
– Direct X 9 Fixed function pipeline in C++ – DalekWord
– XNA
– BGE – Bryan’s Game Engine. This is a game engine I wrote in C++ that was used for several years for teaching and game jams. I made this game for Quest DK1 and Kinect using BGE in 24 hours. Students used it for projects and there are 29 forks on github.
– Unity
– Unity with ECS
– Godot
I now use open source tools, Godot, VS Code, git, Blender, Audacity and students use open source in their assignments, which can be team or individual. I also use commercial games engines such as Unreal and Unity. Students can code in GDScript, C# or C++ or whatever langauge their open source game engine supports. For team projects, each student gets an individual mark based on git commits, presentation and a reflective practice and declaration in the project README file. The assignments emphasise creativity, development skills, mastry of the game engine and teamwork.
Games Engines 1
Game Engine Programming – Semester 1
Essential game maths – Trignometry, vectors, matrices, quaternions, physics
Elements of a game engine – scenes and nodes, 2D, 3D, shaders, UI development, signals, physics, CSG, particle systems, audio, scripting
Game programming – GDScript in depth, C# and C++ examples
Games Systems – movement, spawning, collisions, shooting, particle effects, player input, cameras, FPS and flying camers, picking
Procedural generation – Procedural meshes, infinte terrain, shader programing
Audio – Buses, Effects, Filters, Audio analysis, FFTs
XR development – Movement, interacting, motion capture, mixamo, animation state machines, holograms
Genertive AI in Game dev – Coding, ideation, asset creation, LLMS and chatbots
The assignments are always crazy ideas like creating holograms (last year) or vintage sci fi (previous). This years assignment will probably be creating an embodied hologram with a personality, powered by an LLM. I will teach you how to do this. We have incredible technology for creating these using Godot, Meta Quest and github for LLMS:
Read all about my summer project creating holograms and see people experiencing it at Audio Garden and Dublin maker:
There are Quest 3’s and Quest 2’s in the University for student projects. We have adapted some of them for pass through mixed reality holograms and plan to acquire more.




This is a playlist of last years Games Engines 1 assignments:
Games Engines 2
Game AI – Semester 2
Artificial life & emergence (most of the course is about this)
seek, arrive, pursue, offset_pursue (i.e. formations), path following, evade, obstacle_avoidance, player control
seperation, alignment avoidace, constrain, cell space partitioning, multi threading, job systems, ECS, programming high performance simulations
State machines from this classic computer science text
Behavior trees
Graphs & graphs traversal
A+, priority queues, stacks
Pathfinding in a game engine
The assignment can be done in a team or as an individual and is usually themed around artificial life. This is the assignment from 2024 and this from 2023. Here is a youtube playlist of the last two years assignments:
I made this project myself over 5 or 6 years with what I learned developing the courses:
And I am porting it to Godot. This is my progress:
There is a written exam each semester in addition to the assignment and in semester 2 there is an in-class, in-person programming test in addition to the assignment and written exam. You will need to know basic Godot workflows and git for the test.
The classes takes place:
Semester 1 Friday 14:00-18:00
Semester 2 Tuesday 09:00-13:00
In CQ240 in Central Quad, Grangegorman Campus. This is a super cool room with lots of computers and space for XR development:

We use studio classroom (aka flipped classroom) model. We have a 4 hour block each week for teaching, working on stuff, assignments and projects and I am available to support you. I will sometimes split the class into groups and we will work on prototypes and systems. We collaborate using github and have a class discord.
I record all my classes and post them on github if you miss one. You can find them all on my github. If you log in with TU Dublin email address, you can watch the recordings.
Important Information For Computer Science Students!
You can use these modules to learn sills that you can use on a a final year project that uses the technology. Examples:
I have lots of ideas for final year projects you can read about here.
