Phase 0 (housekeeping): - Add .gitignore to protect credentials and runtime files - Track all project source code, docs, and config Phase 1 (perception loop): - Implement pluggable parser architecture (BaseMudParser ABC + ParserFactory) - Add DeadSoulsParser with regex for HP/MP/SP prompt, room descriptions, exits (multiple formats), NPC/item detection, and combat events - Add OutputBuffer for accumulating text between prompts - Update GameState with SP support and update_from_prompt/room/combat methods - Rewire main loop to use parser + buffer for real-time game state updates - Add reconnection logic to TelnetClient (retry with backoff) - Remove old TextParser (replaced by pluggable system) - Add mud_type config field for selecting parser at runtime - Add comprehensive test suite (50 tests, all passing)
55 lines
1.1 KiB
YAML
55 lines
1.1 KiB
YAML
# MUD AI Player Configuration Example
|
|
# Copy this file to config.yaml and customize
|
|
|
|
mud:
|
|
host: "mud.example.com"
|
|
port: 4000
|
|
mud_type: "dead_souls" # dead_souls, aardwolf, etc.
|
|
username: "your_username"
|
|
password: "your_password"
|
|
|
|
character:
|
|
name: "AIPlayer"
|
|
preferred_class: "warrior"
|
|
preferred_race: "human"
|
|
play_style: "balanced"
|
|
|
|
ai:
|
|
engine: "rule_based"
|
|
llm_model: "llama3.2"
|
|
decision_delay_ms: [200, 2000]
|
|
exploration_strategy: "depth_first"
|
|
|
|
mapper:
|
|
active_storage:
|
|
db_path: "data/maps/active/world.db"
|
|
graph_cache_size: 10000
|
|
|
|
historical_storage:
|
|
archive_dir: "data/maps/archive"
|
|
snapshot_triggers:
|
|
room_count: 500
|
|
session_end: true
|
|
time_interval_hours: 24
|
|
compression:
|
|
fps: 30
|
|
codec: "h264"
|
|
|
|
semantic_search:
|
|
model: "all-MiniLM-L6-v2"
|
|
top_k: 5
|
|
similarity_threshold: 0.7
|
|
|
|
behavior:
|
|
reaction_time_min_ms: 200
|
|
reaction_time_max_ms: 2000
|
|
pause_probability: 0.05
|
|
typo_probability: 0.0
|
|
|
|
logging:
|
|
level: "INFO"
|
|
file: "data/logs/game.log"
|
|
console: true
|
|
max_file_size_mb: 10
|
|
backup_count: 5
|