added First bot with logging

This commit is contained in:
2026-04-01 23:02:17 +02:00
parent e0ee552012
commit 284a45ece1
6 changed files with 1948 additions and 13 deletions

View File

@@ -0,0 +1,42 @@
# Digital Dojo Bot Controller
This Avalonia app runs an autonomous bot for the Digital Dojo singleplayer API and visualizes both current game state and inferred enemy knowledge.
## What it does
- Starts/uses your current game session (`/api/game/{key}/create`, `/status`)
- Runs a cooldown-aware combat loop (`move`, `hit`, `shoot`, `specialattack`, `radar`, `scan`, `peek`, `dash`)
- Tries to maximize score by prioritizing fast damage actions when enemies are nearby
- Shows live stats (kills/deaths, HP, level progress, remaining time)
- Shows a local knowledge map:
- `P` = estimated player position
- `N` = nearest enemy from latest scan
- `* + .` = inferred enemy threat intensity
- Shows cooldown timers and action reasoning/logs
- Writes per-session analytics logs for post-run analysis
## Setup
Set your API key (GUID) in one of these ways:
1. Environment variable: `APIKEY`
2. User secrets (`Program` already loads user secrets)
3. Paste it directly into the UI text box before clicking **Start Bot**
## Run
```bash
dotnet run --project /home/tikaiz/RiderProjects/digitalDojo/DDApp/DDApplication/DDApplication.csproj
```
## Notes
- Position and map are inferred from your own movement + sensor calls (not an authoritative server map).
- The strategy is heuristic and tunable; it is designed for high kill throughput while respecting API cooldowns.
- Session logs are written to `~/.local/share/DDApplication/logs` on Linux:
- `*.events.csv` contains timestamped telemetry, decisions, and events
- `*.summary.txt` contains aggregate K/D, kills/min, deaths/min, and action success rates
- `latest.log` is a symlink that auto-points to the newest `*.events.csv` session log