All Projects / KoffeeKrew-Raycaster-MUD
Featured C++ 2 stars Updated 17d ago

KoffeeKrew-Raycaster-MUD

A MUD built on the KoffeeKrew-Raycaster engine, inspired by Runescape, Diablo, and Meridian 59.

README

KoffeeKrew-Raycaster-MUD

A MUD built on the KoffeeKrew-Raycaster engine, inspired by Runescape, Diablo, and Meridian 59.

Screenshots

KoffeeKrew Versioning System

Format: RELEASE.MINOR.PATCH

  • RELEASE: Major release versions

  • MINOR: New systems or modules

  • PATCH: Updates to existing systems or modules

Keywords

  • Added
  • Fixed
  • Improved
  • Refactored
  • Removed
  • Updated

Version History

  • 0.1.0 :
    - Added project foundation with KoffeeKrew-Raycaster as a git submodule and CMake build integration

  • 0.2.0 :
    - Added MUDApplication class
    - Updated KoffeeKrew-Raycaster submodule to 0.20.2

  • 0.2.1 :
    - Updated KoffeeKrew-Raycaster submodule to 0.22.0

  • 0.3.0 :
    - Added HUD class with health bar, mana bar, XP bar, action bar slots, minimap placeholder, and chat window placeholder
    - Added ImGui debug window showing version, entity count, and enemy count

  • 0.3.1 :
    - Added MUDApplication constructor registering ToggleUI (Tab) and OpenChat (Enter) bindings via engine InputManager
    - Added input mode switching logic in OnUpdate: Tab enters UI mode, Enter enters Chat mode, Escape returns to Gameplay from UI or Chat
    - Updated KoffeeKrew-Raycaster submodule to 0.23.0

  • 0.4.0 :
    - Added CharacterStats class defining MUD attribute names (Strength, Dexterity, Vitality, Energy), resistances (Fire, Cold, Lightning, Poison), derived from stat formulas (damage multiplier, defense, attack rating), and max HP/mana from computation Vitality/Energy
    - Added Leveling system class with exponential XP curve (200 * level^1.6), level cap of 99, 5 attribute points and 1 skill point per level-up, and XP reward scaling by player/enemy level
    - Added CharacterStats and LevelingSystem members to MUDApplication; stats initialized once on first level load via statsInitialized_ guard
    - Added OnPlayerDied override: respawns player at full health and mana in place
    - Improved HUD to display real health, mana, and XP fill fractions from CharacterStats and LevelingSystem instead of placeholder constants
    - Improved OnEntityKilled to grant XP on enemy kills, trigger level-up with full HP/mana refill, and log level and attribute point totals
    - Improved ImGui debug window with full character sheet: HP/mana, level/XP progress bar, attributes, derived stats, and resistances
    - Updated KoffeeKrew-Raycaster submodule to 0.24.0

  • 0.5.0 :
    - Refactored KoffeeKrew-Raycaster-MUD source tree into domain subdirectories
    - KoffeeKrew-Raycaster-MUD: core/, player/, ui/
    - Updated KoffeeKrew-Raycaster submodule to 0.26.0

  • 0.6.0 :
    - Refactored CharacterStats to a per-skill progression system with skills: Hitpoints, Attack, Strength, Defense, Ranged, Magic, Prayer
    - Removed LevelingSystem
    - Improved HUD with Prayer bar replacing mana bar, updated colors, and per-skill progress in the ImGui debug panel
    - Removed XP bar
    - Updated KoffeeKrew-Raycaster submodule to 0.26.1

  • 0.7.0 :
    - Added MUDItemDefinition struct defining fixed-stat item definitions with combat bonuses, equipment slots, and skill requirements
    - Added ItemRarity enum (Common, Uncommon, Rare, Exceedingly Rare) driving item name, color, and pickup sound
    - Added EquipmentSlot enum covering all 10 equipment slots with two-handed restriction support
    - Added ItemDatabase static registry with 70 item definitions: 30 melee weapons, 9 ranged weapons and arrows, 5 staves, and 26 armor and accessory pieces
    - Added MonsterDropTable system with guaranteed and weighted main table rolls resolved per kill
    - Fixed health bar fill scaling and divider position
    - Updated KoffeeKrew-Raycaster submodule to 0.26.2

  • 0.7.1 :
    - Updated C++ standard from C++20 to C++23
    - Refactored all stdcout and stdcerr output to stdprint and stdprintln
    - Removed all #include <iostream> in favour of #include <print>
    - Updated KoffeeKrew-Raycaster submodule to 0.27.1

CC0 Assets

Recent Commits

6d86be5 0.7.1 1mo ago
60e4bbf 0.7.0 1mo ago
3f7f81b 0.6.0 1mo ago
30f048d 0.5.0 1mo ago
bba7ad7 0.4.0 2mo ago
e4036c2 0.3.1 2mo ago
4d3e13d 0.3.0 2mo ago
f5b2356 0.2.1 2mo ago
0bca954 0.2.0 2mo ago
29c1feb 0.2.0 2mo ago