Lucky Limbo is a first-person shooter deck builder. The game is set in a mysterious casino filled with monsters where players use a magical deck of cards to fight their way out.
Academic Team Project
Designed a core loop focused on the use of cards in real-time first-person shooter action
Collaborated with our level designer to allow the environment to expand and add to the opportunity space afforded by abilities
Conceptualized abilities according to different player playstyles and engagement types
Developed four different enemies to challenge player skills and usage of ability
Coordinated with UX designer to create an ability pipeline to streamline the process of adding new abilities
The enemy one pagers are design overviews for enemies. Detailing core elements of their design.
This Miro Board is where the large majority of my design work was done.
An Evolving Moveset
One of the core challenges I am learning to design around is the core move set. Over the game, the player slowly adapts, modifies, and builds up their deck as the game progresses. One of the biggest hurdles in these varying playstyles was designing enemies. If the player has different sets of attacks and abilities at any moment, how do I design the enemies to challenge them? More importantly, how do I have the enemies create fun moments for their build?
Establishing a Goal
These pillars are my core guiding principles for designing both enemies and cards. Using these goals allows me to ensure that the combat system stays homogenous as the game expands and evolves.
Challenging A Deck
When designing the enemies, I started by researching the ins and outs of the process from other games. Through this, the best approach was to focus on types of skills over individual abilities.
By focusing on types of skills instead of individual abilities, all abilities will similarly be designed around using or circumventing a particular skill. For example, designing an enemy that challenges the player’s skill at dodging. The player can either overcome the enemy with skilled dodging, or they can build their deck around circumventing dodging with abilities that allows them to move rapidly.
Once these goals for designing enemies were in place, I moved on to ideation. At the start of a project, I like to give myself some time to throw ideas out and see how I feel about them, which helps me grasp the space before adding bigger restraints.
I outlined 15 enemies with names, descriptions, and attacks. The key point of this exercise was to create a toybox. Once that toybox had enemies, I placed them on a grid for range and difficulty to get a better understanding of way for how a battle would feel.
Once I had some enemies locked in, I made One Pagers for the first three enemies in our progression. These concisely summarize the enemies, which allows me to work with the rest of the team on developing them further and look for enemies that may potentially overlap experiences.
With enemy one-pagers complete, I move on to AI mapping. This is where I outline how the AI handles different situations This helps highlight any problematic states or unengaging moments; for instance, giving the AI an option for an airborne player in melee range.
Now that enemy one-pagers have been completed. I move on to AI mapping. This is where I outline how the AI handles different situations This allows me to foresee any problematic states or unengaging moments. For instance, giving the AI an option for an airborne player in melee range.
Once this planning stage was complete, it was time to move onto the prototyping. I started with simple prototypes of each enemy and then did some internal testing to find what was working.
This video highlights the Mini-Slots, which are a swarm enemy focusing on challenging player reactions and dodging. Their design is centralized around one moment, when the player dodges their jump attack. Seeing the slots jump and then quickly dodging creates a very intense emotion that sticks with the player even after they finish playing the game.
The next stage in this process is focused on testing, which is currently in progress and will be updated in the future.