James Hardy

My Work

RuneScape & Old School RuneScape

Released in 2001, RuneScape has been one of the largest names in the MMORPG space for over 20 years. It sees players travel the medieval fantasy world of Gielinor, completing quests, slaying mons...

Some work I did

University - LOD & Tessellation

I studied Games Programming at Bournemouth University from 2014 - 2018, and my final year project was focused on level-of-detail (LOD). LOD is the name for a group of techniques used to optimise th...

Some work I did


Unity - Mesh Slicing

A while ago one of my friends had an idea for a 3D game where you can only see parts of the world at once. Think of a volume, like a cube, within which the world exists and is visible, but outside ...

Slicing a mesh with a plane in Unity

Reverse-Engineering an MS-DOS Game

My favourite game of all time is Ultima Underworld, a first-person RPG set inside a massive underground prison known as The Stygian Abyss. It was released in 1992 for MS-DOS, and I remember being...

Attempting to disassemble the 1992 game Ultima Underworld

Porting a 40-Year-Old Board Game to Unity

A few years ago I was introduced to the 1981 board game Dark Tower, developed by Milton Bradley, which describes itself as “a fantasy adventure born of electronic wizardry”. In the game, up to fo...

Porting the 40-Year-Old Dark Tower Board Game to Unity

RuneScape - Smooth Movement

Back in late 2019 I worked on an improvement to the motion of player characters and NPCs in RuneScape. Players and NPCs in RuneScape are aligned to a grid, and have historically moved in straight l...

How this website was made

Unity - Animation-synced movement

I’ve recently been working on a side project with a couple of friends using Unity. It’s a hand-drawn game that takes place inside a cosy cafe in a small town populated by animals. It’s slow-paced, ...

Synchonising character movement to sprite animation in Unity

Making a Portfolio and Blog Website

Hello! If you’re reading this, you’re looking at my shiny new website. I built this website with two purposes: as a portfolio to showcase my work, and as a blog for me to share things of interest a...

How this website was made