About

I'm a gameplay programmer working in Unity and Unreal. I like building the systems underneath a game, like abilities, AI and combat, and making them feel right to play.

I studied Game Development at IADE in Lisbon, with an Erasmus semester at Cologne Game Lab in Germany. Based in Lisbon, Portugal.

Alongside game development I teach it. Explaining a system to a room of teenagers is the fastest way I know to find out whether I really understand it.

Teaching & education

  • Game Dev Workshop Leader, TUMO Lisboa · 2025 – present
    Unity game development workshops for ages 12–18.
  • Course Author, Universidade Europeia · 2025 – 2026
    Wrote two complete online courses for the Software Engineering degree: Multimedia Computing and Software Reuse.
  • Game Dev Teacher, Sharkcoders · 2024 – present
    Game development fundamentals for ages 4–12.

Projects

Projects I've worked on professionally, at university, and in game jams.

Featured

More projects

Early work

Abomifighters: World League

A 2–4 player arena fighter where every limb you rip off is a new ability.

Role
Junior Gameplay Programmer
Studio
ProudTurkeys (remote)
When
Jun 2023 – Jan 2024
Status
Development stopped
Tech
UE 5.2 · C++ · GAS · EOS
Links
Steam page

What I built

A limb ability knocking an opponent back
Abilities with the Gameplay Ability System

Implemented limb abilities in GAS, including knockback and a distance-based stun, built from Gameplay Effects and Tags.

C++ · GAS · Gameplay Effects & Tags

Multiplayer HUD

Reworked and maintained the in-game UI: a dynamic display of each player's equipped limbs, radial cooldowns and health bars, kept in sync for up to 4 players.

UMG · C++ · Replication

The in-game HUD showing equipped limbs and cooldowns
Abomifighters key art
Networked gameplay

Debugged replication issues across UI, animations and ability execution, and verified the Server and Multicast RPCs and replicated variables the gameplay depends on.

Replication · RPCs · EOS

About the game

Abomifighters is a multiplayer arena fighter built on Lyra in Unreal Engine 5. Players pick up limbs to fight each other, and each limb brings its own skill, so you build your character as the match goes. The in-house MVP was shown at events and to publishers.

← Back to projects

Slimando

A top-down roguelite shooter built around 60+ abilities that combine into synergies.

Role
Gameplay Programmer
Team
2 programmers
When
2022 – 2023
Result
GameJamPlus 22/23 Grand Final
Tech
Unity 2D · C#

What I built

Several Slimando abilities combining on screen
Data-driven skill system

Architected the skill system behind 60+ abilities. Abilities are composed from modular effects, so new ones are mostly data, and they combine at runtime into synergies.

C# · ScriptableObjects · Modular effects

Performance with 100+ enemies

Optimised rendering and particle systems so the game stays stable with over a hundred enemies and their effects on screen at once.

Unity Profiler · Particle systems · Rendering

A screen full of enemies in Slimando
Slimando ability selection
Ability design & balancing

Designed and balanced abilities alongside the programming, wrote the project documentation, and integrated all the game's assets.

Game design · Balancing · Documentation

About the game

Slimando started as a GameJamPlus 22/23 entry and qualified for the Grand Final. It's a top-down roguelite shooter where you build up a set of abilities over a run, and the fun comes from how they stack and combine. It's playable for free on itch.io.

← Back to projects

Ziniax Warriors

A 2v2 sci-fi MOBA with mix-and-match abilities and its own matchmaking server.

Role
Programmer
Team
3 programmers
When
2.5 months · 5th semester
Tech
UE 4.27 · C++ · C / WinSock
Ziniax Warriors gameplay
What I did
  • Implemented a modular skill system: 3 characters, 6 abilities, and players pick any 3, so any character can run any build.
  • Built the matchmaking server in C using WinSock.
  • Structured the game around Factory and Observer patterns, so new characters and skills were easy to add.

← Back to projects

Celestial Odyssey

A 3D elemental action-adventure: astral-project into the spirit world and defeat the 12 Chaos Signs.

Role
Programmer
Team
3 programmers, 6 designers/artists
When
2.5 months · university
Tech
Unity · C# · Windows & Mac
Celestial Odyssey gameplay
What I did
  • Implemented the elemental abilities, where each defeated Chaos Sign unlocks a new skill based on its element.
  • Implemented game mechanics and systems, and integrated assets from the 6 designers and artists.
  • Wrote documentation and worked in a 9-person, cross-discipline team, the biggest I'd worked in at that point.

← Back to projects

RadSquad

A fast-paced precision platformer for Windows, with an Android companion app.

Role
Programmer
Team
3 programmers
When
2.5 months · early university
Tech
Unity 2D · C# · Android
RadSquad gameplay
What I did
  • Implemented game mechanics and systems, including a movement kit with wall jumps, wall grabs, air jumps, slides, dashes and down-dashes.
  • Worked on the character roster, where each character's abilities suit different levels, and the radiation/infirmary recovery loop.
  • Documentation and asset implementation.

← Back to projects

Scrap Bots

A browser-based multiplayer scrapyard game: gather resources, build robots from parts, sell them.

Role
Programmer
Team
3 programmers
When
2.5 months · early university
Tech
JavaScript · p5.js · SQL
Scrap Bots robot building
What I did
  • Wrote the database code and managed the database.
  • Implemented game mechanics and systems: three resource types, part bundles, and robots built from 5 parts with attack, defence and speed stats.
  • Documentation and asset implementation.

← Back to projects

Knightmare

A 2D action platformer about a disgraced knight fighting through a demon-infested kingdom.

Role
Solo
When
2.5 months · early university
Tech
Lua · LÖVE (Love2D)
Knightmare gameplay
What I did
  • Designed and programmed the whole game solo in Lua with LÖVE, with no engine editor.
  • Built themed levels of increasing difficulty, with melee combat and magic abilities.

← Back to projects

Around Us

You're the ship's AI, about to be replaced, and the crew has to go before the update does.

Role
Programmer & designer
Team
5 people
When
Pirate Software Game Jam 16
Tech
Unity · C#
Around Us: watching the crew through the ship's cameras
Around Us gameplay
What I did
  • Programmed the crewmate AI the whole game depends on: the crew go about the ship while you track them through the cameras, waiting for one to let their guard down.
  • Programmed the main scene and worked on the game design.

← Back to projects

SplitSoul

A short top-down horror puzzle story about two people who seem to share one soul.

Role
Programmer
Team
Programmer + artist
When
Black & White Jam #9
Tech
Unity · C#
SplitSoul gameplay
SplitSoul dialogue or driving minigame
What I did
  • Did all the programming: room exploration, a dialogue system, inventory and objectives, and a driving minigame.
  • Built it around the jam theme “Death is a new beginning”, loosely based on a true story.

← Back to projects

Deflecto

An endless top-down shooter where you fight copies of yourself with your own deflected shots.

Role
Solo
When
Mini Jam 111 · 72 hours
Tech
Unity 2D · C#
Deflecto gameplay
Deflecto colour wheel in action
What I did
  • Programming, art and sound effects, solo, in 72 hours (music by Kubbi).
  • Built for the theme “Colors” with the limitation “You are your own enemy”: the opposing colour sends a projectile back where it came from, any other colour lets it pass straight through.

← Back to projects

Hydropop

Click the bubbles to stay hydrated, but don't overdo it.

Role
Solo
When
Trijam #231 · 3 hours
Tech
Unity · C#
Hydropop gameplay
Hydropop during an event
What I did
  • Made the whole game solo in 3 hours.
  • Random events speed the game up or slow it down, and working out what each one does is part of the challenge.

← Back to projects