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
- Combat is made up of individually ticking events