Posted by on Sep 9, 2012 in | 0 comments

About the Game

Development Platform: Corona SDK (Lua based)

Target Platform: iOS Devices

Core Team Size: 2 (with 2 part-time contract artists)

My Role: Game Designer and Programmer

Development Time: 4 Months

Concept: Fallen Kingdom is a dark fantasy, turn-based strategy game inspired by classics such as Space Hulk and Diablo. A fallen god has corrupted an entire nation of people into deathless servitude, but a small and desperate resistance movement has begun efforts to purify this corruption and restore the kingdom. The player commands one squad of this resistance movement, and must make tactical decisions to defeat large numbers of undead enemies through narrow corridors with a small number of specialized units.
Target platforms include iOS touchscreen mobile devices (the iPad2 and iPhone4 and newer). Therefore, there is a focus on streamlined controls, short play sessions, and replay value. Unlockable character classes, multiple difficulty settings, and branching progression paths for each character class encourage multiple playthroughs of the game. This game serves as a thesis artifact for both myself – studying Timed Action Sequences on touchscreen mobile devices – and for my partner, Jeff Bickel, who was studying procedural level generation.


Game Design Goals

Design for Touch Controls: In designing the User Interface, I kept our target platforms in mind. We needed larger buttons and icons than one might have in a computer game controlled by mouse and keyboard. For my timed action sequences, I created mechanics that full make use of the touch control method rather than simply work around it.

Tension: I wanted horror-like tension and a feeling that the player was being hunted by the enemy at all times, a rare feature for turn-based strategy games. To make this happen, we designed a “Hound” character, essentially a powerful werewolf enemy NPC that is always searching for the player’s party.  Each level has a number of shrines that the player can visit to cleanse their squad of taint, causing the Hound to lose their trail. However, each round that passes where the player has not visited a shrine, the Hound has a greater chance to spawn and attack.

High Stakes Gameplay: We wanted to give the audience a difficulty yet rewarding play experience where both player characters and monsters are powerful. Characters can die after just a few attacks.


Skill Over Chance: Traditional table-top strategy games rely on dice rolls to determine outcomes in encounters, while electronic strategy games tend to use a percentage change based upon character level an equipment. While there is an element of chance in Fallen Kingdom, I wanted to give players a chance to increase the performance of their characters through skillful execution of minigames. For example, a character may have a base chance to hit of 80%, but flawlessly completing a timed action sequence before the attack may boost that chance to 95%.

Strong Replay Value: Procedural level generation creates unique geometry for every level. Players can level up their characters with experience points and invest into various skill trees. Three levels of difficulty – Normal, Veteran, and Nightmare – encourage multiple playthroughs and strengthening one’s party as far as it can go.


About My Role: Game Design and Programming

During preproduction, I worked primarily as a game designer during preproduction as we built exhaustive balance sheets in Microsoft Excel and created our product backlog. We wanted to ensure balanced encounters for all possible player characters and enemy npcs at all difficulty levels. Beyond the shared balance and production duties, I designed the menu and HUD systems and (most importantly to my thesis work) the various Timed Action Sequences for players to perform.

Once production began, I created hundreds of UI-centric art assets and wrote over 12,000 lines of code. My work focused on several key systems:

1.) Code and art for the main menu and squad management screens where players build and customize their squad.

2.) Code and art for in-game HUD and utility systems, such as turn-tracking and notification system that increments and alerts the player to the possibility of our “Hound” monster spawning.

3.) Code and art for all of the Timed Action Sequences.


Multi-dimensional Array Manipulation via Drag and Drop

After choosing one of up to four previously saved squads, players enter the squad management screen. The program first builds the chosen squad by looking up unique identifier numbers for each character and then comparing that with our character stable. When it finds a match, it pulls data (including level, character class, name, etc) from the stable and puts it into the active squad table. Each squad is an index table of individual character tables.

If the player wants to change members of their squad, they can browse available characters on the right side of the screen. Characters are sorted by class, which the player can flip through by tapping on the icons in the top right. In the screenshot above, the player is browsing the Warden class and is dragging one of the Wardens, “Mike”, to replace “Hale”. Each draggable object stores a pointer to its associated character’s table position within the stable. Once the player begins to drag one of the characters, the program checks for the final position of the display object at release. If the finger left the screen at an x/y position above one of the portraits on the left, the program moves that character into the active squad and places the old character back into the stable.

Players may also recruit new characters for their squad by pressing the + button at bottom right. After accepting input for the new character’s name, the program generates a new, unique ID number for that character. Then, after comparing the randomly generated ID against all existing IDs to ensure there are no matches (if there are, it creates a new one), it takes both the name, ID, actively selected character class and creates a new entry in the character stable table.


Timed Action Sequence: Ranged Combat

The objective of the bow TAS is to maximize the Huntress’s chance to land his attack by getting the progress indicator to stop in the optimal white or blue zones. Once the player touches the onscreen representation of a bow and pulls back, the progress indicator begins to move up the charge meter. Once the indicator reaches the desired location, the player releases their finger from the screen, simulating the release of a nocked arrow. The progress indicator then freezes in place and glows the corresponding color of its matching region to notify players of their level of success. Finally, the overlay disappears and the Huntress executes its attack.


Timed Action Sequence: Melee Combat

The melee TAS simulates the act of opportunistically jabbing at enemies with one’s weapon. The player must first touch their finger to the “Touch”. Upon doing so, the TAS reveals the three question marks to be one of two symbols: a shield or a sword. Shield symbols represent strong points in the enemy’s defense while sword symbols represent weak points that the player should attack and exploit. At this time, the bright blue glow of the sword symbols begins to fade, signifying that their positive bonus is weakening over time. Meanwhile, the orange glow of the shields begins to brighten, signifying that their negative bonus is strengthening over time.

This system allows players who quickly succeed at the TAS to gain the strongest bonus. Players who attempt to solve it quickly but fail to swipe to a sword symbol do not receive a strong penalty. Conversely, players who correctly swipe the sword symbol but wait several seconds before doing so receive minimal benefits, and players who wait several seconds and still fail to swipe to the sword symbol receive moderate penalties.


Timed Action Sequence: Holy Flame (Magical Combat)

This TAS takes advantage of the multi-touch feature of modern tablets and smartphones. Once the player taps the center “start” button, an indicator at top reveals three runes in random order. These runes are placed on the table as they are revealed. Three flame jets point to each of the runes, and the player may block any of the flame jets by dragging one of two receptors around a circular track. Blocking one flame causes the other two to grow stronger, while blocking two causes the remaining flame jet to grow to the maximum level of strength.

The key to solving the puzzle is to set the runes on fire in the order they appeared by turning their corresponding flame jets to full strength. As the player completes the TAS, a timer ring on the outside of the rune table ticks down from blue to green to orange. If the player finishes while blue sections still remain, they receive the strongest damage boost to the following Holy Flame attack. Green provides no benefit/penalty, while orange imposes a damage penalty.