I’m currently working on this personal project in my free time, in C# with Unity 5. It’s a doorman/bouncer simulation comedy. The game is being created primarily in code alone, rather than relying on Unity’s inbuilt systems. I find it more enjoyable working at the code level and I find a project easier to manage. This demo showcases the basic functionality developed so far. I also created the art and sprite animations for this game.
House Robot is a 2D game I’ve been developing for the final year project of my degree. It’s being created to accompany a dissertation I’m writing on Dynamic Difficulty Adjustment (DDA). The dissertation has a strong emphasis on AI behaviours and pathfinding, which certain implementations of DDA concerning opponent modelling rely upon. The game was written from scratch in C++ using the DirectX9 libraries for graphics. It utilises multi-threading to optimise performance with regards to pathfinding algorithms.
I also recently converted the C++ code into Java using Android Studio and managed to get the first prototype working on my Android phone device. This was fairly straightforward given the similarities between C++ and Java. The only challenging aspect was rewriting the movement controls to use touch-screen instead of keyboard input.
GitHub: HouseRobot-2D-PC | HouseRobot-2D-Android
For one of my degree modules I was tasked with developing a game in a popular game engine such as Unreal Engine 4 or Unity. This was a team project and the team voted for a horror title using UE4. My role was programmer, though due to my teammates being unable to contribute for various reasons I ended up making most of the game demo myself. For this game I wrote classes in C++ as well as utilising the blueprint scripting system.
I’m currently working on a simple Hangman game using Assembly Programming, specifically MASM/WinASM. The purpose of this personal project is to develop greater familiarity with x86 architecture and low-level programming. While I would be unlikely to develop a game in Assembly in a real-world scenario, the experience will positively influence other areas of my practice, such as optimization and debugging techniques.
For the 3D Games Programming module of my degree I wrote a basic 3D game engine in C++, using the DirectX9 libraries. I also wrote classes for basic AI behaviours such as seek, flee, hide and a flanking attack. I also wrote a basic dialogue system. I then implemented these features into a prototype game demo.
In order to gain familiarity of Unreal Engine 4, I was tasked with building a prototype of some specific FPS game mechanics. To program the demo I used the engine’s blueprint scripting system. The assets used were primarily default assets included with the engine, as the demo was exclusively focused on the programming aspect of development.
When I first started programming in C++, one of the first games I wrote was Blackjack as a text-based Windows Console Application. Back then I was eager to start learning about graphics so I could recreate the game with actual 2D images. Later on when I started learning about DirectX, I did just that and created Blackjack 2D as my very first game with 2D graphics. It had a card class, used by containers for the card deck and hands, as well as a basic AI player.