Tiago Félix

Gameplay Programmer & Technical Game Designer

I built a Unity level editor so I could change a dungeon and play it straight away. Now I’m working on Bencci, where I program networked combat in Unreal/C++. I also study how changes to game rules show up in play.

BSc in Computer Science & Engineering · MSc in Game Design and Playable Media in progress

Dungeon Wipe gameplay: a wizard in a stone arena built from the in-game level editor.
Based in
Portugal
Engines
Unity / C#, Unreal / C++
Shipped
Playable browser build
Published
ICEC 2024, first author

My GitHub activity

Some of my work lives in private repositories. This is what appears on my public profile.

792 contributions in the past year

5 Nov 2025 – 4 Nov 2026

Select a day to see its contributions.

Less More

Use the arrow keys to explore days. Scroll sideways to see the full year on smaller screens.

Selected work

My released Unity games and the Unreal combat prototype I am building now.

Browse all projects

Research and game balance

ICEC 2024 · Springer LNCS 15192 · first author

Dungeon Wipe: Exploring Dynamic Difficulty Adjustment with Power-Up Mechanics

The game reads health thresholds to decide potion support and leaves enemy count, damage and behaviour alone. A Monte Carlo simulation over 5 levels at 1,000 runs each put modelled failure at 8% with adaptive support, against 40% and 56% for the fixed distributions. Of 38 computer-science students who played it, 83% did not perceive the adaptation.

Read publication (opens in a new tab)

Master’s thesis · MSc in progress

Do Riot Games’ stated design intentions align with observed champion outcomes?

I read what Riot wanted to change, then looked for that change in the match data. For Diana’s jungle clear, I compared neutral monsters killed at 10 and 30 minutes. The October manuscript compares patches 25.20 and 25.21 using 2,885 observations across twelve champions in 2,486 matches.

Six of the twelve changes met my criteria for matching Riot’s stated intention. One met them in part and five missed. That describes what I found in the retained matches across these two patches.

Where the balance work comes from

I peaked at Master 235 LP in League of Legends and played starting Jungler for Varona Esports in the LPLOL Second Division, where I contributed to draft preparation, VOD review and shotcalling.

More about my game experience

More work

Team games and game jams, plus earlier software engineering with APIs, data and testing.

The Choice gameplay showing a dialogue-driven scene

The Choice

Narrative Designer

I designed the story and clue progression for our three-person time-loop mystery. I used the characters’ daily routines as clues, so a conversation can make more sense the second time you hear it. My teammates programmed the game and made the 2D art.

  • Three-person team project
  • Released Windows build
Keep The Light On puzzle game cover image

Keep The Light On

Sole Programmer

I set two microphone thresholds to tell speaking from blowing, then used them to change the candle, wind and light radius. I programmed the movement, enemy behaviour and puzzle state for the Windows build. My teammates made the art.

  • Team project
  • Released Windows build
Click, Call, Chaos administrative interface gameplay

Click, Call, Chaos

Sole Programmer

I programmed this three-person team’s bureaucracy game. Skip a day on the calendar and the game checks which calls and tasks are now due. I used ScriptableObjects to keep the email, phone and taskboard working from the same schedule.

  • Three-person team project
  • Playable Windows prototype
LusoHealth project banner with healthcare interface symbols

LusoHealth

Full-Stack Developer

I built booking screens and API logic in a five-person academic team. When someone picks a time, the API checks for a conflict before saving the appointment. Payment and chat use that same appointment. I also wrote controller tests and set up the Azure deployment. The prototype uses fictional data.

  • Five-Person Academic Team Project
  • Completed academic project
  • source available
Later delivered With.in homepage showing its responsive navigation and hero section

With.in

Sole developer

I built the Angular service and practitioner pages so visitors could read them on a phone and go straight to booking. The public links went to Google Forms, and I built a separate validation prototype in Angular. The repository shows that earlier version. The later client site is offline.

  • Client web project
  • earlier public implementation
  • Earlier implementation
  • client site no longer hosted in this version
  • source available

Skills and tools

Gameplay and technical design are my main focus. My software engineering and research work support both.

Gameplay Programming

Gameplay systems in my Unity games and Unreal prototype.

See my game projects
  • Unity
  • C#
  • Unreal Engine 5.8
  • C++
  • Blueprints
  • Gameplay Ability System
  • Combat
  • AI / NavMesh
  • Spawning
  • Persistence
  • UI
  • Scene flow
  • Debugging
  • Player input / movement
  • Camera control
  • Raycast interactions
  • Projectile geometry
  • Ability state / cooldowns

Technical Game Design

Rules, tuning and iteration through prototypes, player feedback and research.

See a playtest iteration
  • Systems Design
  • Combat Roles
  • Game Balance
  • Progression / Economy
  • Difficulty
  • Level Pacing
  • Prototyping
  • Dynamic Difficulty Adjustment
  • Mechanics specification
  • Encounter pacing
  • Playtest iteration
  • Narrative design
  • Reference analysis

Tools & Delivery

Level authoring, validation and builds for desktop, browser and Android.

See my level editor
  • JSON level pipelines
  • Editor Tooling
  • ScriptableObjects
  • Interfaces
  • Unity Input System
  • WebGL
  • Browser persistence
  • Android / ARM64
  • IL2CPP
  • Build troubleshooting
  • Git / GitHub
  • itch.io deployment
  • Runtime NavMesh
  • Headless builds
  • Brotli compression
  • IndexedDB
  • Visual Studio
  • Jira
  • Miro
  • GDDs / technical documentation
  • Architecture decision records

Additional Engineering

Web application work, APIs and relational data in academic team projects.

See my work on LusoHealth
  • .NET
  • ASP.NET Core
  • REST APIs
  • SQL
  • Python
  • Automated testing
  • CI/CD
  • Entity Framework Core
  • SQL Server
  • PostgreSQL
  • Identity / JWT
  • Google OAuth
  • SignalR / WebSockets
  • Swagger / OpenAPI
  • Stripe Checkout
  • Mailjet
  • xUnit
  • Moq
  • SQLite / InMemory
  • Azure Web App
  • GitHub Actions
  • OOP / interfaces

Web & UI Engineering

Angular application work and the React implementation of this portfolio.

See my web work
  • TypeScript
  • JavaScript
  • HTML
  • CSS / SCSS
  • React 19
  • React Router 7
  • Vite
  • Angular 17 / 20
  • RxJS
  • Reactive Forms
  • Angular Material
  • Bootstrap
  • Chart.js
  • FullCalendar
  • Google Maps
  • Responsive layouts

Research & Data

Python and SQL for acquisition, cleaning and descriptive analysis. Java and R are part of my academic background.

Read my thesis summary
  • Riot API
  • Data cleaning
  • Match / timeline data
  • Descriptive statistics
  • Medians / IQRs
  • Segmentation
  • Research limitations
  • Java (academic)
  • R (academic exposure)

Visual Tools & Integration

Practical UI, animation and asset integration alongside gameplay programming.

  • Unity Animator
  • Spine
  • Niagara
  • Animation / audio integration
  • Canvas Scaler / anchors
  • Safe areas
  • Nine-slicing
  • UI states
  • Figma
  • Photoshop
  • Blender asset preparation

Qualifications and experience

Education and experience

Expected 2026

Master’s in Game Design and Playable Media (Design de Jogos e Média Jogáveis)

Universidade Lusófona

Do Riot Games’ stated design intentions align with observed champion outcomes? A champion-level evaluation of balance design across rank, role, and match phase. MSc in progress.

2021–2024 · completed 16 July 2024

BSc in Computer Science & Engineering (Licenciatura em Engenharia Informática), Software Engineering track

Instituto Politécnico de Setúbal · Escola Superior de Tecnologia de Setúbal

Final grade 15/20. Class B on the European Grade Comparability Scale.

Relevant coursework

  • Algorithms & Abstract Data Types (16/20)
  • Parallel & Distributed Computing (17/20)
  • Databases
  • Operating Systems
  • Applied Software Engineering
  • Information Security
  • Artificial Intelligence
Oct 2025–Aug 2026 · fixed-term contract

ICT Teacher

Agrupamento de Escolas Fernando Namora

I taught ICT to 21 classes across four year groups, approximately 525 students. I adapted explanations through knowledge checks, taught topics including 3D modelling and web publishing, and helped students and staff troubleshoot hardware, software and digital tools.

Languages

Portuguese, native

English, professional working proficiency

French and Spanish, basic

Credentials and short courses

Cambridge Assessment English · June 2019

Cambridge English B2 First

Cambridge English Level 1 Certificate in ESOL International (First). Grade B, overall score 177, CEFR B2. Certificate issued 1 August 2019.

Accenture via FutureLearn · 2023

Digital Skills: User Experience

Three-week short course completed with a 92% overall score. Not a formal qualification.

View certificate (opens in a new tab)
ESTSetúbal / Instituto Politécnico de Setúbal · 2 April 2024

Prince of Persia prototype assessment

A signed academic assessment records 162 hours of work and a 5/5 result for my mechanics-recreation prototype. The assessment recognised autonomy and problem-solving.

Let’s talk

Available now. Portuguese national with EU work eligibility, open to relocation or remote.

[email protected]Contact