Files
exercises-300-digital-dojo-…/DDApp/DDApplication
2026-04-01 23:13:10 +02:00
..
2026-04-01 21:43:34 +02:00
2026-04-01 21:43:34 +02:00
2026-04-01 21:43:34 +02:00
2026-04-01 23:13:10 +02:00
2026-04-01 22:13:50 +02:00
2026-04-01 22:13:50 +02:00
2026-04-01 23:02:17 +02:00
2026-04-01 23:13:10 +02:00
2026-04-01 23:02:17 +02:00
2026-04-01 23:13:10 +02:00
2026-04-01 23:02:17 +02:00

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

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.csv contains machine-readable summary metrics and action rates
    • latest-summary.log.csv is a symlink that auto-points to the newest *.summary.csv
    • latest.log is a symlink that auto-points to the newest *.events.csv session log