A game about exploring an abandoned city, finding magical plants, and fighting bandits.
Team Size: 5
Development Time: 3 months (2019)
Tools Used: Unreal, Blender, Adobe Suite, Maya
Yggdrasil is an atmospheric first-person-shooter set in a post-apocalyptic city overrun by otherworldly flora. The player takes the role of treasure hunter trying to reach the source of the phenomena, Yggdrasil, the world tree, after hearing rumors that reaching the tree will grant one's deepest desire. The city is filled with viscous rival treasure hunters, strange plants, and mystical phenomenon. The player uses magical plants and clunky guns to fight their way through the forested city in fast paced, deadly firefights. As the player delves deeper into the city’s winding streets and overgrown buildings they’ll discover new abilities and weapons to expand their arsenal.
The team's biggest goal with Yggdrasil was to create a game with satisfying, varied combat where the player can mix and match abilities and weapons to tackle combat scenarios in their own way. We wanted these combat scenarios all take place in a ruined, atmospheric city that through art, sound, and UI should immerses the player into the game. As combination of the previous two we want to create an experience where the player is motivated to go deeper into the city to discover beautiful new environments, fight interesting enemies, and add powers and weapons to their arsenal. We shot for the moon with Yggdrasil and tried to combine everything our team wanted to make in one package.
Due to the large scope of Yggdrasil and our team's small size I ended up wearing a whole lot of hats. My primary roles were Systems/Combat Designer as well as Character Artist/Animator. I also designed the UI, world narrative/context, and created of some miscellaneous prop and concept art.
fast movement in a melancholic atmosphere
Designed around fast paced, aggressive combat where dashing and dodging provide just as much protection from incoming fire as any piece of cover. There's no penalty to offense by staying mobile as hip-firing and moving don't reduce the player's accuracy. Base walk and crouch speed are slower to allow precise aiming and easy movement while exploring claustrophobic spaces, but the player is equipped with a speedy sprint and even faster dash slide to allow them to reposition freely and adapt their strategy in combat on a dime. Creating an experience of slow, suspenseful exploration with bursts of action.
Powerful, Chunky Weapons
The Rifle is a reliable precision tool that’s most effective at mid to long range. The Rifle is designed to be the reliable, default weapon of the player. The Rifle's larger than average bullet hitbox size helps keep it relatively forgiving to use even in frenetic close range encounters.
An aggressive, close range weapon that can deal massive amounts of damage and stagger enemies. The shotguns pure power is offset by its long full reload time and its damage falloff and inaccuracy at range. The Shotgun rewards players who manage to close the gap to enemies.
Melee isn't signifigantly weaker than ranged attacks it's more dangerous to use though. As if the player makes a mistake they're sure to take damage. One hit kill melee on basic enemies promotes players to be aggressive in combat and allows them to keep the pressure up even when they need to reload. It also allows them to always have a backup if ammo runs out.
abilities that interact with the environment and enemies
All saplings were planned with environmental progression in mind to add intrigue and strategy to combat areas as well as providing a more natural way to open up new areas in the map for the player to explore. Environmental interactions were designed side by side with the level designer to make sure they were interesting and enjoyable to design spaces around.
The Hooked-Tangle-vine is a low cost and cooldown lasso that can pull down pieces of the environment to disrupt enemies, pull of enemy armor to expose weak points, and pull enemies to the player.
A high cost ability that summons small minions that seek out enemies and ensnare them. Acts as crowd control, freezing enemies for a short time and leaving them vulnerable to attacks and turning them into temporary barriers to that clog choke points or become bullet shields. Creeping Gutweed are more interested in eating than helping the player and if a food bush is nearby they'll seek it out and consume it --which often conveniently opens up new paths or secret areas for the player.
linking health and mana
Health, Charged Sap, and Sap
The player must manage four resources, Health, Charged Sap, Sap, and Ammunition. Health is lost when the player takes damage and if it runs out they're killed. Charge Sap allows players to invoke the power of Saplings and cast magical abilities. Sap is a lootable resource that can be used to restore Health or Charged Sap . This gives the player the ability to proitize their safety and ability to make mistakes by restoring health or to be more aggresive and have more options in combat by restoring Charged Sap.
Looting and exploring to survive
Ammunition is consumed whenever the player fires one of their primary weapons. Ammunition is plentiful enough to allow the player to run and gun but not plentiful enough that they player doesn’t have to consider it when going into combat. Players can find bonus ammunition and Sap pickups off the beaten path --hidden away in nooks and crannies
With accuracy both the Rifle and Shotgun can consistently kill enemies in one shot but low ammo capacity, slow fire rates, and a relative scarcity of ammo pickups balance their power. These aspects help a hardcore player create an ammo economy in their head, "I picked up 3 bullets; that’s 3 dead enemies if I’m careful."
Enemies: AI & Art
Creating a prototype of a world that felt "alive" was one of our major goals for Yggdrasil. In our early stages the primary way to show this was through our enemies. The group the player fights, The Vultures, roam the city are found in mid-sized groups, scavenging loot from the dead and looking for valueable Saplings. Seeking the player's Saplings they attack in a variety of different combat scenarios. They can be on the defensive, patrolling and milling about in a small area until the player is detected or they can engage offensively and attack the player without much warning.
Models and Animation:
While normally worked on farther in the production cycle we decided to put a significant amount of resources into animated characters. The Vultures and player model were developed in conjunction with the game from almost the very beginning --this proved to be a poor choice, but I'll save that for the reflection.
Melee Vultures will charge the enemy but still have an interest in self-preservation and use dodge when aimed at. Their job is to force the player out of cover, to reward them for good positioning, and to pressure the player to act instead of hiding.
Ranged Vultures have a stronger interest in self-preservation and will always attempt to position cover between them and the player Their job is to force the player into cover, reward them for careful aim, and provide opportunities for the player to use saplings to kill them.
Art, Context, and Tone
To create the overgrown and slightly phantasmal feeling of Yggdrasil's environment we focused on foliage and organic models despite the game taking place in an urban environment. The glowing foliage is inspired by images of how bees see flowers and became Yggdrasil's most distinct visual feature. We knew we wouldn't have much time for inorganic models so we used Soviet-Era Khrushchyovka models to build the bounds of the map. These bland grey obelisks give off the abandoned, post-apocalyptic feeling and the glowing foliage and rolling fog brings in the supernatural element.
To help the player connect and become more immersed to the other-world nature of Yggdrasil we added a dirt mask, minor vignette effect, and some screen scratches to simulate wearing a gasmask. Dividing the player from this unknown world behind a thin piece of glass. Adding some diegetic UI elements also helped promote player immersion but due to the fast-paced and arcade nature of our combat we made sure that information was still visible at a glance.
Yggdrasil was created during my senior year of college under the Champlain Game Studio Capstone program. Senior Students spend their first semester of the year working in small teams of 4-5 students to produce game prototypes. At the end of the semester the prototypes are shown off to the game faculty and fellow students. The games are then voted on and the most promising prototypes continue development in the second semester. The teams that didn't go through are cut and their members are absorbed into the other teams through a draft system. Yggdrasil was not chosen to move on to the next semester. While being cut was disappointing it was a wake up call that I needed and that I'm more than grateful for. The other benefit of being cut was that I was able to experience the process of onboarding and integrating into a new team -- which may have been one of the most valuable experiences I had at Champlain.
When we made Yggdrasil we wanted to aim close to the stars and pack as much cool stuff into the game as possible. We knew it was risky choice, but we went for it because Yggdrasil was likely the last chance we'd have to completely fail with no financial repercussions. We, myself likely most of all, foolishly figured that as long as we put in the extra hours we'd be able to hit even lofty goals unless we got absolutely unrealistic. While we certainly had a lot of different classes competing for time it wasn't a lack of work hours that hurt us, but rather inefficiency and misdirection in our work. Our desire to prototype what would eventually be a systems and art heavy made it all too easy for us to never define strong pillars. Our vision for the game was always grandious but never clear. We threw in a bucket of cool ideas (a dangerous word to hear in game development): advanced dynamic AI; atmospheric and suspenseful exploration; alien fauna and temporal anomalies; the heavy use of environmental interaction in combat. These were certainly interesting but none were part of the foundation of Yggdrasil, or were one thing we could point to that made our game exciting to play.
The closest we got was actually during early playtesting. Creeping Gutweed, an ability that allows players to summon swarms of minions that attack enemies and destroy environmental hazards was the first ability we prototyped. Because of this our early levels and combat encounters focused around using these small minions. Among our peers we became known as the "little guys game" and people had a blast simply messing around with the swarms of, at the time, default unreal mannequins that would follow them around and attack stuff. Even months down the line they were still what excited people when testing our game. We never capitalized on this and in fact I ended up significantly reducing their strength and took out the ability to spawn more than group at a time as they had become the only thing players would use in combat scenarios. During this time we were searching for what made our game unique and an option was right in front of my face. I knew how much fun people were having with the Creeping Gutweed, but instead of broaching the possibility of switching our focus to these cute monster minions I pushed forward with my initial combat design ideas --even when players weren't engaging with them. I kept thinking, "once we get this feature in it'll start coming together" but that never truly happened. Without a tangible foundation to build around Yggdrasil turned into a nebulous group of ideas rather than connected and defined game systems. Staying grounded is one of my greatest weaknesses, but I have Yggdrasil as a clear reminder to evaluate and assess the core of systems I'm working on rather than following just ideas.
Another major issue was our lack of conditions of satisfaction for completing tasks, which severely hurt the integrity of Yggdrasil's gameplay. Due to the game's large scope we knew we'd have to move quickly. Having been the loudest voice in pushing for a larger scope I was in such a frenzy to try to take on as many tasks I could handle I didn't realize I wasn't completing them to an acceptable level until it was too late. Making a projectile spawn with forward velocity from a gun barrel isn't the same as setting up a core shooting system. Carelessly I didn't even realize bullets were slightly offset from the cursor until a week out from the final deadline. I hadn't even fully playtested, tweaked variables, or added acceptable visual feedback to some mechanics until the final weeks of the project. This issue permeated many of my tasks leaving them half baked even in our final prototype. My goal when taking on the responsibilities of both a character artist and combat designer was to be able to make powerful animations that enhanced combat. Instead I spread myself too thin and made weak animations and flimsy combat. If I had given combat a strong foundation and then enhanced it with art later Yggdrasil would have been in a much better state. As a silver lining, if there was a time to let my team down it was during this project. We knew from the start there was a high chance we'd crash, I just wish I could've kept myself in reality instead of clambering after things that could have been cool. Since then I've learned make sure I don't bite off more than I can chew and to slow down and ensure a feature is progressing, being tested, and being updated at a healthy rate rather than throwing a check mark on something, planning to come back to it, and sprinting to the next task.