About

I am currently studying MComp Games Software Development at Sheffield Hallam University, focusing primarily on application development in C++, with experience in graphics programmingscripting languagesVCS and web technology. In addition to studying I am currently working freelance on a variety of projects. Last year I spent on placement working at SN Systems (Sony Computer Entertainment Inc.) working on compiler, debugger and profiling technology for Sony Playstation 3 and Sony PSP. In my spare time I enjoy playing drums andsnowboarding!

Click here to see my portfolio. Alternatively, download a PDF copy of my CV here.

Key Skills & Experience

After studying game development and C++ academically for two years, I was lucky enough to carry out my work placement at SN Systems (Sony Computer Entertainment Europe). Below I have given a brief explanation of the work I was involved with on each team I visited within the company.

On the Debugger team I was mainly responsible for developing a generic branching test suite (written in C#) to thoroughly test the branching capabilities of the SN Systems Debugger. The system I designed allowed members of the Debugger team to write hardware agnostic branching tests (written in XML) which were translated by my application into target specific branching instructions (PPC/MIPS/Other), and finally injected and executed on the target hardware at runtime. The results generated by the tests were integrated into the CruiseControl.NET build system.

On the Compiler team I began the interesting challenge of porting Motorstorm Arctic Edge between the GCC and SNC C++ compilers. After this I began working directly on the SNC Compiler source code, rewriting the internal trace/logging system. This involved writing my own lightweight XML library and re-factoring the existing internal logging system to write more structured hierarchical logging data. I also developed a complementary GUI tool which read in the new log data, allowing for searching, tree traversal, node highlighting, name demangling and also produced visual graphs which could be exported to Jpeg/PNG. I was also tasked with ensuring the GUI application ran smoothly on a popular linux distribution..

The most rewarding project I worked on involved the SN Systems Tuner application. I first redesigned a small section of the frame capture GUI to make syscalls and thread switches more visible which involved a lot of prototyping and discussion. I then moved on to write a bottleneck detection module in C++ which analysed PS3 target capture data and integrated warning icons/tooltips into the frame capture data, allowing the user to pinpoint the exact location of any potential problems. The work I carried out went on to be fully integrated into the latest version of SN Systems Tuner, currently available on DevNet.

Towards the end of my placement I was offered a position working for SN Systems which I declined in order to return to my studies.

Steel Minions

I was recently involved in developing a PSP game for one of the modules on my course. I was assigned the role of producer and programmer, working alongside two other programmers and two artists. We all brainstormed ideas for a potential game and in the end, my platform/puzzle based game concept was chosen to be taken forward into production. The game concept was pitched to a representative from Sony Computer Entertainment who provided us with some excellent feedback prior to the games development.

When the game entered development we had no existing technology/tools other than the PSP SDK and documentation. I began work on a simple game engine library to allow for rendering, simple physics and 2D collision detection, transformations, sfx/music, input handling, GUI elements and basic particle effects.

I also worked on a GUI level designer (written in C#) which allowed the level designers to quickly produce complex levels for the game. This GUI tool was also responsible for converting all art assets to work with the PSP pipeline. The other two programmers used my library to program the main game as I worked to meet any requests and fixes they required. As producer I was also responsible for solving any disputes and conflicts in the team and making sure that all milestones were met on time.

For the last 4 years I have worked on a freelance basis for a variety of companies including Kineo, The Buzzz, LLAS and Sheffield Hallam University, working on a number of projects (mostly working with html, css, b,  adobe flash, jQuery, asp.net, python etc).This work has often required me to work in a very agile way, being thrown in at the deep end on an existing project to fix a technical problem or develop a new feature in a new language / platform.

Throughout the course of self-employment I have also had to personally consult companies such as Halifax Bank (HBOS). Most Recently I worked on an in-browser supermarket data visualisation tool for a local marketing company, utilising jQuery and SVG web technologies.