Gerad Paris's profile

Trash Magnet (Game Jam)

Trash Magnet
_______________________________________________________________________
Finished Date: July 21st
Duration: 2 Weeks
Team Size: 5
My Role: Gameplay Programmer / VFX Artist
Genre: Action / Racing (?)
Technologies Used: Unity 3D (Game Engine), Affinity Photo (Particle art creation), Visual Studio 2019 (IDE), GitHub Desktop (Version Control)
_______________________________________________________________________
The Concept
So we created Trash Magnet as a part of the Pompous Trash Game Jam, and one of the modifiers that we wanted to use in our game was having weird controls; the first game that came to our minds was something like QWOP, originally we had ideas of using something like a tank control where you controlled the individual back and forth of each of the treads, but we eventually settled on the idea of having a VTOL where you control each of the individual thrusters. For our art style, we decided to go with a "Consistently inconsistent" and low quality art style. (Which is why our title has very visible JPEG artifacting)

Programming
So as the main gameplay programmer, it was my job to create the VTOL controls myself. To create the VTOL controls, I used Unity's rigidbody system. With my original idea of just having the lose VTOL controls on their own, I quickly found out that the game was basically impossible to play, so what I did to make the game actually playable was adding a stabilizer mechanism into the VTOL controls, where if you tilted too far in one direction, the code would automatically apply a force equal to how far you were tilted in the opposite direction to stop you from flipping over; this was also applied in the vertical direction, to give the player an area that they can hover in, and so that they don't need to keep the VTOL hovering above the ground manually either.

It was also my job to create the magnet for the VTOL. I had tried a bunch of different things, originally I tried using a force with Unity's rigidbodies to constantly move any attracted objects towards the magnet, but that had issues with the objects actually pushing the magnet when they got pulled in. Eventually I figured out a solution to my problem; Unity's spring joint system. Whenever the magnet got in range of a suitable object, a spring joint would be created between the magnet and said other object, pulling them in together. This solution worked perfectly for what we wanted to accomplish. The script also handles the detaching of objects by just removing the spring joint component, which happens whenever the magnet is turned off, or the player bumps into a wall (Which also turns off the magnet)

VFX Art
Less of an important area for this project, as I had only made 2 effects, one being the magnet "attraction waves" when it's enabled, and the other being the stars that fly out of the VTOL when you bump into something. For both of these VFX, I tried to go with a hand-drawn style to fit with our "Consistently inconsistent", as well as a more "silly" vibe to match with what I think was a silly concept for a game. I also created the thruster effects, but I just used Unity's standard particle texture for them. (The gif compression doesn't really do things justice, but hey, at least it fits with the trash theme :D)​​​​​​​
Final Views
Overall, I think the game turned out pretty well, especially considering that it was the first real game that a lot of our team members have created that wasn't overseen by professors. I also feel that the controls of the game turned out pretty good considering we were trying to make them hard to use, where they are indeed hard to use, but that if you put the time into learning them, that you could actually get the hang of them and be pretty good at the game as well.

We've also made the game open source if you'd like to take a look at anything in it.
Trash Magnet (Game Jam)
Published:

Owner

Trash Magnet (Game Jam)

Published: