I'm a Programmer
I'm a programmer based in Dundee. My passion is everything games! From the low-level engineering, to simply doing game jams non-stop.
I simply love learning, which is why I struggled choosing a career for a while. However the pursuit of problem solving and self-improvement doesn't really ever end, which is why programming has been my passion for the past 5 years!
I'm a massive believer in mixing creative and technical, which is why i've learnt and done 3D/2D art, music and sound, animation, producing, level design, and more. I thoroughly enjoy them and they've let me become an asset to any team I join, as I have the multi-disciplinary knowledge and experience to help, understand, and communicate with other team-members.
My main programming strengths lie in C++, graphics, networking, and gameplay programming. I like to delve deep into these areas, to get a deeper set of skills and knowledge.
-
My love for Networking started with my game Treasure Hunters, it was my first long project and a real pain, but surprisingly I loved doing networking, architecturing a strong gameplay network and debugging networking issues was unlike anything I had done before.
-
I've gained an immense amount of respect for graphics programmers, after doing my 3rd year module on graphics, and delving deeper into graphics with my honours project. I realise it's a black hole of knowledge that has an unfathomable size, and like a black hole it draws me in, it keeps me curious and exploring.
-
I've often created a lot of gameplay features in the games I've worked on, I've always strived to make them as designer friendly as possible. I really like weaving in this particular section with other areas, like networking, animation, and sound.
My ultimate goal is to be running my own games studio.
However I know I can't do it alone. I want to learn from the current industry, which means working in it.
My journey has led me to pursue roles for:
-
Graphics Programmer
-
Gameplay Programmer
-
Network Programmer
However I'm very interested in doing other roles such as Tools Programmer, Technical Artist/VFX Programmer, Audio Programmer, and Animation Programmer.
I imagine myself going into these roles further down the line.
My Journey
I would say I've gone a long way from where I came. Not knowing what I should be doing in S5 of highschool, to, doing an voxel octree renderer for my honours project, with 30+ projects under my belt.
Below is a comprehensive list of all the games/programming projects I've worked on. I've learnt from every single one of them, taking a bit of new knowledge from each failure and each success. I wish I could say I make perfect games and projects now, I believe I'm still far away from that.
As a bit of perspective on what I've learnt over the years and what I could improve on.
-
For jams I'm really good at getting something working quickly and pretty robustly. Making prototypes is probably my strongest skill.
-
However, I need to understand that prototype systems cannot be used for future works, I too often keep prototype code and expand on it for the full project.
-
-
For larger projects, I'm really good at debugging and working with code that is not mine.I'd also say I make it easy for other people to interact with the tools I create, and integrating other peoples work. I've often had to work with creative people that don't necessarily know the engine so the responsibility to get their assets in the game usually fell on me.
-
However I struggle with over-engineering systems, sometimes I make stuff do extra things that it doesn't need to, I really need to hammer this down because it's the one thing that makes me waste time.
-
Left being my older work. Right being my newer work.
Please check out my Projects section to see my best work and a bit more information on each of them.