Files
WoWee/docs/quickstart.md
kelsi davis 82afb83591 Update documentation to reflect current implementation and features
- Expand README.md with complete feature list (quests, vendors, combat, spells, inventory, etc.)
- Update Controls section with comprehensive keybindings organized by category
- Rewrite docs/quickstart.md from "TODO" state to reflect all working features
- Enhance docs/architecture.md with detailed system descriptions and current capabilities
- Add CHANGELOG.md documenting 50+ recent commits grouped by feature area
- Add FEATURES.md with 100+ documented features across 8 major categories
- Update technical details with architecture, networking, and asset loading info
2026-02-06 22:39:45 -08:00

7.3 KiB

Quick Start Guide

Current Status

Wowee is a fully functional native C++ World of Warcraft 3.3.5a client! The application includes:

Complete SRP6a authentication system Character creation and selection Full 3D rendering engine (terrain, water, sky, characters, buildings, particles) Online multiplayer gameplay (movement, combat, spells, inventory, quests) Offline single-player mode Comprehensive UI system (action bar, spellbook, inventory, quest log, chat) Asset pipeline for all WoW formats (MPQ, BLP, M2, ADT, WMO, DBC)

Quick Start

Prerequisites

Ensure you have all dependencies installed (see main README.md for details).

Build & Run

# Clone the repository
git clone https://github.com/yourname/wowee.git
cd wowee

# Get ImGui (required)
git clone https://github.com/ocornut/imgui.git extern/imgui

# Set up game data (see "Game Data" section in README.md)
# Either symlink Data/ directory or set WOW_DATA_PATH environment variable

# Build
mkdir build && cd build
cmake ..
make -j$(nproc)

# Run
./bin/wowee

What Works Right Now

Authentication & Character Selection

  • Login with username and password
  • Realm selection with population info
  • Character list with 3D preview
  • Character creation (all races and classes)
  • Enter world seamlessly

In-Game Gameplay

  • Movement: WASD movement with camera orbit
  • Combat: Auto-attack, spell casting, damage calculation
  • Targeting: Click-to-target, tab-cycling, faction-based hostility
  • Inventory: Full equipment and backpack system with drag-drop
  • Spells: Spellbook organized by class specialties, drag-drop to action bar
  • Quests: Quest markers on NPCs and minimap, quest log, quest details, turn-in
  • Vendors: Buy and sell items with gold tracking
  • Loot: Loot window for items and gold
  • Chat: Send and receive chat messages (SAY, YELL, WHISPER)
  • NPCs: Gossip interactions, animations

Rendering

  • Multi-tile terrain streaming with async loading
  • Animated water with reflections and refractions
  • Dynamic day/night cycle with sun and moon
  • Procedural star field (1000+ stars)
  • Volumetric clouds with FBM noise
  • Weather effects (rain and snow)
  • Skeletal character animations (256 bones, GPU skinning)
  • Building rendering (WMO) with frustum culling
  • M2 particle emitters
  • Post-processing (HDR, tonemapping, shadow mapping)

Single-Player Mode

  • Play offline without a server connection
  • Local character persistence
  • Simulated combat and XP
  • Settings persistence

Common Tasks

Connecting to a Server

  1. Launch wowee: ./bin/wowee
  2. Enter your username and password
  3. Enter the auth server address (default: localhost)
  4. Click "Login"
  5. Select your realm from the list
  6. Select or create a character
  7. Click "Enter World"

Single-Player Mode

  1. Launch wowee
  2. Click "Single Player" on the auth screen
  3. Create or select a character
  4. Play offline without a server connection

Playing the Game

Movement:

  • WASD to move
  • Mouse to look around / orbit camera
  • Shift for sprint

Combat:

  • Left-click to target enemies
  • Tab to cycle targets
  • 1-9, 0, -, = to use action bar abilities
  • Drag spells from spellbook (P) to action bar

Inventory:

  • Press I to open inventory
  • Drag items to equipment slots to equip
  • Drag items to vendors to sell
  • Drag items to action bar to use

Quests:

  • Click NPCs with ! marker to get quests
  • Press L to view quest log
  • Click NPCs with ? marker to turn in quests
  • Quest markers appear on minimap

Chat:

  • Press Enter to open chat
  • Type message and press Enter to send
  • Chat commands: /say, /yell, /whisper [name]

Development & Debugging

Performance Monitoring:

  • Press F1 to toggle performance HUD
  • Shows FPS, draw calls, triangle count, GPU usage

Rendering Debug:

  • F2: Toggle wireframe mode
  • F9: Toggle time progression
  • F10: Toggle sun/moon
  • F11: Toggle stars
  • +/-: Manual time control
  • C: Toggle clouds
  • L: Toggle lens flare
  • W: Cycle weather

Settings:

  • Settings window available in-game
  • Adjust UI opacity
  • Configure graphics options

Advanced Configuration

Environment Variables:

# Set custom WoW data path
export WOW_DATA_PATH="/path/to/WoW-3.3.5a/Data"

# Run with custom data path
WOW_DATA_PATH="/path/to/data" ./bin/wowee

Server Configuration: Edit auth server address in the login screen or configure default in Application settings.

Troubleshooting

Connection Issues

Problem: Cannot connect to authentication server

  • Check that the auth server is running and reachable
  • Verify the server address and port (default: 3724)
  • Check firewall settings

Problem: Disconnected during gameplay

  • Network timeout or unstable connection
  • Check server logs for errors
  • Application will return to authentication screen

Rendering Issues

Problem: Low FPS or stuttering

  • Press F1 to check performance stats
  • Reduce graphics settings in settings window
  • Check GPU driver version

Problem: Missing textures or models

  • Verify all WoW 3.3.5a MPQ files are present in Data/ directory
  • Check that Data/ path is correct (or WOW_DATA_PATH is set)
  • Look for errors in console output

Problem: Terrain not loading

  • Async terrain streaming may take a moment
  • Check for MPQ read errors in console
  • Verify ADT files exist for the current map

Gameplay Issues

Problem: Cannot interact with NPCs

  • Ensure you're within interaction range (5-10 yards)
  • Check that NPC is not in combat
  • Left-click to target NPC first

Problem: Spells not working

  • Check that you have enough mana/rage/energy
  • Verify spell is on cooldown (check action bar)
  • Ensure you have a valid target (for targeted spells)

Problem: Items not equipping

  • Check that item is for your class
  • Verify you meet level requirements
  • Ensure equipment slot is not already occupied (or drag to replace)

Performance Notes

Default configuration:

  • VSync: Enabled (60 FPS cap)
  • Resolution: 1920x1080 (configurable in Application settings)
  • OpenGL: 3.3 Core Profile
  • Shadow Map: 2048x2048 resolution
  • Particles: 2000 max (weather), emitter-dependent (M2)

Optimization tips:

  • Frustum culling automatically enabled
  • Terrain streaming loads chunks as needed
  • WMO distance culling at 160 units
  • Async terrain loading prevents frame stalls

Useful Resources

Known Issues

  • Stormwind Mage Quarter: Water overflows near Moonwell area (geometry constraint issue)
  • Particle emitters: Some complex emitters may have minor visual glitches
  • Hair textures: Occasional texture resolution on some race/gender combinations

See GitHub issues for full list and tracking.

Getting Help

  1. Check console output for error messages (use LOG_DEBUG builds for verbose output)
  2. Consult WoWDev Wiki for protocol and format specifications
  3. Review Architecture documentation for system design
  4. Report bugs on GitHub issue tracker

Enjoy playing WoW with a native C++ client! 🎮