Deck Mech

December 1, 2025

Title Card

Deck Mech was my first chance to step into a Game Designer role at Duke. Built for our Game Engines course, it is a two-player deckbuilding game where players first assemble mech armor pieces with different resistances, then battle using elemental attack cards whose damage is shaped by the suits they built.

Game Details

My Role

Gameplay Designer, Artist, and QA Programmer

Genre

Deckbuilding Sci-Fi Card Game

Platform

PC

Development Tools

Unity 6, C#

Key Features

  • Dual-phase game loop with stategy- and luck-based elements
  • Use of Prefabs and Scripted Assets to store data in a lightweight fashion
  • Local Multiplayer Gameplay (both players take turns with the main controls, indicated by game UI)
  • Point-and-click controls
  • Nostalgic pixel art for the cards coupled with fun animations

Teammates

  • Benjamin Blas Maristany (Lead Gameplay Programmer, Animator, and Sound Engineer)

Visuals & Media

Armor-Building Phase

The Hangar with some armor selected

The Hangar with some pieces selected and cards drawn.

The Hangar while prompting a player to build their armor

When each category has at least one piece, the player is prompted to build their full armor set.

Fighting Phase

Fighting Phase Start

Both armored Mechs have been built. Time to fight!

Fight Phase with drawn attack cards

Some attack cards have been drawn.

Fight Phase mid attack animation

The player has chosen an attack card! Damage is done to their opponent and the mech sprites are animated.

Fight Phase Victory

After attempting one "Last Stand" draw, a player fails to deflect their finishing blow and is defeated.

Development Process

This project was developed over a few weeks for the Game Engines course taught by Dr. Arnav Jhala. My main focus was designing the core loop, balancing card stats, and shaping a system that mixed strategic drafting with enough unpredictability to keep matches lively.

Key Takeaways

  • Game design and balance is very delicate - When building something like a card game, it is important to have a sensical game flow and a balanced set of stats. A few simple additions or subtractions can mean the difference between a well-balanced game and an unplayable mess. We ran into issues where most attacks would not do any damage for several turns in a row, so we had to compensate by buffing Attack cards.
  • If you're using AI, use it to analyze and calculate, NOT to generate - AI (with proper verification of results) is a useful development tool for mundane calculations, function/library searches, and prototyping. However, be sure to keep your core gameplay design, art, sounds, assets, etc... human-made.
  • Keep data lightweight - While it may be tempting to make a GameObject for each individual card, this would have made the game much larger than it needed to be. If you can find a way to store your data using simple data structures like arrays, JSONs, or Scripted Assets, you can simply extract the data you need when you need it and dynamically add it to a Prefab.

More Information

View on GitHub