Slide Projects About Blog Resume Contact Projects About Blog Resume Contact
menu
close
Kelton Weigelt

School
Unity, Visual Studio
C#
Project Manager, Lead Developer, Vision Keeper

Developer Commentary

Project Type
Software Used
Languages Used
Primary Role

Download PC Build

Slide About the game Shaman Saga is a co-op top-down dungeon crawler in a sci-fi setting. The yellow player can only damage yellow enemies, and the purple player can only damage purple enemies. Hitting an enemy of a different, and therefore wrong color makes the enemies stronger and changes their attack pattern. However, two cooperating players can swap characters by both holding B on the controller at the same time. This triggers a soul swap and destroys everything between them in a straight line. About the project Shaman Saga began as my solo learning project with the goal of creating my first 3D game. I spent 2 months coding a 3rd person controller before the project began. At MD.H students are required to form project groups and create a game in 4-6 weeks. For Shaman Saga the artists delivered wonderful assets. The game looks quite good considering this was the their first 3D game as well. My Contributions Summary I programmed everything in this game except for the main menu. I wrote the 3D player controllers, designed and implemented all character abilities, as well as designed and implement all enemies and their attack patterns. I also came up with the swapping mechanic as well as color based damage to encourage co-op. Gameplay Design - Swap
I began by doing a huge amount of research into the dungeon crawler genre. The genre has many variations from turn-based strategy like Darkest Dungeon to bullet-hell like Enter the Gungeon. To make sure the project was doable in 6 weeks I set myself some restrictions like the game won't have a complex story or many RPG elements. My main inspiration for this game was Gauntlet Slayer Edition, Diablo 3, and Dead Nation. I tried to create a similar game but added a unique focus on co-op.

We had many ideas regarding different co-op mechanics but we eventually settled around color based character swapping.

Color based enemies was an important idea to encouraging players to cooperate . As a logical consequence, enemies needed to get buffed if hit by the player of the wrong color. I liked this idea because it meshed well with another Idea I had which was each player would have one single hit attack, and one area of effect attack. I wanted to encourage players to actually aim, and use the area of attack spell strategically, this means on a group of enemies with mixed colors, using the area of attack spell on them would be bad, because although the attack would have killed some, it would strengthen the other enemies. In this case it would be better to use the single attack and aim well. I also like the idea of having a purple wave spawn below the players and have a yellow wave spawn above the players, so they each are shooting in different directions.

Another concept to get players to swap were colored barriers that only one player could walk through. Again, this concept served the purpose of forcing a swap. But over weeks of play testing, this concept disrupted a lot of the combat without really adding to the fun. Instead, I added colored coins which encourage a swap without forcing cooperation.
The last idea to encourage the swap came from an artist. Swapping would damages all the objects in-between the players. I made the ability very strong and I added a really cool slow-mo effect inspired by the final knockout move in Super Smash Bros Ultimate. I also made the enemies explode in a cool ball of particle effects. This was ability was very well received, here is what it looks like in action.
Enemy AI The enemy AI I made for this game is heavily inspired by Dark Souls. The enemies have an advanced weighted attack system, which takes into account things like line-of-sight, player distance, relative player look direction, and cooldowns.

For example, the ranged enemy has two behaviors which change based on a combination of factors. If the enemy is close to the player, facing the player, and nothing is blocking line of sight the conditions are met for the ranged attack. If a player is aiming within 10 degrees of the ranged enemy, conditions will be met to dodge. The AI selects between different these different moves based on their chance of success and a weight set by the designer.
View Code Character Abilites Below you can see a page the project artists made showing our character abilities. I designed these and implemented them in the game. Shout out to Ben for this amazing art. View Code View Artist Gallery

Project Developement Videos I have a few informal videos I sent to my friends showing my progress in developing the game that I can show here. These videos were all taken before the game project began and everything you see was done entirely by me. In this video I had already had two characters, and had just made a camera that would zoom out to always keep them both on screen. Project Developement Videos This is part of the first level I made for the game, where I had fun by adding dramatic music and text. I was really having fun here Project Developement Videos Here you can see I changed the player colors, had different animations and models for each player, as well as different attacks. Project Developement Videos Here you can see a mock of the how I wanted the UI to flip when the players swapped souls.

Slide Contact Me Here Thanks for having a look at my website I hope you enjoyed it. Please feel free to contact me with any questions or work offers. I am available by email or on social media. Thanks! Kelton Weigelt Phone:
Email:
Website:
use email
kelton.weigelt@gmail.com
keltonweigelt.com