Portfolio
Do Not Disturb
Is a horror 2D side-scroller set in real, abandoned locations across Manaus, where Lara searches for her missing friend, Yara, while facing creatures from Amazonian folklore. With a slow, oppressive pace, the game blends a straightforward narrative, rising tension, and challenging puzzles. Between tense music, jump scares, and decaying environments, players are pushed to question Lara and Yara’s relationship—and even what’s real. Inspired by Detention and Little Nightmares, it delivers a dense, emotional experience rooted in Brazilian culture.
Features
- Recognized at Game Jam Plus 2020 (in an edition with over 1,100 participants and 280+ competing games): Best Narrative, Best Game in Brazil, and Best Game in the World.
- Tech Lead & Lead Programmer for a 2D horror side-scroller inspired by narratives from Manaus, Brazil, leading a team with programmers, design, artists, and audio.
- Architected core game systems from scratch using event-driven architecture (C# events/delegates), SOLID-oriented design, Observer pattern, and State Machines, improving decoupling and feature scalability.
- Owned end-to-end implementation, including enemy AI, camera system, player controller, puzzles, interaction system, UI implementations, lighting, jump-scare system, and custom cutscene system (video-based and autonomous character control).
- Built a branching dialogue system with choices and variables, backed by JSON content and ScriptableObject data for narrative/collectibles, enabling fast iteration of story content and localization.
- Implemented localization pipeline supporting EN/PT/ES (demo shipped with EN/PT, designed to allow simple integration of new dialogue content.
- Integrated FMOD with an event-driven audio triggering approach and exposed audio controls via an in-game Settings menu.
- Established engineering process with Git Flow, feature branches and mandatory code review; acted as the sole PR approver, ensuring structural consistency and preventing architectural drift.
Crisálida
Crisálida - Steam
Crisalida is a 2D narrative visual novel with point-and-click mechanics and a fixed camera perspective. The game delivers a short, emotional journey centered on memory, grief, and healing, where the player helps the protagonist, Íris, reconstruct fragmented memories to uncover hidden truths. The project is planned for Nintendo Switch and Steam and future expansions to other platforms.
I served as Unreal Programmer. During development, I took on a critical UI/UX role to meet team demands, acting as both the UI Designer and UI Programmer to ensure the project’s interface was completed on schedule.
Features
- Point-and-Click Interaction: Refined and corrected touch/interaction hotspots across all game environments to ensure precise and consistent player feedback.
- Full UI/UX Implementation:
- Main Menu
- Pause Menu
- Settings/Options Menu
- Audio: Integrated granular volume controls.
- Enhanced Input System:
- Implemented full support for Controller, Keyboard, and Mouse.
- Developed a custom rebinding system for player controls.
- Bug Fixing & Optimization: Performed extensive debugging to ensure stability, particularly within the UI and interaction systems.
Klysm
Klysm
Klysm was a futuristic FPS developed in Unreal Engine 4.26 for PC, featuring competitive multiplayer modes such as Capture the Flag, Conquest, Team Deathmatch, and Rush. It served as a significant milestone in demonstrating technical adaptability and high-speed UI development.
I served as a Programmer within a 6-person multidisciplinary team, including developers, level designers, and 3D/VFX artists.
Features
- Developing responsive HUD elements and interactive menus.
- Implementing UI/UX effects to enhance the futuristic feel.
- Ensuring the new interface was fully integrated with the game’s core mechanics in under four months.
- Analyzing the existing project architecture to understand the networked data flow.
- Implementing network-synced UI updates and player feedback systems.
While my primary expertise lies in Unity and C#, this project showcased my ability to pivot to Unreal Engine and master Blueprint Visual Scripting in a professional environment. The successful delivery of a full UI overhaul highlighted my efficiency and communication skills when bridging the gap between design and programming.
Interactive Portfolio
Interactive Portfolio - Play now
The Interactive Portfolio is a browser-based experience built in Unity WebGL. It’s a 3D isometric sandbox hosted on his personal website, with the source code publicly available on GitHub. I built four core minigames plus interactive world elements, focusing on clean gameplay logic and WebGL performance optimization. The camera only changes perspective during minigames or when entering specific areas, keeping navigation intuitive.
Minigames
- Tic-Tac-Toe (3×3): Single-player against an AI, accessed by interacting with a classroom board.
- Dots and Boxes (Timbiriche): Classic rules with an AI opponent; each placed line references adjacent squares and triggers a check of the four neighboring edges to award points.
- Procedural Maze: Generated via recursive backtracking; entering the first cell switches the camera to a top-down view, and exiting resets the scene—when the player moves away, a new maze is generated and rises from the ground.
- Memory Game (4×4): Number-based cards; after revealing two tiles, the system compares their internal text values to detect matches and score points.
Features and showcase areas
- Dynamic environment interactions, such as a central statue that changes pose whenever the player moves away and it leaves the camera’s view.
- A hobbies showcase area with animated avatars (fitness, gaming, and family moments), turning personal info into interactive storytelling.
- A Museum room with a first-person camera, presenting other projects through descriptive plaques, framed screenshots on the walls, and holograms that render videos for each game.
- An Arcade zone (in development) that will introduce a coin economy: players collect coins in the world and earn more by winning minigames, then spend them to access new arcade minigames.
- Consistent camera transitions for each minigame, improving readability and interaction without breaking the overall sandbox flow.
Enchated Dreams
Enchanted Dreams - Play now
Enchanted Dreams is an exploration game with combat developed in 7 days for the Joga Manaus Jam 2025 (JMJ 2025), published. The project tells the story of a young boy who enters the dream world of his grandmother in a coma, facing forgotten memories and symbolic challenges.
Mechanics and Systems Implemented
- Two-stage combat: A unique system where the grandmother’s spirit projects in the last input direction with elastic movement. If the player presses attack again during the projection, a spirit sword attack deals damage; otherwise, the enemy is only pushed back. This requires timing and precision from the player.
- Character movement and control: Implementation of movement, attack, and a sensor to detect hidden objects in the environment.
- Enemy behavior: AI for a frog that jumps quickly, requiring two hits to defeat.
- Environment interaction: Doors, interaction triggers, and hidden objects.
- Dialogue system: Interface for narrative and interaction with the grandmother’s spirit.
- UI and splash screen: Interface implementations and intro video.
CLOOP
CLOOP - Play Store | itch.io
CLOOP is a casual mobile game developed in Unity (C#) published on Google Play Store and itch.io. The game features a minimalist black-and-white 2D aesthetic and focuses on a simple but addictive core mechanic: a ball orbits around a sphere, and the player taps anywhere on the screen to launch it in a straight line. If it hits another sphere, the game continues infinitely; if it misses, the session ends and the high score is saved locally.
Mechanics and Systems Implemented
- One-touch control: Tap anywhere to launch the ball in a straight line; additional UI buttons for navigation.
- Procedural sphere placement: All spheres are positioned randomly based on distance from the last sphere, screen size, and current score. Sphere size and rotation speed increase as the player progresses.
- Object pooling: Spheres are reused via pooling to avoid allocation overhead and maintain smooth performance on mobile.
- Local high score system: Best score persisted locally without external services.
- Complete UI flow: Main menu, in-game HUD, game over screen, credits, and exit confirmation dialog.
Trash Dash
Trash Dash - Play now
Trash Dash is a 3D endless runner developed in Unity (C#) published on itch.io. The player controls a nimble cat collecting fish while escaping from an angry dog, running through a 3-lane system with jumping and sliding mechanics. The project features a cartoony 3D art style using assets from the Unity Asset Store, with custom scripting for all gameplay systems.
Mechanics and Systems Implemented
- 3-lane endless runner: Swipe controls on mobile (touch), arrow keys/WASD on PC, with lane-switching, jumping, and sliding actions.
- Procedural level generation: Scenario blocks connect seamlessly, spawning new sections as the player advances, creating an infinite run.
- Obstacle system: Static obstacles (trash cans, signs, cones) distributed across lanes, requiring quick reflexes to avoid.
- Collectibles: Fish scattered throughout the course, rewarding player attention and risk-taking.
- Local high score: Score calculated based on distance traveled, persisted locally for replay value.
- Object pooling: Scenario blocks reused via pooling to optimize memory and maintain smooth performance on mobile devices with 3D textured assets.