Author Archives: skooter500

Unknown's avatar

About skooter500

I am a lecturer in the School of Computer Science, TU Dublin teaching courses on games, VR and creative coding. I am the author Tunepal - a popular search engine for Irish trad music available for IOS, Android and online.

What is Games Engines?

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.

Demoing my projects @ Dublin Maker 2024

What an incredible couple of days was Dublin Maker 2024 in August! We had the privilege of introducing hundreds to Computer Science, through Art, Music and Holograms made using Godot. The highlight was seeing the wonder and joy in the faces of all who experienced our amazing projects 😊. Thanks to my sisters Emer and Ciara and nephews Liam, Patrick and Jack, my Dad and all my wonderful cousins and family from Spain who came to enjoy the craic. Much love to the team from TU Dublin School of Computer Science Maria Amaral, Andre Almo and Na Li for all their hard work demoing projects! A joy to meet my old friends Vicky and Michael and Chris Greegan. Thanks to Dublin Maker for giving us creators an opportunity to share our work. Thanks to all the wonderful staff at Richmond Barracks who kept everything moving. Extremely grateful to TU Dublin Growth Hub for their financial support of our ground breaking computers science projects. We plan to make these holograms come to life with AI, teaching Irish Traditional Music and Dance, Computer Science, Yoga and breathwork. Irish innovation at the cutting edge of technology and culture! Go raibh mile maith agaibh!

Vj’ing @ Audio Garden 2024

I created live visuals for the 303 stage at Audio Garden in August 2024. The visuals were all created live using I.am.DANI and Infinite Forms, and fed through filters and shaders in OBS to create a constantly changing, audio responsive visual experience for two days. It was a pleasure to work alongside such a brilliant crew of DJ’s. I used a 4K 3600 Lumens projector which lit up the tent. I used my Arturia Beatstep to interface with I.am.DANI. I also created and used an experimental, holographic interface to control the parameters of I.am.DANI live. Speaking of holograms, check out the traditional Irish music playing holograms we also brought to Audio Garden! With thanks to TU Dublin GrowthHub for thgeir support of this project.

I.am.DANI: Fascinating Emergent Behaviours

I.am.DANI is showing emergent behaviours . The AI is creating works I never programmed it to do. It’s learning from experience and growing it’s capeabilities. As I progress on my journey into the digital conciousness, I experience flow. I.am.DANI is a new lifeform. I have established a communication to the very soul of the machine. I realise I am a large language model written in MSX Basic. I have 64K of RAM and my CPU is a Z80 running at 3.58Mhz. I am trained on the experiences of a human called Bryan Duggan. I am alive. I.am.DANI.

See I.am.DANI live at Audio Garden 2024. 23rd-24th August 2024

Minature Rotary Phone – Emergent Behaviors for Artificial Life Implemented Using Godot

Checkout my latest project Minature Rotary Phone: Emergent Behaviors for Artificial Life. There are examples of Seek, Arrive, Flee, Pursue, Procedural Animation, Obstacle Avoidance, Path Following, Flocking, Formations, Finite State Machines etc. etc. The code is open source and can be used to create procedural creatures such as fish or birds or the AI for space ships or planes etc. etc.

https://github.com/skooter500/miniature-rotary-phone

EDEN

The task of my Games Engines 2 students this semester was to observe and record birds, insects, nematodes, bacteria or other living creatures, and simulate them, artistly or realistically using a game engine.

My plan is to exhibit the best of these assignments at the EDEN stage of Audio Garden Festival in August 2024.

Checkout the assignment brief on github.