Home - GalLalouche/nessie GitHub Wiki

Nessie is a team-based rogulelike, written in Scala.

  • Strive to make code as functional as possible
    • Monadic randoms
    • Lenses galore
    • Reactive views
  • Complete separation of View and Game state
  • Absolutely no RNG in combat
    • No accuracy
    • No damage rolls
    • No critical strikes
    • RNG is only used for map generation, mob stats and placement, loot tables, etc.
  • Aiming for FFT (turn-based tactical team RPG) meets Diablo (Roguelike with random prefixed items)
  • Auto-pausing, realtime simulated, turn-based combat
    • Combat is made up of individually ticking events
      • Unit turns
      • Spells start and end
      • Pets lifetime
      • DoT Ticks
      • DoT Heals
    • Whenever an active event occurs, e.g., a unit turn, the game "pauses" and plays out like a regular turn-based game
    • Unit turn-time is dynamic and can be played with
      • Faster units act more often than slow ones
      • Some actions, e.g., a heavy strike, delay the turn for longer than others, a quick jab
      • Unit can interrupt other units if they're fast enough, e.g., a summoning ritual may take 50% of the current unit's time turn, and an enemy unit can stun it before it completes the spell