Duck Quest

Duck Quest

Game Development

Overview

Duck Quest is a 2D action platformer revolving around the fusion of deckbuilding and roguelike mechanics. By collecting cards contained in caskets throughout the game, players are able to amass unique skills and passive abilities to build a deck of cards that are unique to their playstyle.

The game follows our Duck protagonist, an everyday modern duck who was summoned to a parallel universe by an ancient duck civilization to fight off the evil demon duck king.

Tech Stack

C++Alpha Processing (Digipen in-house custom game engine)

My Contributions

Roles

Physics Programmer, Gameplay Programmer, Lead Game Designer, Product Manager

Lead Game Designer

  • As lead game designer, I created the vision for the game and drafted a game design document for all team members to refer to.
  • Led discussions with team members on game mechanics during planning phase and thereafter whenever necessary.

Product Manager

  • As product manager, I led weekly sprint reviews and communicated with team members on which tasks needed to be prioritized first.
  • Planned production schedule and setup Jira board for tracking progress.

Game Design

  • Assisted lead game designer with designing the player’s moveset, the skill tree as well as enemy types and their movesets.

Physics: Collision Detection & Resolution

  • Created utility scripts for creating AABBs as well as detecting and resolving collisions between AABBs.

Player Character

  • Created a character that is able to move, dash, jump (with varying heights depending on duration of keypress), basic attack and active skills.
  • This also includes the implementation of all other mechanics related to the player, such as hitboxes, HUD, animation components etc.

Active & Passive Cards

  • Implemented all active and passive skills in the game.

Traps

  • Implemented all traps in the game, including spikes, moving saws, lava and falling platforms.

Level Editor

  • Contributed to the Level Editor by adding buttons that allow level designers to place platforms, traps, enemies etc.
  • Also made it such that attack hitboxes are colored red (to distinguish between the AABBs that are of a lilac color).

Data Serialization / Deserialization

  • Leveraged existing Binary Serializer written by another fellow programmer to create player save data which allows cards held by the player to be loaded and saved accordingly when traversing between levels.