Giandomenico Lombardi

Technical 3C Designer

Lectures
Team Projects
To The Core
  • Team Size: 30 people
  • Role: Technical Level Designer
  • Platform: PC Windows
  • Engine: Unreal Engine
  • Genre: Action Platformer
  • Status: Released (Steam)
  • Steam – 50k Downloads
  • BUAS – Best Y3 Game

3D action platformer with roguelike elements, made by a team of around 30 people, over a 1 year development schedule. I worked on this project from early inception, all the way to post release support. I started out in a 3C role, responsible for prototyping traversal and combat mechanics, and establishing metrics for the platforming. Later, I worked to define how the procedural level generation was meant to work. Bridging the gaps between level designers, programmers, and environmental artists.

Contribution

  • Rapid Prototyping: Prototyped several traversal, combat, and environment mechanics. Based on both my ideas, and those of my fellow designers.
  • Combat Design: Fleshed out the design for the player combat mechanics. And the behaviours for some enemy types.
  • Technical Level Design: Implement and polish several enviornmental mechanicals. Bridge the level design and programming department, to support the design of a procedural chunk-based level generation system
  • Level Design: Design level chunks, from high level concept to low level scripting. Collaborating with environment art department to ensure gameplay is preserved throughout the art pass.
  • Encounter Design: design some of the enemy encounters for the level chunks I worked on. Design the combat arena encounter that ends the game.
F* Trains - Die-Rail Edition
  • Team Size: 8 people
  • Role: 3C Designer
  • Platform: PC Windows
  • Engine: Unreal Engine
  • Genre: Action Platformer
  • Status: Released (Itch.io)

Team project made in 24 hours for the 2021 Global Game Jam, in Unreal Engine. I was the 3C Designer, and I was responsible for the player mechanics, game camera, and implementing Mixamo animation.

Contribution

  • 3C Design: Tweaked default gravity scale, jump z velocity, max walk speed, and character acceleration and deceleration in mid air. To make player movement feel tight and responsive to control. Set up third person camera using the default camera arm component. Adjusted field of view, camera arm length, camera offset, and lag speed. Since this was Unreal 4, I had to manually implement support for 21:9 monitors, such as the one I work on. Finally, designed and implemented the controls for both gamepad, and mouse and keyboard.
  • Animation Programming: I sourced animations from Mixamo that matched our intended feel for the character. Used Blender to tweak the animations by adding a root bone, so that root motion would properly work in Unreal. Then, I imported the animations in Unreal, and implemented them through visual scripting in the animation blueprint, using a combination of state machines, blend spaces, and animation montages.
  • Combat Design: I designed and implemented through visual scripting, the combat system where your health is your ammo. The player can pick up wooden cubes that will hover around you. The player can fire one cube at a time, to try and damage its enemy (a wooden train). If the player is hit by the boss enemy (wooden train), a cube will drop. If the player is hit when no cube is left, it will be game over. I designed and implemented all aforementioned behaviours.
  • UX Design: Designed and implemented the game start screen, the game over screen, and the ending cinematic, which plays when you beat the game.
Arboreal
  • Team Size: 30 people
  • Role: 3C Consultant (credited as Techical [sic.] Designer)
  • Platform: PC Windows
  • Engine: Unreal Engine
  • Genre: Action Adventure
  • Status: Released (Steam)

This was a 1 year project at Breda University. The team did not have a dedicated 3C Designer. The game was half an action game like Zelda, and half a farming game like Stardew Valley  The game had entered production without finalized camera metrics. And without a consistent input scheme across gamepad, and mouse and keyboard. I joined the team, to sort out these design elements, without disrupting the feature teams working on systems that depend on them.

Contribution

  • Controls Design: When I was brought in, the game had control systems and UI, that were inconsistent between gamepad, and mouse and keyboard. I went into the project, spoke with the different feature teams about their needs, and presented the team with several proposals, that would improve the control scheme for both input methods, and make the UI work on both. The feature teams then agree on a proposal, I collaborated with the programmer for its implementation, and tested it with the other designers.
  • Camera Design: The game camera hadn’t been finalized before going into production. So I went into the project, talked with different feature teams, and different disciplines, about what they needed from the game camera. Then, I made several iteration to the camera, tweaking field of view, relative height and distance from the player, and lag speed. I identified multiple set of metrics that fit with the general needs of the different feature teams. Took preview shots of those camera set ups, both still and in movement. And presented by proposals back to the team, for evaluation. Together, we settled on a camera that worked for everybody, and I helped implementing it into the game.
Solo Work
Spacecraft Willie
  • Role: Solo Developer
  • Platform: PC Windows
  • Engine: Unreal Engine
  • Genre: Twin Stick Shooter
  • Status: Released (Itch.io)

For a gamejam organized by Twitch, I wanted to challenge myself, making a game built entirely on a custom made planetary gravity system. As requirement by the Jam organizer, I had to incorporate Twitch polls support. I did this, by making the game be a round-based endless twin stick shooter. Where the player picks one of 3 random upgrades at the end of every round. And I give the player the ability to pair the game with their Twitch from the pause menu, which in turn allows viewers to vote for which upgrade the player will get.

Contribution

  • 3C Design and Implementation: Built a top down twin stick shooter, featuring custom made planetary full planetary gravity. Where the player, enemies, and projectiles successfully move rotating around the planetoid. And implemented a control system that supports both dual joystick gamepads, as well as mouse and keyboard support. Defined and fine tuned variables to control the speed at which the player pawn, the player projectiles, and the enemy projectiles move around the planetoid.
  • UI/UX Design and Implementation: Implemented a full UX loop, from starting the game to quitting, where the player is onboarded on how to play the game, clears all enemies, gets to choose an upgrade, and moves to the next round. With full functioning pause system, and hand crafted UI assets, made to look like cardboard props in an old black and white scifi TV show.
  • Enemy Design: designed multiple enemy aircrafts, that use different bullet patterns. And data driven game mode, which allows to quickly configure patterns of enemies to spawn, using a spreadsheet.
Stack 'o' Bot - L_StarWalk
  • Role: Solo Developer
  • Platform: PC Windows
  • Engine: Unreal Engine
  • Genre: 3D Person Action Adventure
  • Status: Released (Itch.io)

Solo entry for the Epic Games’ Mega Stack ‘O’ Jam, in Unreal 5. Gamejam hosted by Epic Games, where participants, had to make a game using the UE5 Stack ‘O’ Bot Template.

Contribution

  • Traversal Design: expanded upon the movement of the default Stack-o-Bot template. Improved the default jump by implementing coyote time, and jump input caching for bunny hopping. Added a crouch mechanic, which can be used right before jumping, resulting in an high jump. A dodge roll if you crouch while running. A forward jump if you jump while rolling. An uppercut if you punch while crouched. A slide kick if you punch while rolling. A ground pound if you crouch in mid air. And if you punch immediately after starting a ground pound, you will do a dash-like punch instead. Tweaked  jump z velocity, and occasionally forward launch velocity, to achieve very distinctive jump heights and speed with each variation of the jump mechanic. Implemented an animation driven system to detect if the player walks over specific physic materials. Which I used to implement ice-like slippery surfaces. Tweaked character movement acceleration, deceleration, and max walk speed, combined with the use of a blend between a t-pose animation and a sped up walk animation, to create the feel of walking over an unsafe, slippery surface. 
  • Combat Design: I implemented a 3 hit combo like in Astro Bot. I sourced punch animations from Mixamo. Added root bone in Blender. Retargeted them to the Stack ‘O’ Bot mesh in Unreal. Made them into montages, and cut the telegraphing frames at the start, to make the punch button feel responsive to the touch. Added an animation notify, to enable input buffering for the next punch input, midway through the attack animation. I added a combo counter to cycle through the 2 hands, which resets if the player stops punching. I implemented a spin mechanic, when the player taps and holds the punch button long enough. Use an emissive material on the player character to signal to the player when the spin is ready, by making the emissive material flash using a timeline. I use custom primitive data on the skeletal mesh, to lerp the value of the emissive multiplier on the material. Since it’s cheaper than creating a material instance, to update a scalar parameter. I also implemented third person shooting, adding a toggle aim button, which makes the jetpack, normally used for the hover mechanic, detach from the player character, and turn into a player controller laser turret.
  • Technical Level Design: designed a simple linear challenge level. Inspired by the late game challenge level in Astro Bot (2024). Implemented a spline tool to create slippery ice paths. A grid based spike hazard, and a grid based breakable wall-like barrier. Expanding laser rings. And cannons that use a shared projectile pooling system
Bazooka Wheelchair
  • Role: Solo Developer
  • Platform: PC Windows
  • Engine: Unreal Engine
  • Genre: Puzzle Platformer
  • Status: Released (Itch.io)

This started as an entry for a “Prototyping” gamejam, with the theme “Starts at the top”. I wanted to make something unrealistic and over the top with rocket jumping. I came up with the idea of being in a construction work site. I needed a way for the player to perform slight adjustments to their position. So I thought of making the hero a person in a wheelchair. Initially, I envisioned this game as a side scroller Metroidvania. However, due to time constraints, I reworked the concept into a level based platformer. And in doing so, I worked the portable toilets, initially intended as checkpoints, into the level clear goal, since their blue color makes them heavily stand out.

Contribution

  • 3C Design and Implementation: Implemented a rocket jump based movement system, and a control system for both gamepad, and mouse and keyboard. Tweaked the character gravity scale mid air lateral deceleration, and force, range, and force falloff from the rocket explosion,  to find the best possible feel for the rocket jump, and establish metrics for the level design. Played around with sound and visual effects, to convey to the player information about the potency and area of effect of their weapon. Experimented with different approaches, to make the control system on gamepad be as effective as using the mouse. Played around with different values, to make moving the aiming cursor with a gamepad feel fast enough in a game like this.
  • UI/UX Design and Implementation: designed a level based system. Designed a primary objective, and secondary objectives for replayability and mastery. Implemented an HUD to convey the player information. A performance evaluation screen. And a pause menu, with game settings, and with a level selection screen.
  • Set Dressing:  picked a retro, minimalist aesthetic. Built tools which allow me to quickly put together levels, with “finalized” graphics. Added some background elements, such as clouds and flapping birds. To make the background feel more dynamic. Did some work with post processing effects, to make the retro look work.
  • Level Design: Designed many level over a short period of time, using the procedural tools I’ve built. Made the first levels to onboard the core movement mechanics, and introduce the level main and optional completion objectives. The introduce new mechanics one a a time. First in a safe environment, or with a minimal challenge. Then reusing the same mechanic, in a more challenging environment. And eventually, mixing the new mechanic in a scenario where a previous one is used again. All the way to the introduction of a level where the full mastery over the mechanic is challenged. Before moving on to a new mechanic, scaling down the level of challenge once again. I also created a system which allows me to quickly tweak level data, such as target completion par time, from a spreadsheet.
Dreaming of Making Sand Castles
  • Role: Solo Developer
  • Platform: PC Windows
  • Engine: Unreal Engine
  • Genre: Puzzle Platformer
  • Status: Released (Itch.io)

Contribution

  • 3C Design and Implementation
  • UI/UX Design and Implementation
  • Set Dressing
  • Level Design
Resume