Imirt is the Irish Gamemaker’s Association.
Orbs.it is a multiplayer game I wrote last year with some effective multi-server configuration and latency mitigation design decisions.. hence the award
Newby Chinese is a gamified system for learning Mandarin Chinese in a fun way, initially in a supervised classroom environment. I have been working on this with my friend and project collaborator Richard McCurry since 2016, and Richard’s core concept (which was always very engaging) has, in the last 9 months or so, really fleshed out and taken shape as a set of minigames and challenges tied together into competitive multiplayer races. Our first customer (a secondary school) starts using Newby Chinese in a couple of weeks time.
Last week we presented a paper at an academic conference – IEEE Games, Entertainment & Media. This included a demo of some of the interactive multiplayer minigames which make up our learning system. It went really well, and the 20 or so participants found it very engaging. My heavily-cached Ajax-and-Websockets NodeJs server performed exactly as I had hoped.
Last week I co-presented a paper in which we discussed two related research projects: Lie2Me and Fool Me Once. In these, I’ve been working with Denis O’Hora, a colleague in NUIG who works in the Psychology Dept. We’re investigating the dynamic body-language features which are apparent when users are lying, and as part of this we had an installation for 3 months in the Science Gallery in Trinity College Dublin.
Our continuing work will, among other things, perhaps lead to useful applications in games artificial intelligence (AI), whereby AI agents can act more human-like, perhaps through mimicry or perhaps through deeper analytical “understanding” of human actions. My related work from 2011 was in the field of pathfinding in my car combat MMO “Darkwind“.
This is a fun little game I’ve been working on part-time with friend and local artist Paul Conway (see DoomCube and The Darkside Detective), with audio provided by Thomas O’Boyle (see Thomas’ Website). The seeds of the game actually came from a GameJam-winning game I made with Paul over a weekend last November.
Demon Pit is a hardcore first person shooter (FPS) of the “Arena Shooter” sub-genre – essentially, an oldschool arcade game where it’s all about skill, reflexes, and learning the pre-scripted enemy patterns. We’ve been making great progress over the summer since we’ve been co-locating one day a week to work on this. Paul has a detailed eye for this game genre (it’s one he’s into), as well as for all things artistic, so this translates to precise instructions for me to implement.
I’ve been using Unity3D for a few years now (and lecturing it to my 3rd year undergrads since last year), so I’m quite adept at structuring things and I’ve learned what to do and what not to do. I’ve learned to hate the horrible archaic garbage collector which Unity clings to, which turns strings in particular into minefields which can stutter your framerates. But it’s generally an excellent game engine.
Demon Pit adds a couple of new features to the FPS Arena Shooter genre – first, we have walls which move up and down during the game, which creates a constantly changing, small and claustrophobic arena. Second, we have a “grappling hook” mechanic whereby you can transport rapidly between a number of “portals” around the arena. I see this as an equivalent to the “teleport” mechanism which games such as Defender and Asteroids had – basically, an escape/panic-button. The grappling hook is more controlled and subtle than this though, and moving swiftly around between the portals while getting in some crafty mid-air shots is a very useful tactic.
Some of the enemies fly, and we have different behaviours here – some are blocked by the walls while other tend to swoop around and over them, diving at you from above. Other enemies are on foot, and one of the technical things I’m quite pleased with is the A* pathfinding implementation which runs multi-threaded and deals with the constantly changing arena by performing a bunch of raycasts after every arena change. I’ve been teaching the A* algorithm to my 2nd year undergrads for the past few years, and it’s something I’ve also worked on previously (see this blogpost and academic paper from 2011).
Another small feature which I’m pleased with is the enemy deployment patterns. Enemies spawn from the centre of the arena and follow one of several visually-impressive procedurally-generated formations such as “Fountain” or “Vortex”. To get these high-speed formations working precisely, I control the enemies kinematically while they’re in formation, and then switch them to normal physics-engine control when they break rank. While in formation I log their current and previous position, which means when switching to normal physics control I can calculate and apply the correct initial velocity to make the transition seamless.
The audio is coming along nicely too (great work from Thomas), and we’ve put in some play-synchonised music, for example an extra-crunchy guitar track which moves forward in the mix during the spawning of a new wave of enemies.