Add pluggable parser system, perception loop, and project infrastructure
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)
This commit is contained in:
1 parent
0f370ec089
commit
f85c27a742
42 files changed
+3490
-134
No files matched your search
@@ -0,0 +1,54 @@
|
||||
# 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
|
||||
Reference in new issue
Block a user