mageGame

Overview

mageGame is a roguelike action game where you play as a fledgling mage defending your world from a demonic invasion. Descending into the dungeon from which the demons emerged, you must master a unique and flexible spell-crafting system to survive. The game is built from the ground up in C++ and features a custom 3D software renderer, a Verlet integration-based physics engine, and dynamic particle systems.

The core of the gameplay revolves around crafting custom spells by drawing magical symbols. Each symbol corresponds to a “word” of power, and by combining these words, you can create a vast array of unique and powerful magical effects.

Key Features

Gameplay Mechanics

The Spell Crafting System

  1. Drawing Symbols: Players use a gesture-based system to draw symbols on a canvas. Each recognized symbol corresponds to a “word” of power.
  2. Combining Words: Spells are constructed from three types of words:
    • Type: Defines the spell’s fundamental purpose (e.g., Attack, Heal, Trap).
    • Form: Dictates the spell’s shape and delivery (e.g., Sphere Projectile, Laser, Wave).
    • Affinity: Imbues the spell with elemental properties (e.g., Fire for burning, Water for knockback).
  3. Casting: Once a spell is assembled, the player enters a “cast mode” to aim and unleash their creation at enemies. The system allows for thousands of potential spell combinations, encouraging creativity and strategic thinking.

Combat and Progression

Combat is fast-paced and requires players to adapt their spell-crafting strategy to different enemy types and environments. Enemies have unique behaviors and elemental weaknesses. As you descend deeper into the dungeon, you’ll find new, more powerful spell words, permanently expanding your capabilities for future runs.

Technical Details

Custom Graphics Engine

The game is powered by a bespoke 3D software renderer written entirely in C++.

Physics Engine

The physics simulation is built on Verlet Integration, providing a (mostly) stable and efficient foundation for various physical phenomena:

Future Work