Visit the About Me page for more extensive information on my current projects and experience


My name is Michael Parkin-White, I am a 19-year old programmer primarily interested in video game development and graphics programming. I am currently studying Computer Science (MEng) at the University of Bristol.

I am interested in video game development and am a co-founder of MantaGames, our current primary project is Vitality, a 2D sandbox survival game. Vitality is a commercial project, and we have been greenlit on Steam, so the game will be distributed on that platform when it is complete.

Aside from my main project, my research interests revolve around 3D graphics programming. I find shaders and graphics techniques interesting and enjoy the challenge of bringing new visual effects to life. As a result, I am also in the process of working on a simple 3D level editor, rendering pipeline and all-around 3D game engine to learn about different aspects of game development.


I started programming in 2007 using a program called GameMaker 7, since then I have worked on a number of projects, both small and large and have come into contact with many other areas of programming.

I am most experienced in using GML (GameMaker language – a scripting language used inside the software) and consider myself totally fluent in the language. I tend to use GM as a base for game projects as it is a fantastic way to prototype games; the software also provides a feature-complete toolset for 2D game creation, and a decent-ish base for simple 3D development.

I have also worked with other programming languages such as C#, PHP, Java and C++ (Along with some limited experience in Haskell, C and Javascript). I have worked on a few websites over the years, including:, and this website.


Game Development and design – GameMaker / Java / C#
OO Programming – Java, C# and C++
Website Development and Design – PHP, HTML, CSS, Javascript
Shader Programming – GLSL ES / HLSL9


Game Development and design – GameMaker / Java / C#
OO Programming – Java, C# and C++
Website Development and Design – PHP, HTML, CSS, Javascript
Shader Programming – GLSL ES / HLSL9


In early 2014, I became interested in graphics programming. Prior to starting work with shaders, I had never fully appreciated the actual process of rendering 3D graphics to a scene. Nor did I understand anything about how effects such as lighting, shadow mapping etc. worked.

I began experimenting with shaders on the side, and learning a load of maths at the same time. At the start, I didn’t really understand what I was doing, shaders were a whole new paradigm that I had never previously touched.

One of the first significant effects that I managed to get working, was basic frustum-projection shadow mapping. Getting this working helped me gain insight into the process and I was eager to learn more.

I did not do much more with 3D shaders as I put every bit of free time I had into working on Vitality though after I started University, my interest in shaders was re-kindled.

I poured many hours into reading papers online and doing research into a number of different effects. I began work on a Screen space ambient occlusion shader with Andrew, and for weeks, we couldn’t get the effect to look good. After the third re-write, we managed to get the effect working, and Andrew wrote a bilateral blur shader that helped solve some of our previous problems.

Following the completion of this shader, I began to look into a number of other effects. The first thing that jumped to mind was cascaded shadow maps. I had heard of them before, but had never truly understood the theory behind them, I still get the idea that half the people who write blogs on shaders, have no idea what they are talking about (myself included).

After wading through paper after paper, the theory clicked, and it only took a few hours before I had a fully functional demo up and running.