Development Info

Genre: Tactical Role-Playing Game
Team Size:
Team Breakdown: 1 Producer, 1 Game Designer/Level Designer, 4 Level Designers (excluding GD), 5 Artists, 3 Programmers
Engine: Unreal Engine 3 (UDK)
Development Time: 6 Months


Role: Lead Level Designer

  • Original Game Concept
  • Environment Creation (Roskilde & Gates of Asgard levels)
  • Gameplay Scripting (Yggdrasil level)
  • Systems Design (unit abilities)
  • Boss Design (Gates of Asgard level)
  • Level Design Wiki Maintenance

Design Goals

Unique Twist on Turn-Based Strategy: Midgard Saga is a tactical role-playing game like few others. Its radial movement system allows units greater freedom of movement more akin to a tabletop strategy game than a grid-based tactics one.

Wide Ranging Ability Combinations: The player can pick each of a unit's four abilities at the start of every level, providing numerous combinations to suit every strategy and situation.

Five Unique Environments: In Midgard Saga, the player moves from a warm tavern in snowy Scandanavia up the World Tree to Asgard itself, and can feel every step of the journey in the game's ever-changing landscapes.

Game Summary

Midgard Saga is a single-player turn-based tactical role-playing game in which players control four vikings as they climb from Midgard to Asgard to return magical mead to Odin. The four hero characters -- Freya, Bjorn, Iliana, and Dag -- fight their way through five unique environments against mercenaries and minions employed by Loki to steal the mead for himself. The game features a radial movement system as opposed to the grid-based one present in most 'tactics' games such as Final Fantasy Tactics, giving characters greater freedom of movement closer to that in tabletop strategy games like Warhammer: 40,000. It also uses a flexible abilities system, letting players mix and match character powers from a pool each level. This helps them adapt to every challenge tactically, and with greater customization options.

My Role

As Lead Level Designer on Midgard Saga, my primary responsibilities were to direct the game's level design, oversee the team's designers, and work with the Game Designer and other leads to maintain consistency and smooth workflow. My personal (non-lead) contributions to the game were:

  • Environment creation on 2 levels: Roskilde and Gates of Asgard
  • Gameplay scripting on Yggdrasil level
  • Worked with designers to create and implement the game's many abilities
  • Co-designed boss encounter on Gates of Asgard level
  • Implemented script for dialogue in all levels
  • Scripted victory and defeat conditions on multiple levels
  • Created in-game cinematics on Yggdrasil level

Level 2: Roskilde

"Roskilde" is the second level of Midgard Saga, the first non-tutorial level in the game. It provides an easy introductory (but unguided) challenge and gives the player a first chance to openly experiment with strategies. The goal of the level is to reach and kill three summoners. Each summoner contributes one enemy (randomly melee or ranged) to a pool of foes that appear near the player characters around the map every three turns. This puts constant pressure on the player to reach and defeat the summoners, thus completing the goal of the level. Doing so is further complicated by enemies who begin in set locations around the map (some hidden, others revealed). The player has access to a limited ability pool with which to customize characters at the start of the level.

Level Design Goals:

  • Introductory challenge allows the player room for experimentation with mechanics and strategies
  • Multiple player paths gives the player freedom to complete objectives in any order
  • Constant pressure ensures the player must move forward aggressively toward goals
  • Limited ability selection allows the player some early customization options for characters without an overwhelming experience with the game's full ability selection menu

Overview Map:

Roskilde: Image Walkthrough

  • Level introduction. My primary responsibility on this level was to create the environment, placing static meshes in the layout we drew up.
  • A lone encounter draws the player into the map.
  • Nearby is a summoner, who every 3 turns contributes an enemy to a pool that spawn around the map.
  • Three enemies are summoned. They spawn based on the player characters' locations and draw the player around the map.
  • The summoned enemies provide incentive for the player to keep moving.
  • Some enemies are hidden in objects like barrels or, in this case, a snowman.
  • The last summoner left alive summons defenders.
  • The heroes approach the final summoner to end the level.

Roskilde: Full Playthrough

Level 4: Yggdrasil

"Yggdrasil" is the fourth level of Midgard Saga. It is the last level before the final boss encounter in Level 5: Gates of Asgard. It is designed to be Midgard Saga's most challenging standard level, featuring powerful enemies, an unforgiving lightning strike mechanic, and a party of doppelganger mini-bosses at the end. The level begins by introducing the final boss, Loki, who summons a lightning storm that chases characters throughout most of the level. Every turn, the lightning storm advances forward, killing any characters within its bounds. The characters begin split into two lanes, and must battle doppelganger enemies until they can reunite. Finishing of fall standard enemies (while avoiding lightning death) triggers a stop to the lightning and a mini-boss encounter with a shadow party.

Level Design Goals:

  • Serious challenge to test the player's mastery of the game mechanics
  • Divided party necessitates strategic thinking in a disadvantageous situation
  • Intense pressure requires the player to make every move count in an unforgiving environment
  • Mini-boss encounter confronts the player with a powerful shadow party and puts a large suite of player abilities are at the enemy's disposal

Overview Map:

Yggdrasil: Image Walkthrough

  • The level begins with a short series of cutscenes introducing the enemies and splitting the four main characters into groups of two. I was responsible for creating the cutscenes.
  • Loki reveals himself as the villain of the game in this level and promptly begins assaulting the characters with a lightning storm.
  • The two groups of two characters must battle the enemies and race the lightning to advance.
  • I scripted the lightning storm, a big part of the challenge in this level. It kills everyone caught on or behind the red line projected on the ground, and advances a short distance every turn.
  • The player can reunite the party, but must pincer and defeat a group of enemies in the middle of the map to do so.
  • Defeating all enemies in front of the crystal wall will force it to lower, allowing the player to advance but revealing more enemies.
  • Removing the wall tests the player against a pincer attack.
  • Defeating all enemies or advancing far enough beyond the crystal wall stops Loki's lightning attack, and the player confronts the boss.
  • Loki vanishes, but summons a group of doppelgangers to battle the player. These mini-bosses mimic the player's abilities.

Yggdrasil: Full Playthrough

Level 5: Gates of Asgard

"Gates of Asgard" is the final level of Midgard Saga. It consists only of a three-stage boss fight. The player combats Loki and his shadowy minions.

Phase 1: Every 3 turns, Loki teleports and switches between one of three ability sets
Phase 2: Loki removes himself from the battle and summons four doppelgangers to surround the player characters
Phase 3: Loki returns to the battle, split into three forms, each with one of his three ability sets from Phase 1

Level Design Goals:

  • Challenging boss encounter wraps up the game's climax
  • Encounter variance forces the player to adapt to the boss with new strategies
  • Majestic environment sets an awe-inspiring stage for the game's last level

Overview Map:

Gates of Asgard: Image Walkthrough

  • The characters approach the Gates of Asgard, their ultimate destination. I did environment creation work on the level.
  • The players are confronted by Loki, seeking to stop them from entering and fulfilling their mission to deliver magic mead to Odin.
  • Phase 1 of the boss battle pits the player against Loki alone.
  • In Phase 1, Loki teleports around the map every three turns and alternates between a set of three ability packages.
  • After defeating Loki in the first phase, he removes himself from the fray and summons doppelgangers to surround the player's party.
  • Battling the doppelgangers ups the challenge by a significant amount, as the party begins surrounded.
  • In Phase 3, Loki again faces the players, but this time splits himself into three.
  • The three Lokis each have an ability package from Phase 1. One Loki has half the health of the original, and the other two each have 1/4.
  • The fight gets down to the wire.
  • After defeating Loki, he flees, and the characters enter Asgard to accomplish their mission. The player has beaten the game.

Gates of Asgard: Full Playthrough

Kismet Scripting Contributions

  • I scripted the basic victory and defeat event templates used throughout the game, and implemented them personally in levels 2 and 4. This is the victory event for level 2, Roskilde.
  • Defeat event for the Yggdrasil level. The victory and defeat events often triggered several dialogue sequences.
  • The Kismet for the lightning storm in Yggdrasil. This powered the particle effects and screen flash, moved the lightning storm and killed anyone inside of it. The storm itself was represented by a killbox that moved, but the box won't trigger if a character begins inside of it while it is toggled off. This necessitated creating an object list of pawns that move in and out of the box. The script runs through the list and kills any pawns inside of it when the lightning triggers.
  • This Kismet activates a particle on any pawn that enters striking range of the lightning storm, and applies a status effect to them to serve as a forewarning.
  • The full Kismet for the particles and status effect.
  • Kismet to trigger and transport the players to the doppelganger mini-boss fight, if necessary.
  • This is a snippet of script that toggles particles randomly within the lightning storm to make it look like it's sparking.
  • An example of dialogue Kismet used in the Roskilde level.