Interface

Basic use of an array to store the seven glyphs and a single for loop that creates the keys’ rectangles at runtime for collision checking with the mouse cursor. The keys were created with the same loop and the colour chosen based on the outcome of a nested ternary operator.

ring

The glyphs are scaled down from 16 x 16 pixels to 9 x 9 pixels to fit on the edge of the ring. They’re placed at a rate of $\frac{a'}{\left(39/2\right)}\pi$, where $a’$ is the adjusted angle with the rotational offset having been added on. This creates the rotation of the glyphs and the original angle is used to rotate the glyph around their origin to add to the effect. When the target glyph has been reached, a timer counts down from two seconds before switching direction and repeating the process. The formulas are as follows:

Stargate Test

$$a=0\le a\le38 \\ ringRot=-38\le ringRot\le38 \\ a'=a+ringRot \\ offsetRad=\frac{a'}{\left(39/2\right)}\pi \\ glyphRot=-a$$

Puddle

This was originally intended to be a shader but I had trouble passing noise values so it’s just a procedural texture. The values are generated by my C# port of Kurt Spencer’s OpenSimplexNoise algorithm, then parsed through a switch statement to give it one of four blue colours. The animation is created by travelling positively through the Z dimension based on the total game time in seconds. Since the texture is a rectangle, only pixels in a given radius are given values, the formulas for this are as follows:

$$r=\sqrt{\left\lvert\left(x-\left(3.5\times16\right)\right)^2+\left(y-\left(3.5\times16\right)\right)^2\right\rvert} \\ rMax=\sqrt{\left(1.75\times16\right)^2+\left(1.75\times16\right)^2} \\ r\le rMax$$


Logo.png

Story

You've learned that His Lordship's strongest supporter is Lady Tudor. However, three women in the Tudor Family are referred to as Lady Tudor: The wife of the late Lord Tudor and her sisters. You're being sent to the posh Tudor Estate on the night of a costume party in order to determine which Lady Tudor you must eliminate.

Description

Last Party is a demake of Arkane Studio's Dishonored, more specifically the mission Lady Boyle's Last Party. The game has been made with the Game Boy Advance in mind, with its 240 x 160 resolution and four button input (A, B, L and R). The graphics can be switched out and the map is fully editable for custom levels but the targets and their hints have been hard-coded.


Story

One atom versus another, push each other into the atomic waves to gain electrons. Who will win?!

Description

Molecumulate was created for Aardvark Swift's Grads in Games competition, known as Search For A Star 2017/18. Given a base template of two capsules on a platform, we were told to adjust the existing code to make a complete game.

I took this idea and made a point-collecting game where players must knock each other off the platform into the "water" below. The players are atomic nucleai and the points represent electrons which increase the radius of the player's collision sphere every eight points.

RocketLeague 2015-09-11 19-01-08-350.png

RocketLeague 2015-09-11 19-01-08-350.png

Story

In a cave in the deepest part of Canaan lie abominations of the Sons of God and the Daughters of Man. Who shall dare try to rid the land of their kind?

Description

Nephilim is a text adventure game created as part of a university assignment. It is a simple Console window which makes use of rudimentary class inheritance. Never the less, it was one of the few examples of a complete game on my portfolio at the time.


Description

KAGE was conceived out of a practical test for a potential placement year. The shadow enemy was based on my finding that in Unreal Engine 4 you can render a shadow but not the mesh, thus giving us the name for the game as well; kage (kah-geh).

In Japanese, the word kage means:

  • shadow; silhouette; figure; shape

  • light (stars, moon)

  • trace; shadow (of one's former self)

With this in mind, a second enemy was created made entirely of burning light to contrast the shadow enemy wandering the level.

RocketLeague 2015-09-11 19-01-08-350.png

Kage (かげ)