Cross-Platform Game Engine


In the first semester of my MSc Computer Science degree as part of the Games Development Architectures module we were tasked to design and implement a cross-platform game engine. A game would also be made using the engine.

The chosen platforms were a Windows PC and Windows Phone 8 device. I decided that considering Microsoft had developed a Universal Application framework for targeting both of these, I would utilise it. This was good from the point of view that it simplified the cross-platform compatibility, but introduced a few limitations (namely having to work with the Windows RT platform and resultant consequences for dealing with inputs via ‘ref classes’ etc.. Coming from experience with Win32 desktop programs, Windows RT feels very different to program for and much less flexible, but then again Win32 really does need some modernisation.


Project Details:

  • Engine coded in C++ (Visual Studio).
  • DirectX11 rendering engine component coded from scratch.
  • HLSL shaders.
  • The Universal App framework used to contain the code solution and deploy to both platforms.

We were given a design specification for a simple game called ‘Tunnel Terror’. It involved the player having to control a vehicle/object through a tunnel, avoiding various obstacles. The speed would gradually increase the longer the player survived and any collisions with obstacles would result in death. Score was determined by length of survival. I decided to add various extras including power ups such as coins and a randomised speed-up/slow-down. The game would need to play on both a PC and Windows Phone 8 device, allowing for the differing input controls to play. I decided the PC would utilise keyboard whereas the phone would rely on the accelerometer (tilt) sensor to manoeuvre the player through the tunnel. The PC also required a 2 player mode. Main menu, high score table and game over screens would be needed as well as Multiple camera modes such as first-person, third-person and death fly-by cameras.


Although marks were given for the game implementation and extra features, much of the module was graded based on the engine design, implementation and accompanying report. My report justified the design based on four principles of games architecture, namely ‘Simplicity’, ‘Reusability’, ‘Abstractness’ and ‘Modularity’. Below is an example of the UML design used for my engines platform independent rendering component, with examples given to how behaviour could be derived for both DirectX and OpenGL.


In the report we also had to research how we would have implemented the game on next-generation architecture such as the PlayStation 4 and how the engine would deal with the addition of different kinds of input devices.

There were some marks awarded for graphics quality and since the target platforms were both Microsoft, DirectX11 was used for the graphics. I implemented normal bump mapping to give it a nice look when flying down the tunnel. I also randomly changed the textures of each tunnel section and reset them to the end of the sequence once passing behind the frustum to give the impression of an endless tunnel with non-repeating sections.2

Annoyingly because the game is a Windows Store application there is no runnable executable so without actually publishing it to the Store and getting past all the certification requirements I cannot put it up anywhere to play! What is worse though is that currently I know of no screen capture software that can even record footage of the game running (at a decent FPS), both Fraps and Bandicam do not capture it since it’s not a desktop application. Bandicam does have desktop capture support but this also didn’t seem able to see the game and is not suitable for high frame-rate applications. So, as it stands I can’t make a video of the game running without hardware recording. Hopefully, this is something that won’t always be the case.

I was very pleased with the final engine and received a 92% grade for the module. I have since improved upon it and reused design elements for subsequent modules such as Real-time Graphics. I think a lot of what I coded for this project will be extremely useful going forward.




Bit’s Blitz – Puzzle Game

Bit's Blitz - Puzzle Game

Bit’s Blitz – Puzzle Game

In the third year of my Computer Science BSc (2013) as part of the Commercial Games Development module, we were placed into groups and tasked to produce a computer themed game designed for children. Each of the group members had to produce a game design document, one of which would be chosen for the group to develop. My group consisted of me, Aaron Ridge, Michael Killingbeck, Andrew Woodrow, Joshua Twigg and Alex Lynch.

The group decided to go with my game design which was inspired by the classic puzzle game Chip’s Challenge, with the idea being to reimagine it and modernise the graphics.

Game synopsis:
 “‘Bit’s Blitz’ is a fun 2D puzzle game following the escapades of its protagonist ‘Bit’. The game takes place across a series of levels increasing gradually in difficulty, gradually introducing new game-play elements. The player controls ‘Bit’ around a grid, constrained by a series of maze-like blocks and hazards. ‘Bit’ must successfully collect all the computer components that are scattered around the level and then repair his computer to proceed to the next level.”

Developed using C# and the XNA framework for the PC platform (Windows XP+).


The nice thing about this game design was that we could focus on the puzzle aspect of the game, time and imagination permitting, due to the simple overhead on technical implementation. The tile-based game engine was written from scratch using XNA, utilising XML data structures to store level data and a custom made loader. A cool and free little program called Tiled was used to ‘paint’ the level layout and export it into our XML format. I’d strongly recommend this to any considering 2D tile-based games for constructing levels, having said that, it’s a nice programming exercise to develop your own editor if you get the chance.

All gameplay aspects including animations and particle systems were programmed for the game, using no other libraries except XNA. I designed the game framework based on the State Design Pattern which worked out really well and continue to use it for game development.

With the use of XML and Tiled it allowed us to churn out level designs at an alarming rate and the final product has over 20 levels! Not bad considering the 2 week development time. When giving the presentation of the game, we literally only had time to demonstrate about 5 of the best levels, odd considering level variety tends to be in short supply for prototypes.

Sound effects were added (free assets) however I’ve removed these from the video and added music since honestly, they weren’t brilliant! The above gameplay video demonstrates various levels (played by me). I could barely remember most of the levels so it’s pretty much a blind play-through with some genuine mistakes.

For the project we all chipped in and the group worked well together. The game was never released or published anywhere, though if anyone is interested I could stick the executable on here for download.

The “dumbing down”of the games industry

Technology has moved on in the games industry, that’s for certain. Hardware, programming languages and business processes have all improved i’m sure many would agree, but does the Nth fold increase in technology also translate 1-to-1 to game play and design?

I’ve been thinking a lot about that question and I’d first like to set some context by going back to a time before PC gaming was conceived or even the first 90’s era consoles were around to change the demographic of the average games consumer forever. The days of the Commodore Amiga in fact is what I want to go back to, an era that few under the age of 25 will have ever experienced during it’s peak. The Amiga i’m confident in saying was massively ahead of it’s time in terms of hardware and gaming innovation, and not just a little bit. Built on top of the great success of it’s precursor the Commodore 64, it’s perhaps unsurprising why the system has such a mythical “stuff of dreams” status now, like did it really happen or was it just my imagination?

A Past Era:

Launched in 1985 (Amiga 1000), specs wise it featured an 8-bit 4 channel stereo sound chip, CPU co-processors (unheard of at the time) and graphics capable of up to 4096 colours at a max resolution of 640×512. These specs were incredible and it took other systems such as the NES or PC DOS gaming over 7 years to get on par with the Amiga. Now it’s all good listing specs but lets put that into perspective by comparing with another system of the day:

Shadow of the Beast – Amiga – 1989

Ninja Gaiden 2 – 1990 – NES

For reasons like the comparison above, it’s startling to me that so few gamers today have perhaps even heard of the Amiga, and strange how the NES and Sega Master System shook the world of gaming forever when they arrived despite being hugely inferior. To me as a kid in the early 90’s, I looked at the NES and thought…whats the big deal, I’ve been playing better looking and sounding games then that for years!  Shrugged my shoulders and went back to playing my dads Amiga 500. I guess looking back I was lucky to have access to an Amiga and be part of the game hobbyist scene back in the day when your average person just didn’t play computer games.

Ultimately hardware isn’t everything and the reason why the consoles made such an impact boils down to price and the fact that children could have one in their bedroom (myself included). Gaming wasn’t just for powerful multimedia systems anymore, consoles brought relatively cheap systems that every family could afford to have and thus marked the final death knell of the Amiga platform by the mid 90’s. Commodore had squandered a huge technological advantage for years and it’s failure to react to rising competition brought it to it’s knees. It’s also worth noting that as a games platform the Amiga was massively successful in the UK and across Europe, but did less successfully in the US primarily due to a larger interest in the Japanese arcade gaming culture rather then home computing. Thus the majority of Amiga games (of which there are literally thousands) were made in Europe and in fact the UK pioneered much of the games programming advances of the age that led to some greatly successful games. British studios like Sensible Software and the Bitmap Brothers, and publishers like Psygnosis are legendary and we owe them a lot for what they achieved back in the day, much of which is taken for granted now and forgotten as the fast moving games industry moves ever on like a enraged bull, never stopping to look back at lessons already learned decades ago.

Chaos Engine – Amiga – Bitmap Brothers – Subtle complexities to a simple game

The Stifling of Innovation and Creativity:

To the topic at hand and the question I started the article with. Has game play and design regressed since those days and if so why? Bluntly and unequivocally yes in my opinion,  but the why of it will take some explanation. To understand why you have to look into the past of gaming hence my above context on the Amiga, it’s unavoidable and not simply nostalgic musings. It’s the logical thing to do when analyzing something that has been great in the past, and has become less great over time. As admitted, graphically things have improved, but the root of problem is something that has caused a stifling of innovation leading to regurgitation of the same copy-cat game over and over with different artwork for years on end. The end of the 90’s was perhaps the last true great period of games innovation and creative freedom that professional games developers had. You only have to look at the quality titles released on the PC between 95 and 99 to realise this.

I’ve researched various articles and read interviews featuring leading people who worked in the earlier days and you see similarities in how they view the industry and how it has changed for developers. The core of it seems to be due to the refusal of the increasingly powerful publishers to fund games that at not a 100% safe bet (Call of Duty, Halo etc) and this has led to a massive drop in innovation that is only now perhaps being turned around by the injection of new creative blood by the Indie developer scene. Fueling the increasingly tight and controlling grip of publishers is the increasing vast sums of money that the industry now generates. Many people ARE aware of the lack of innovation but perhaps feel that there’s just no ideas left? Well there’s plenty of ideas around, the problem is that no large publisher would touch it unless it’s proven and that’s the crux of it.

Populous 2 - Amiga - Bullfrog

Populous 2 – Amiga – Bullfrog

John Hare, a founder of Sensible Software (one of the biggest and most successful games company’s of the 80’s and early 90’s) gave a frank and interesting interview on You Tube where he discusses that during those days, publishers were happy to have talented people on board and they pretty much left you to make what you were passionate about and encourage you to push your creativity. It’s not surprising then that if you were ever motivated to go back and play Amiga games now and get over the aging visuals, you’d find a myriad of game genres, some still today undefinable such was the creative freedom back then. This issue of publishers forcing developers to copy existing games, adding just a new paint job is paramount to what is holding back the games industry in my opinion. Yes there’s Kickstarter and Steam Greenlight and they are all well and good, but I feel that the large publishers need to have a dramatic culture change if were are ever truly going to return to a golden age of innovation in game play concepts, design and execution. Perhaps the Indie scene will be the catalyst that fuels the publishers to change and allow more freedom to professional studios?

While the Amiga had it’s day, its fair to say that it was a very 2D orientated  platform and with the coming of 3D and it’s dominance in professional studios it’s not surprising that small man teams of maybe 3 or 4 can no longer produce the par standard graphical expectations in games expected for modern AAA title publishers, whom require dozens of developers and artists and millions invested to produce some of the photo realistic wizardry modern shelf titles feature. But are the incredible graphics and animation a fair trade for the disadvantages it brings?

Level design is something that has most certainly suffered from the introduction of vastly detailed environments now expected in any FPS game. It’s a simple matter of complexity, the more you introduce into a scene, the longer it takes to produce. The longer it takes the less time you have to make complicated and intelligent level design. Thus many “on rails” shooters are just that, a monorail ride with the occasional dead end to “confuse” said player and following satellite navigation way points that show up on your automap, even if the game is set in a medieval fantasy universe *cough* Skyrim.

Personally speaking photo real graphics are not a fair trade and ultimately it’s the game play that keeps you playing a game long after you’ve become desensitized to the pretty visuals. Many hugely successful Indie titles have shown this, surely it’s time for the big AAA studios and publishers to say “let’s strip down the cluttered visual complexity, take a risk and focus on game play “. Wouldn’t that be something? That and actually playing games rather then spending 30% of your time watching dialogue cut scenes. At times I think games have forgotten their roots in the arcade, and have borrowed far to heavily from Hollywood.

A change in audience & social gaming:

Another key factor in the the evolution of the games industry is tied with in turn the evolution of it’s audience. Back in the Hobbyist days of gaming, a period i’d widely class from 1980-1999, most people who sat indoors playing video games were looked at a bit strangely. They were geeks, nerds, predominantly male and it most certainly wasn’t a cool thing to do. They were probably above average at school and i’d be as bold to say statistically more intelligent or at least have an intrigue in things they didn’t understand. This would manifest itself in a way that if you presented a challenging game to a geek, they would be much more likely to try and figure it out and spend time trying to overcome the complexities, like a piece of homework or a maths question. A less motivated individual with less intrigue would put the game down, upset about it being too hard and never play it again. Therefore the audience in a nutshell back then was more mature and forgiving about games and it allowed a degree of freedom to developers to really go to town on sophisticated game play elements that would take time to master and learn, but ultimately paid off long term over simple repetitive games.

Now as pretty much most are aware, nowadays games on the whole are streamlined and simplified for the new average audience demographic, whom is not a geek, nerd or in fact *shock* actually male. Social gaming has brought women into the gaming consumer audience and rightly so, women should be part of it. Men too have lapped up the new social gaming phenomenon but irrespective of gender which is irrelevant, the key point is that the “nerd gamer” is no longer the average demographic and thus games are now being effectively aimed at less patient, casual orientated “non-gamers”. Social games are not games in their truest purest sense, they are not escapism, or adrenaline pumping or a visual feast or inspiring, they are simply a feedback-response stimulus loop that passes time for the bored individual. Engineered game play featuring staggeringly simple repetitive tasks with a carrot style reward at the end. Real games ARE more then that aren’t they? I think so.


The whole evolution of the industry is a double-edged sword. It’s not all bad certainly, there’s never been an easier time to get into the games industry and there’s certainly a lot more jobs around with better pay then there used to be, however along with vast sums of money has come the bureaucracy that is rife within what is essentially a creative industry and there are startling parallels with the movie industry. Like with games, the increasingly powerful few have begun to control too much of what directors make and the many unneeded remake movies are effectively synonymous with the copy-cat games made today in the games industry. But, I wont lay the blame just on publishers. John Hare mentioned something regarding the fact that the industry is saturated with content and most of it not good or to a high enough quality. This waters down the expectation of what a good game actually is, and with more and more game developers coming into the mix this could spiral further. His solution? Less developers/designers and who are to a higher standard. Is that the answer? I’m not sure but poor games will in-turn inspire more poor games, it’s a vicious circle that we must break and ultimately in my opinion it should start from the top AAA studios and work it’s way down, not the bottom up.

It’s a topic I feel passionate about and there’s no easy answers but that’s my take on it and an opinion from someone who has played far too many games over the past 29 years and hope to influence the games industry in some way (even if just a nano) by making games myself. I hope that in time, developer creativity will flow however it wants wherever it wants and only our imagination will limit where games can take us.

Lemmings – Amiga – DMA Design

Diablo 3: My thoughts on the series

My Collection: Remember when game boxes were massive?

So it’s 1996 and my dad rushed out and bought Diablo. At the time, it was praised for it’s re-playability factor due to randomised loot, mobs and dungeons and also it’s great story narration and eerie atmosphere. Although marketed as an RPG at the time (something that has long since been dropped), it wasn’t in the traditional sense and really it was simply an action game with an inventory and some  NPC dialogue. I remember it’s sales slogan to this day, “Diablo, one Hell of a role-playing game”. Anyway, It was indeed awesomely addictive and fun and did manage to scare the shit out of me as a kid. 16 years later Diablo 3 is finally released, and boy does 16 years fly-by!

The idea that Diablo was originally based on is derived from the old-style MUD games (Multi User Dungeons) which were technically the worlds first MMO games and on the whole contained no graphics, simply a command based chat room with multiple players venturing co-operatively through a text adventure game. Single-player games spun-off from these with basic ASCII graphics such as Angband and Nethack and these games really ironed in the concepts that the Diablo series has always lived by: procedural level generation, randomised mobs/items, and of course item identification and lots of stats and inventory management. Even the Diablo hardcore mode where if your character dies, it’s permanent  heralds back from these games which were and still are brutal, challenging and mercilessly unforgiving to play. The best article I ever read on them can be found here: , a very entertaining read if you have the time.

Diablo 1

The best thing about Diablo to me was always the atmosphere. The first game and to some extent the second always had this impending sense of dread hanging over you when you were playing. A lot of this is thanks to brilliant music and sound, Diablo’s famous Tristram theme to this day, one of the best original pieces of game music ever created:

Like the old 70’s horror classics, Diablo seemed to be able to do more with less and today of all the games in the series, it has in my opinion the darkest feel and most original atmosphere. I still remember the meat cleaver wielding Butcher, the first demon boss you come across that in comparison makes Diablo 3’s first few bosses on normal difficulty look like wet paper bags. The levels were strewn with dismembered and impaled bodies that added to the feeling you really shouldn’t be here and in every unexplored corner there could be lurking something sinister. You’d then inevitably be required to return to the village of Tristram to offload your inventory and buy supplies, in utter contrast to the depth of the cathedral you were descending you’d be back in relative safety chatting to the NPC who were scared out of their minds due to things dragging them from their beds at night and unearthly things being seen in the graveyard. You’d then pluck up the courage to return back into the depths where death invariably awaited you due to the fiendishly hard difficulty.

The good thing about the old style large game boxes as pictured above were that they also used to include nice thick instruction books. There’s a whole section of the Diablo 1 booklet outlining the lore and back-story of the game and to this day it’s still a damn good read, much better then anything that was actually in the game and It’s really quite sad that games don’t do this anymore…

Diablo 2

Diablo 2 was incredibly hyped upon release because by this time in 2000, Diablo had already developed a large cult following and Blizzard mania was beginning to ignite off the back of the successful Warcraft and Starcraft RTS franchises. Diablo 2 is arguably the best Diablo game to many people and will likely remain so, for the very simple reason that the game-play was polished to the Nth degree and had a military mirror shine to it. It was as perfect in terms of balance, complexity/simplicity as the series was going to get, with skill trees, manual stat allocation (not automated like D3) and nice archetypal classes such as the Paladin, Necromancer, Barbarian, Amazon and Sorceress. It was also very challenging straight out the box like it’s predecessor.

Instead of everything in the game being based around the village of Tristram, it introduced multiple geographical locations to the series and I remember it being the first time Blizzard took the effort to produce it’s now trademark stunning cinematics to help the story telling. Again, the atmosphere was there and although certainly having a different feel to the first game mainly due to much less claustrophobic environments, it retained the ambiance and interesting story of the first.

Diablo 2 had a great selection of character classes…

Diablo 2’s longevity was largely owed to it’s huge multiplayer following. Even 16 years after it’s release it still has a huge player base by many PC game standards. Game matchmaking in Battle net was setup in a social/chat room style interface and encouraged a large community to develop. Logging into Battle net for Diablo 2, the chat screen would be flooded by players trading rare items and arranging co-operative games with friends and strangers alike.

Which brings me to Diablo 3. D3’s implementation of Battle net in contrast introduces the item auction house akin to WOW and removes the game selection ability, instead opting for the now fashionable auto-matchmaking. The result in my opinion is a much reduced social and community experience. The good thing about the new system is that it means casual players who don’t want to farm for rares have a much easier time getting better items and the interface is clean and simple. In general, as with the whole games industry trend, D3 is more friendly, less hardcore and yes “dumbed down” is probably the most appropriate phrase to use.

Diablo 3: My Barbarian

The auction house also has I think unexpected consequences for the game-play. The whole carrot-stick approach to Diablo’s gameplay over the years has been about getting that next awesome item that will make you stronger. By giving players an easy option to simply go on the auction house and buy awesome items, you find that after a while everything that drops in the game is always going to be inferior to what you have 98% of the time. The games randomised loot mechanic cannot compete with giving the player the ability to go and cherry pick the very perfect item they want for their character at relatively little cost. As a result, the excitement of seeing items fall to the ground from killing mobs is greatly diminished. Yes you may choose stoically to abstain from using the Auction House but then you will soon become irritated by other players being so much better equipped then yourself.

This brings me next to the difficulty issues of Diablo 3. With each completion of the game, a new difficulty mode is unlocked, sequentially this goes from Normal, Nightmare, Hell and Inferno. Additionally, items that drop at the start of Act 1 Nightmare will be as good as at the end of Act IV Normal and new and increasingly powerful items come into the game as the difficulties progress allowing you to carry on developing your character with each play-through.

Normal is quite simply a walk in the park and offers no challenge to the extent it is almost a pure story-telling experience with little consideration required to kitting out your character correctly. Nightmare fairs little better and is still easier then both Diablo and Diablo 2 on their default difficulties. Things begin to get interesting on Hell but not because the average mob appears any tougher, only down to the fact that Champion mobs are buffed to an insane extent. So on Hell the game is very easy until you come across champions and then it gets hard as hell. Insane is apparently just literally that, with normal mobs able to one shot your character.

This is obviously bad difficulty design and the whole experience curve in my opinion needs fixing. You should not have to play through a game THREE times to get to a point where a game is at the same level of it’s predecessors’ and then on the fourth difficulty be one shot by everything. I think clearly Blizzard will be looking to address this issue.

D3’s cinematics are awesome in usual Blizzard fashion…

The atmosphere and artistic direction that Diablo 3 has used has caused a lot of controversy. Upon the release of the first screenshots there was an outcry at the apparent colourfulness and almost WOW style to the lighting in the game. Diablo 1 & 2 were characteristically known for being gloomy and dark and D3’s sudden art direction shift angered a lot of fans. Already there is a mod called Dark D3 that allows you to use a custom shader to change the graphics of D3 to something similar to that of the previous games: . I must say I prefer grittier and gloomier graphics, I just fits the depressing tale of the Diablo series better, however where D3 has excelled is with the ability effects and animations.

Atmosphere has unfortunately been lost in the transition from D2 to D3 and the music is also not on par with the previous games (The composer of the original games is apparently been working on Torchlight 2 instead!) though the soundtrack is still certainly good. Related to the atmosphere is a rather weak storyline. I’m a big fan of the Diablo lore and was disappointed with some events that transpire with key characters. Without making spoilers I’ll just mention Tyrael, Cain and Adria who were amongst the most interesting and iconic characters in the series are treated rather poorly by the story line in D3. Additionally the ending is far too happy-ever-after and worst of all, the game has lost probably all of it’s eeriness or sense of foreboding mainly because the bad guys in the game go out of their way to laugh manically like bond villains and continuously feel they need to taunt you with cheesy B-movie style threats. In my opinion you shouldn’t hear from certainly the prime evils until the finales and even then actions speak louder then words, cut the childish dialogue please, it’s not in the least bit scary. Amusingly I found some written orders by Asmodan on the body of a demon and when reading them Asmodan actually reads the dialogue… It’s just ridiculous, demons would not scribble down orders, I don’t know why I know that but I just know they wouldn’t, they’d use telepathy or some dark magic to communicate their malign intent but they wouldn’t write a journal of their plans!

I’ve grumbled a lot about Diablo 3 here but in reality I love the game to death. I’m currently at lvl 59 with my barbarian on Act 3 of Hell difficulty and have really enjoyed playing the game. I’m not usually the kind of person to be able to just sit and play a game start to end repeatedly yet with D3 I have done just that. Yes it’s Diablo and I think I do have a particular love for this game type but even though I have finished the game 3 times now with my Barbarian I’m already looking forward to trying it through with the Demon Hunter class.

I think this is testament to why Blizzard are amongst the best game developers out there. They may not innovate the industry but my god do they know how to make a good game with addictive gameplay and achingly satisfying aesthetic feedback. I doubt I’ll ever get bored of bull-rushing my barbarian into a pack of critters whirling and dicing with my axe, the crackling of electricity, splitting skulls, limbs soring into the air and mists of crimson puffing from amongst the carnage, followed by a buzz of excitement from expectedly waiting for rare items to drop in the aftermath. No one does it better.

Yes the story line is a let down, the difficulty is not right and there’s a few itemisation issues that need addressing but on the whole it’s still a damn good game and very fun co-operatively or in single-player. People have moaned about the online-only issues relating to needing to be connected to Blizzards servers to play, yes it’s constricting but it’s not going to change and although it is very annoying when servers are down or full, when their up and open it’s a really quite transparent experience to the player. Given the choice, I’d likely be playing online anyway so I can play with other people, so personally I’m not too bothered about it.

The Diablo series as a whole is iconic and hopefully will be around a long time to come, Blizzard know when a formula just works and that’s why at a high level, game-play has remained very similar throughout the series. It’s an awesome series and I’d strongly recommend people who haven’t played either Diablo 1 or 2 to give them a go along with their expansions at some point.