Game of Gnomes
Project 4 at The Game Assembly, a 3D adventure game
Synopsis
The gnomes have protected the garden for years but now a new threat invades their kingdom. Dodge, dash, and strike back in this whimsical yet action-packed battle to reclaim your leafy kingdom. The garden’s fate rests in your tiny, gnome hands.
Development
Game of Gnomes is a 3D adventure game inspired by Tunic and developed over 7 weeks by Low Croak Studios - a team of 13 game development students from The Game Assembly in Malmö, in collaboration with 2 students from Östra Grevie Folkhögskola who contributed the sounds and music.
Contributions
In this project I got to work closely with the animators and graphics by implementing animations and VFX as well as programming breakable and interactable game elements. I also worked on enemy behavior, particularily the attacks of both enemy types.
Animation Implementation
For this project I had the opportunity to rework my animation system from Unbound in a way that could support both 2D sprite sheet animations and 3D animations. I ended up expanding my previous animation system to account for this change, with the idea of making the system even more modular and easy to use for other programmers.
VFX Implementation
Flames, candles and matchsticks
The flames, candles and matchsticks were implemented using my sprite sheet system from Unbound. The shrine with a candle was the save system for the game. When activated it spawned some lights, a sequence singnalling the passing of a day, refilled your health and stamina and respawned all enemies and interactables to their original state (except chests). For the matchsticks I added the functionality that they would only light up when the player was within a certain distance for added ambience.



Water and smoke puffs
I could use the same sprite sheet system to implement VFX for the waterfall and smoke puffs when the player walked or when destroying a mushroom. For the moving water I made the texture "scroll" in the intended direction. Grass, mushrooms and pots used the 3D animation system that would trigger the destroy animation on impact.


Enemy attacking behavior
The ranged enemy shoots projectiles that you can use to your advantage to destroy breakable game objects and deal damage to other enemies. During our early playtests we got a lot of feedback on how difficult it was to calculate where the projectile would end up. Therefore I implemented a laser beam that spawns from the weapon to the closest target. This improved the gameplay overall by making it easier to gauge when you were "safe".
The melee enemy also got some feedback on lacking readability for the charge up of the attack. Therefore I added the blinking colors to signal to the player that it's time to roll out of danger. Both enemies also have blinking color changes when being hit by an attack. When they're hit by an attack I incorporated a slight stun feature, which makes it possible to cancel an enemy attack.
Blood and wind vfx
The gif to the right is also a great example of the wind and blood vfx I implemented. There are two different kinds of blood: one that squirts out of the enemy on hit and one that leaves a mark on the ground.


What I learned
During this project we had loads of playtests, which gave me a valuable experience in tweaking behavior and effects according to feedback.
I also gained a lot of experience in incorporating 2D elements in a 3D game world. The greatest challenge in this sense was to make sure the blood splatters followed the orientation of the floor. This warranted a lot of head scratching and linear algebra to finally make it look good.
Credits
Low Croak Studios & Östra Grevie on Sound
Programming
Ylver Blum Buer
Valter Decorte
Johan Danielsson
Christian Le
Level Design
Ediz Mehmet
Tiger Tjellesen
Graphics
Linus Bergström
Morgan Wildmark
Ivan Radenkovic
Isak Zillén
Animators
Jonathan Perjons
Viktoriia Shvydak
Lisa Tringale
Sound
Kimberly Palsäter
David Widén
Third Party
TGE The Game Engine by The Game Assembly
Level building in Unity by Unity Technologies
FMOD Studio by Firelight Technologies










