Design & Engineering!? – Ivo Capelo’s Teesside Portfolio

Here is a collection of my best works during the 1.5 years of doing M.A. in Games Design at Teesside University.


Master Project – Serra


Made with C# / Unity

For my Master’s Project, I attempted to elicit saudade, the ambivalent afflictive Portuguese emotion of longing for what is unreachable. To incite it, I developed a ludo-narrative framework and a 2D puzzle-adventure game, Serra, wherein the player, as a child, grows fond of their grandmother, working together as a traversal mechanic.  Eventually, the Grandmother suffers an accident, causing the loss of a beloved (Narrative emotions) and of traversal skills (Game Emotions), priming the player for saudade.

Playtesting revealed the game hit our planned emotional beats, leaving players with the desired bittersweet emotion, and even contemplation over lost loved ones.


This slideshow requires JavaScript.

Play Serra


Dr.Hink’s Tiny World – Vents Level

Made with Unreal Engine

The entire level was my responsibility as part of the group project for the Advanced Mission Design Module. A series of labyrinthic and claustrophobic tunnels lead way to vents.

The level introduces the shock mechanic where any exposed wire can be shot with liquid to activate, killing the previously introduced ants or causing ticking damage to the player. Vents produce air currents that throw the player upwards, allowing him to escape from dangerous situations.

A gigantic rat serves as a final boss that chases the player trying to attack them. Unlike the ants, the rat is mostly immune to the player’s weapon, only getting slower with each hit. Occasionally it shrugs off the slowing liquid before performing a rush attack. The player must lure the rat close to exposed wires and shock it thrice to defeat it.

My contributions include:

  • Level Design & Scripting
  • Shooting (Used in other levels)
  • Enemy AI (Used in other levels)
  • Boss Encounter
  • Sound Design & creature VO
  • Animated Setpieces.
  • Simple 3D Objects (Excludes enemy models)

Read Vents Level – Pre-Production Documentation


Wizardry VR


Made with Unreal Engine

As part of VR module I designed and implemented the interaction for a Wizard VR experience.  Unfortunately, the corona epidemic cancelled the project with only the technical demo I developed partly finished. Models, animations, and other assets were created by my colleagues,

My contributions included:

  • Movement/Teleportation
  • Wand and Hand interactions
  • Spell Gesture Recognition
  • Wrist-Rotation Menu (Both Hands)


Goblin Ghost

Made with C# / Unity

A puzzle-adventure game where you control a ghost capable of possessing the living to fight through or solve puzzles to find their resting place.

The game’s main mechanic of possession had an interesting technical challenge of managing two worlds – ghost and living – and state machine-like logic was made to activate/deactivate their entities accordingly.

It created the interesting design challenge of balancing enemies against each other rather than the player. This meant balancing speeds, damage, size, and health between all creatures was necessary to ensure a fair experience.

The levels trickle mechanics slowly, with a repeating game-loop, where a new mechanic or creature is introduced and challenged against previously known mechanics. The room tile system was later exported and used in projects such as Serra, with custom A* pathfinding.

Read Goblin Ghost – Production & Design Document


Winds of Magic


Made with C# / Unity

A Shmup with rogue-lite elements where you can rewind Time!

Created for the Advanced Game Mechanics module, significant time was spent designing accessibility features, including:

  • Color Blindness Modes.
  • Color Channel presets for game entities.
  • Custom Input with Presets for keyboard and controllers.
  • One-Handed Assist Mode, where shooting is automatic.
  • Game Speed Sliders.

The game had a big technical challenge regarding moving back time. A simplistic interpolation system was created:

  • Position is periodically stored for an entity.
  • Every time a position needs to be stored, a ratio of movement is calculated in regard to the last stored position.
  • If the ratio is the same, the new position overrides the stored position, saving memory.
  • If the ratio is not the same, a new data point is stored with the new movement ratio.

With this data system, going back only required simple linear interpolations, but ensured fidelity to what happened.

The upgrade system is briefly inspired by Hades, forcing the player into choices after every round, but giving them a resource-dependent window of opportunity to experiment and backtrack, akin to Life is Strange.

Download Winds of Magic

Download Winds of Magic – Design Report


Screw it! (Global Game Jam 2020)


Made with C# / Unity

A QWOP inspired game where you take control of a bumbling assembly-line worker grasping at the right tools for the job.

The game is a fun and challenging 5 min experience with little depth but is still one of my more successful games in terms of scope.

A design improvement would see the garbage box become a permanent staple of the office, as playtesting saw people waiting unfairly for it to appear.

Play Screw it!


Space & Found (Global Game Jam 2021)

Made with C# / Unity

Space, the final frontier… You can’t imagine the sheer number of items people lose.

You have been hired to service a lost and found booth in the middle of cosmic nowhere. Pay close attention to what your alien customers’ descriptions but be careful as their patience runs thin and thieves will lie to get what they want. Be aware, the translator may malfunction and jumble some words.

Made with the amazing, a colleague from past employment.

Play Space & Found


Available for Hire Now!

Download Resume

Skip to content
%d bloggers like this: