My name is Leon Maclean. I am a 4th Year Student studying Games Design and Production at Abertay University.
My main area of expertise is in Games Programming with a focus on UX/Game Feel. I have the most experience and interest Designing and Programming in Action/Platformer/Shooter Genres.
I have a love of Art in all mediums, primarily Games and Music. My inspiration for wanting to develop Games from a young age was the lineage of Action/Platformer Games developed or inspired by Nintendo.
This site documents all projects I have worked on since beginning Game Development in September 2022.
Technical/Artistic Skills :
C# Programming.
Unreal Engine Blueprints.
Proficiency in Unity and Unreal Engine.
Applying Game Design/Feel concepts in-engine (Technical Design).
Strong understanding of Game Feel and Feedback Loops.
Gameplay Mechanics implementation.
Extremely interested and knowledgable in Player Movement and Camera programming.
Tutorialisation and Level Design.
Ability to work in FMOD and WWise Sound Engine applications, and also their in-engine integration through Code.
Art Asset Implementation.
Working around tight deadlines and with smaller teams.
UI Design and Colour Theory.
2D Sprite Art.
Personal Skills:
Hardworking
Eager
Empathetic
Eloquent
Communicative
Polite
Pragmatic
Sundog was created as a response to the Summer Game Jam Jamboree 25 brief of: Factor 50. Best decribed as a mix between the Cozy Game and Collectathon genres, you play as a Dog attempting to build a disguise and rack up enough change to buy a Beer.
My primary role for this project was as a Programmer. I worked on the Movement/Camera systems (an early version of a Character Controller which is currently in development). I also worked on some Gameplay mechanics and UI Implementation.
My Accomplishments:
Fun, fluid Character Controls with a sprinting mechanic.
Unobtrusive UI System which hides elements until needed, inspired by N64 Rare titles such as Banjo Kazooie.
Fetching system which allows the Player to pickup key items.
Focus on making UI satisfying and bouncy with Scaling, Transformation and Colour Effects.
A Scrapped Quest System which allowed for easy creations of Quest-Lines by using Unity Events to link Quest Starts/Ends.
Contrary Motion is a couch co-op action/puzzle game developed in Unreal Engine 5, where two Players are given seperate Push and Pulling abilities, allowing them to manipulate physics objects around the level, and each other.
Linked to the left is the Project Itch Page, and a development reel combining all clips I took during development of the Game. Linked below is a page documenting my contributions to the Project.
Click here to view my Work/Accomplishments on Contrary Motion
The 3rd year UX module in Abertay required us to name a UX Goal, and design a game prototype around the goal. My goal was "To make Players enjoy building up and maintaining speed" with the elevator pitch of "Crazy Taxi meets Sonic Adventure 2". By taking influence from positive (and negative) examples of games which intend to provide a similar Player Experience, I developed this prototype on top of my Mario Momentum project.
This prototype requires the Player to run through Hoops which randomly spawn around the map, gaining a time-bonus based on how long they took to make it there. You build speed by running down slopes, and can pick up randomly spawning timed-upgrades around the map, such as levitation and stopping time.
My Accomplishments:
Clear, Functional UI Design that ensures the Player can understand crucial information at a glance.
Developing a system which ensures the Camera will not break line-of-sight with the Player when runni up and down sloped terrain.
Use of visual particles and Post Processing Effects to sell the effect of blistering speed, and of the various timed-upgrades.
Developing a system to randomly activate Hoops.
Developing a formula which calculates a Good, Medium and Bad Pace to reach a Hoop based on the distance between it and the Player upon activation.
Developing a formula to calculate how much Time Bonus should be rewarded to the Player based on Good, Medium and Bad Pace.
Iterative design process that led to crucial design decisions (Highlighted in linked video).
Links to the Playable Build and Unity Project in the comments section of the video.
NOTE: I do not own or claim ANY of the copyrighted material present in this project.
Developed in Unity, Mario Momentum was my attempt at recreating the dynamic, flowing Movement system of Super Mario 64 in a modern context as a way to practice developing Player Controls in 3D. Though my previous project, Hoarfrost, was my first 3D game developed, I was completely new to 3D development for that project and thus, didn't develop the movement system as much as I had wished.
Mario Momentum features the full set of locomotive moves from Super Mario 64, but with a stronger focus on momentum preservation more akin to the Sonic Games. The project features slope momentum, allowing Mario to gain speed running down inclines, and hold that increased speed through chaining jumps and dives.
I created a trailer for this project, as well as an educational video to show how I constructed the movement and camera systems. Along with the educational video, I released a copy of the Unity Project itself for anybody curious who wants to mess around with it.
My Accomplishments:
Dynamic, Flowing Movement that features all of the significant moves from Super Mario 64.
Momentum mechanics for picking up/losing speed based on Slope Angle. Momentum preservation from Ground -> Air.
Camera System with QOL features such as Auto-Rotation, Vertical Damping and Whiskers to detect and rotate around obstacles.
Production of an Educational Video showing the construction and math of the Movement and Camera Systems.
Developed in Unity, Hoarfrost is a 3D boomer-shooter inspired by DooM. It features a risk/reward system in where you collect Canisters which can either be used to heal you, or to give your weapons unique firing modes. This was my first time working with a team of people on a game.
This was my first time developing in 3D. It was difficult for me to wrap my head around at first but I learned a lot. I worked on the Player Movement, Weapons and Firing, UI Implementation and Design and Ammo/Health Pickups.
A Gameplay video and link to the Itch Page is on the left.
My Accomplishments:
WEAPONS SYSTEM:
Designing a Weapon System which allowed me to create 3 unique firing guns (Machine Gun, Pistol, Shotgun), all with Alt-Fire modes (and a melee weapon) using only one single script to handle Weapon Logic, and another for Weapon Stats.
The Weapon Stats script allowed precise customisation of Fire Rate, Vertical and Horizontal Bullet Spread + Recoil, Number of bullets fired per shot, Automatic or Single Fire, Bullet Speed, Bullet Lifetime and more. From there, the Weapon Firing script would read these values and handle accordingly.
UI/UX:
Recoil UI Script which accurately displays the spread of the Weapon when firing.
Visual Flash effects inspired by doom to signify actions such as Pickups and Taking Damage.
The 2nd Year Level Design Module at Abertay required us to learn some basic Unreal Engine 5 Blueprints for level scripting.
My project involved a series of challenge rooms, where Surveillance Cameras with bright spot-lights would follow your every move, lighting up the room. The light emitting from the Cameras will slowly shift from Green to Red as time runs out. Upon completion or failure of a challenge, you would be sent either to the left or right for the next room, meaning each challenge room would branch out into two more. This meant there were various different paths to reach the end of the game.
My Accomplishments:
Learning some basic Blueprints Scripting to program some UI elements and Level Scripts.
Creating a striking and cohesive visual style with very minimal graphical elements.
Developed in Unity, Scrolio Bros was an inside-joke Street Fighter-styled fighting game conceived between me and my friends, where me and my friends were drawing up Characters to pit it out in battle. Though only one character was ever implemented, I made a full range of high-quality sprite art and animations for their various moves.
Linked to the left is a video of two AI-Controller Characters fighting against eachother.
My Accomplishments: Creating a robust AI controller for the other Player. using DnD-style skill checks with a RNG based on the AIs internal stats, I could freely control how aggressive the AI is, how likely it is to keep a short, medium, or long range, how likely to block, and the likeliness of which Attacks they will use at those distances.
If I were to continue development, this would have made it extremely easy to make the AI for each character feel distinctly unique in behaviour, as well as create multiple difficulty modes with ease. I got loads of joy from watching 2 of my AI controlled Players fight eachother, and as my first proper foray into AI development, it was very ambitious.
This was my first time programming a game. RISE is a 2d platformer/action game developed in Unity where randomly generated item pickups will give you stat boosts such as Attack Power, Health Upgrades and Jump Height increases. The map is split in half into platforming and action sections, converging at the top of the map in the shape of a triangle. I would call it an inexperienced attempt to make a Roguelike/Platformer hybrid.
Though incredibly flawed, this project showed my eagerness to learn from nothing, and the simple sprite-art is visually coherent.