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 integration0.2.0 :
- Added MUDApplication class
- Updated KoffeeKrew-Raycaster submodule to 0.20.20.2.1 :
- Updated KoffeeKrew-Raycaster submodule to 0.22.00.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 count0.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.00.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.00.5.0 :
- Refactored KoffeeKrew-Raycaster-MUD source tree into domain subdirectories
- KoffeeKrew-Raycaster-MUD: core/, player/, ui/
- Updated KoffeeKrew-Raycaster submodule to 0.26.00.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.10.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.20.7.1 :
- UpdatedC++standard fromC++20toC++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