Abraham Charara

Software Engineer & Developer

Magnet Game
Magnet Game is a first-person action-adventure game and was a fun side project where I sharpened my skills as a video game developer and Unreal Engineer. We started with a basic premise, a magnet that can pull metal objects, and created new features purely out of what came to our heads in the moment. The result was a demo with many different interactable objects and enemies, all based around the simply fun magnet mechanic.
The first month was spent creating the magnet gun itself. When the player fires the magnet gun at an object with the "metal" tag, they enter a pulling state where they must walk away from the object (still holding the shoot button) to rip the metal component off of the object and attach it to the gun.

If the player starts pulling on an object but stops, they will be pulled towards the object instead. The further they pull away, the faster and farther they move.
A good portion of this month was used to overhaul the magnet gun as our ideas for the game changed. The biggest change being that metal pieces no longer attach to the magnet gun, but are instead sucked up and used as a resource to solve puzzles. I also tweaked and debugged most calculations for the magnet gun to make the core mechanics feel smoother.

The rest of this month was used to create a new tag, "CantPullOff", which prevents the player from removing the particular metal piece. This allows the player to use metal pieces as a source of momentum to cross gaps and reach high places.
With the magnet gun in a good place, I was able to move on to new features. This month primarily focused on the Metal Platform, an object that moves along a spline when the player pulls on it using the magnet gun. Invisible triggers detect the player's location relative to the platform to make sure that the player is pulling in the correct direction.
This was the final month working on the project, which I spent tweaking and polishing the Metal Platform as well as creating the Wall Trap object. I had an idea to create a metal object that can be used to attack certain enemies, but I wasn't sure how to communicate that idea to my teammate. I decided to throw together a small graphic showcasing how the object would work.
In its first iteration, the wall trap would simply play a falling over animation when pulled on. The problem with this is that it wouldn't work for different heights and terrains. To make the object more versatile, I added physics to the Wall Trap once it completed a short animation of tilting over. This created a single fluid motion for the trap to fall from any height and land realistically.