WHO IS LEONARDO?

Born in 2002 in Vitória-ES, Brazil, Leonardo de Oliveira Ramaldes Fafá Borges started studying how to program in 2017 in a Informatics for Web Tecnician course.
After completing the tecnician, in 2020 Leonardo joined a Information System College
Up until 2022, when he decided to study game development full time and in 2023 he transferred into a Digital Games College
Besides studying programming for 6 years, Leonardo also studies 3D Modeling, mostly as a hobby.

C#

Confident

Unity

Confident

Python

Average

Java

Average

Blender

Basic

Unreal

Learning

Portuguese

First Language

English

Fluent

Spanish

Basic

My experiences

  • Sept 2020 - Feb 2021 | Freelance Web Developer

    Company - Instituto Brasileiro de Inovação (IBI)
    Duration - 6 months
    Local - Vitória-ES, Brasil

  • Jun 2020 - Sept 2020 | Intern System Developer

    Company - Conexos
    Duration - 4 months
    Local - Vitória-ES, Brasil

My Education

  • Feb 2023 - Present | Digital Games Associate’s Degree

    Institution - Uninter
    Duration - 2.5 years
    Local - Online

  • Feb 2020 - Jun 2022 | Information Systems Bachelor's Degree

    Institution - University Vila Velha
    Duration - 2.5 years *Incomplete*
    Local - Vila Velha-ES, Brasil

  • Feb 2017 - Dec 2019 | Informatics for Web Technician’s Degree

    Institution - IFES-Serra
    Duration - 3 years
    Local - Serra-ES, Brasil




My portfolio

GameJam Games

  • 2023 | Penas e Pólvora - Ctrl Alt Jam


    Game developed in Unity, for the Ctrl Alt Jam, under the theme Pidgeys and Power, in a 1 week time frame.
    In this project I acted as the Lead Programmer, in a team of 6 people.

    I worked on:
    Player Movement
    - Simple Top Down movement where the player moves using WASD and aims/rotate moving the mouse
    Combat
    - The player has a Weapon Manager Script that controls the weapon he is using
    - The weapon can attack, reload and has a Weapon Data (Scriptable Object) that controls the weapon's damage, fire rate, knockback strenght, spread angle, max ammo and the weapon prefab
    - When shooting the player moves slower
    - When damaging an enemy the player has a small chance of dealing a critical hit
    - When getting damage the player's armor stat reduces the incoming damage and then the player becomes invulnerable for a short period of time
    Enemy AI
    - The Enemies moves toward the player using a A* algorithm
    - When the player is within range and there is no obstacle between the player and the enemy, the enemy attacks
    Wave System
    - The Enemy Spawner has an array of Wave Data (Scriptable Object) and an array of spawn points
    - Each Wave Data has a Wave Duration, a Spawn Rate and a Wave Enemy List, each element on the list has an Enemy Prefab and a Spawn Chance
    - When the wave starts enemies spawns in a randon spawnpoint that is not on screen, according to the Wave Spawn Rate
    Collectables System
    - When a enemy dies, it drops a coin and has a chance of dropping a heart that regens HP
    - When the player gets near those items he collects it
    Shop and Upgrade System
    - At the end of each wave the shop opens
    - The shop selects offers 3 distincts Upgrades and a reroll option for the player to buy
    - Upgrades include stats increases in: Damage, Max Health, Armor, Moving Speed, Max Ammo, Critical Hit Chance, Accuracy and Fire Rate
    - When closing the shop a new wave starts
    Audio System
    - Simple Audio System, that allow any Audio Clip in a array to be played from any Script with 1 line of code
    Particles Effects
    - Blood particles that spawns when a Enemy dies
    - When the player collides with a particle, it drags on the floor leaving a trail behind




  • 2023 | Zario is Alive - GMTK Game Jam 2023


    Game developed in Unity, for the GMTK Game Jam 2023, under the theme Roles Reversed, in a 2 days time frame.
    In this project I acted as the Lead Programmer, in a team of 5 people.

    I worked on:
    Teaching the other programmer on how to use Unity
    - The other programmer was new to game deveploping, so I taught him the basics of Unity
    Achievement/Death List System
    - Simple Achievement System, that every time the player dies in a new way the Achievement displays on the screen
    - After getting a Achievement it can be seen in the Death List in the Pause Menu
    Interaction System
    - When close to a Interactable object, the player can interact with it
    - Each object has it own effect when interacted with
    Audio System
    - Simple Audio System, that allow any Audio Clip in a array to be played from any Script with 1 line of code
    - Each Audio is associated with a category and the player can change each category volume in the Configurations Menu
    Particles Effects
    - Simple Trail Effect and Boss Attack Impact Effect
    Level Design
    - At the last day the team Game Designer had a few personal problems, so I had to fill in for the Level Design

  • 2022 | Unfinished Game - Game Jam Conjunta 2022


    Game developed in Unity, for the Game Jam Conjunta 2022 (this was my first Game Jam), under the theme Climate Control, in a 1 week time frame.
    In this project I acted as a Solo Developer.
    Unfortunately I wasn't able to complete the project, due to external factors, but was still quite happy with what I was able to acomplish with in this Game jam.

    I worked on:
    Custom Shaders using Unity's Shader Graph
    - At the time I was studying Shader Graph, so I decided to make a Shader that would Lerp the Material Color based a event (in this case when the season change)
    - The shader also adds a snow texture that fades in and out depending if it's winter or not
    - Later into the project I decided to use Unity Terrain Tool, so I adapted the first shader into one that was able to affect the Terrain
    Particles Effects
    - Simple fire, rain and snow effects.
    Weather/Season Control System
    - The player was able to change season and the weather, this was the main mechanic of the game
    - Changing the season made so the leaves and the skybox colors change
    - Changing the weather made so either rain or snow (depending on the season) would fade in or out
    - I had the intention to make puzzle mechanics based on this system
    Player Movement
    - When giving a Horizontal Input the player moves back and forward in a Bezier Path
    - When giving a Vertical Input near a ladder the player moves to the closest ladder, where he can move up and down
    - When the player reaches the end of a ladder he moves to the closest point in a Bazier Path
    Cutscene System
    - When the player reached the top of the mountain, a cutscene would trigger, moving the player and the camera, lighting a bonfire and changing the skybox from day to night

Case Studies

  • 2022 | Autobattler Game


    Study done in Unity on Autobattler games, as a Solo Developer.

    In this project I worked on:
    Learning how to use Map Graph
    - Map Graph is a Unity Asset for generating procedural maps
    Grid system
    - Simple square based grid system, with pathfinding
    Custom data structure
    - Simple heap using IEnumerable for iteration. This is used in the battle turn order.
    AI behaviour customizable in play time
    - The player is able to customize the heros actions based on: the action (attack and heal), the target (enemy/ally with the lowest/highest stat(hp/damage/speed/distance)) and condition (if the target's stat is lower/higher/equal to X)
    - The monsters also used the same behaviour system, but the player isn't able to change.

  • 2022 | Halftone Comic Book Shader - Shader Graph

    Study done in Unity on Cell Shaders and Com.

    In this project I worked on:
    Cell Shading
    - Simple Cell Shader, whith multiple parameters for customization
    Screen Space Texture
    - When the object moves on the screen the halftone texture stays in place, simulating old Comics

  • 2022 | 3D Platformer - Parkour Racing


    Study done in Unity on 3D Platformers, as a Solo Developer.

    In this project I worked on:
    Learning how Unity Physics System works
    - This project was made so I could learn how the physics works in Unity, to give the player better control on the character's movement
    Player Movement
    - The player was able to run, jump and run on walls freely
    - When on air the player can use grapple hook to swing from any surface
    - When on the ground the player can slide, when moving on a leveled surface or upward on a tilted surface the slide lasts for a short period of time, but when moving downward on a tilted surface the slide lasts for as long as the player holds the slide button
    Character Model
    - I did all the art for the character, from the concept art, the 3D modelling and rigging.
    - The animations for the slide, the wall run and the grapple swing, was also done by me, but unfortunately it looked different when importing to Unity.




3D Models (Made in Blender as a Hobby)




  • 2020 | RPG Party Sculpt


    Sculpt based on characters from a Tabletop RPG Campaing I played with some friends.
    One of those friends happens to be a really great artist, so once he drew the characters and I was already learning 3D Modeling, I decided to sculpt a few of them.
    I believe this was my first time sculpting full characters.




  • 2021 | Swordfish II - Low poly - Cowboy Bebop Fanart


    Low Poly Model of Cowboy Bebop's Swordfish II.




  • 2022 | Stylized Sword Game Asset


    Study on the workflow for making Stylized Game Assets.

  • 2020 | Ominitrix - 3d Animation - Fan Art


    Study on Blender's particles simulation.




  • 2021 | Gengar - Fan Art


    Study on making models for 3d printing.




Contact INFO

Feel free to get in contact with me.

+55 027 997921122

leorfb@gmail.com

Leorfb

linkedin.com/in/leonardo-fafá/