Skip to content

EVE Combat AI v0.6.0-alpha — Technical Overhaul

Choose a tag to compare

@dysmorphis-hub dysmorphis-hub released this 09 Jun 19:55

EVE Combat AI — v0.6.0-alpha "Technical Overhaul"

The July technical-polish + bugfix release. Goes through the Nexus bug tracker and comments,
fixes the install pain, and adds a proper one-click control app. Built from user bug
reports and feedback on Nexus.


⭐ Headline: EVE Control Center (new installer + launcher + live monitor)

install.bat and the console-launcher are replaced by a single app (ships via GitHub, in
the backend bundle — the Nexus plugin still installs via Vortex as before):

  • Auto-detects Starfield (Steam registry + library folders, with manual override).
  • One Install button: drops sfse_http.dll into Data\SFSE\Plugins, enables the EVE
    plugin in Plugins.txt, writes eve_config.ini — all with robust quoted paths. No more
    "path not found", no more truncated-.bat failures on non-English Windows.
  • Customizable LLM port (dropdown + field), GPU selector (NVIDIA CUDA / AMD Vulkan),
    model dropdown (any .gguf you drop in).
  • Live console (bottom half): streams Eve Core ↔ llama-server REST traffic
    (/decide, /completion, …) so you can watch EVE think in real time —
    timestamped, color-coded by category (combat / companion / director / llama),
    with a search box and req=N health coloring.
  • In-game log feed: a papyrus toggle tails your Starfield Papyrus log and folds the
    EVE-relevant lines (our traces + EVE error stacks, no other-mod spam) into the same
    console — so the LLM decisions and the in-game script behaviour line up on one timeline.
  • Start / Stop / Uninstall buttons.

Antivirus note: because it runs local servers, some AV may flag it (same false-positive
class as the .pyd). It's 100% local; nothing leaves your PC.


🐛 Bug fixes (from your reports)

Dropships / reinforcements

  • Wrong faction fixed — a Crimson Fleet dropship reinforcing a Spacer POI (djoole). The
    faction is now chosen by majority vote across the whole squad, not just the first body.
  • On/off switchReinforcementOff kills dropships entirely while keeping the combat AI.
  • Lands in/through buildings — fixed. Before committing a landing, EVE scans nearby
    structures and spirals the landing spot outward — up to 30 tries, each stepping
    farther from you (~80 m → ~350 m) and rotating the bearing — taking the nearest clear
    spot
    . In a building-dense POI it pushes out and around until it finds open ground instead of
    dropping the ship on a roof. Only if it's completely boxed in all the way out to ~350 m does
    it fall back to crew-only insertion (no ship = no clipping). ReinforcementCrewOnlyOn
    forces crew-only if you never want the ship physics. (Distant drops are intentional — the crew
    marches in.)
  • Less frequent — the "2-in-10-decisions" cap is kept and exposed as a tunable.

World Director (POIs)

  • No POI mid-conversation. Director ticks are gated by the shared dialog check, so a POI
    never assembles while you're talking to someone.
  • Own notification toggleDirectorNotifyOn/Off, independent of the combat channel.
  • Stability: the ghost-quest guard (below) stops a stale cross-version save from spawning a
    second Director instance — the cause of duplicate/erratic POIs after an update. Start clean
    (new save or the re-bind dance) and the Director runs as a single instance.

Swarm ⭐

  • The swarm actually reaches you. Pulled creatures used to be aggroed toward a single
    stale point and never re-driven, so "23 pulled" but nothing arrived. EVE now re-drives
    every engaged swarm creature to your current position on a repeating beat
    (rush style +
    200 % speed + sprint), so the swarm keeps converging as you move.
  • Creature-feature mode. Against alien creatures, swarm is now the priority tactic
    when it's available the director keeps picking it (and it's exempt from the variety filter),
    so fauna encounters become an 80s drown-you-in-bodies swarm. Human factions are unaffected
    (normal suppress/cover/flank/regroup).

Dialog

  • EVE no longer interrupts conversations. Combat dispatch, POI spawns and dropships are
    all gated while you're in dialog — fixes the "stuck in chat with no exit" lockup in Neon
    (liquidcool25). It resumes the instant the conversation ends.

Log spam

  • "Unbound scripts cannot start timers" — gone. The orphaned ghost-quest instance can no
    longer fire timers (guarded on init state). (djoole)

Companion

  • Andreja keeps her gun. Companion suppress no longer scripts a melee rush (that drove
    the "drops weapon, runs in with fists"); it now holds ranged aggression, with a safe
    fallback combat style + a boot warning if the style is unbound.

Setup

  • Custom llama port actually works now. Eve Core read the port from eve_config.ini
    everywhere — it was hardcoded to 8080 in the compiled backend (djoole). Set
    [llama] port = 8081 and it's honored. (Eve Core's own port stays 7777 — baked into the
    plugin.)
  • Uninstall fixed — now a Control Center button with robust paths (the old
    uninstall.bat "path not found").
  • Non-English Windows — build scripts converted to ANSI/CRLF so CMD stops dropping the
    first characters of commands (the Korean install.bat fix, generalized).

Notifications

  • Per-feature toggles — every system has its own now, all default off:
    NotifyOn/Off (combat), ReinforcementNotifyOn/Off, CompanionNotifyOn/Off,
    DirectorNotifyOn/Off. See EVE_CONSOLE_COMMANDS.md.

🔧 Under the hood

  • All Papyrus scripts recompiled (v0.6.0-alpha) and the backend .pyd rebuilt with a new
    shared eve_settings module for the port config.
  • New shared dialog gate (EveInit.PlayerInDialog, via Cassiopeia IsMenuOpen).
  • Shared bounds-based clearance scan (EveInit.CollectLargeStructures / PointClearOfStructures)
    used by both the dropship landing and the POI placement.
  • Swarm gets a repeating drive timer (re-targets engaged creatures to the player), and the
    combat prompt + action filter make swarm the priority pick vs creatures.
  • Ghost-quest guard (eveInitialized) gates combat/timer/dispatch so a stale serialized
    instance can't fire on a [None] host or duplicate the decision stream.

Update

Standard re-bind after updating (the usual stopquest → save → reload → startquest → save
per quest — see EVE_CONSOLE_COMMANDS.md). Re-run the Control Center Install once.


Known follow-ups (not in this build)

  • ini-driven defaults for the per-feature toggles — the console toggles ship now; reading
    their default states from eve_config.ini on boot is still to come.
  • Stable EvePlugin.esm filename (to retire the manual re-bind dance) — needs more in-game
    testing of Starfield's binding serialization before it can be trusted; deferred.
  • Antivirus false positives on the .pyd / Control Center exe — code-signing is the fix;
    still open.