Commit Graph

32 Commits

Author SHA1 Message Date
0dab7a6cec Fix rl/sim blockers and add NuconGoalEnv for HER training
rl.py:
- Add missing `from enum import Enum`
- Skip str-typed params in obs/action space construction (was crashing)
- Guard action space: exclude write-only (is_readable=False) and cheat params
- Fix step() param lookup (no longer iterates Nucon, uses _parameters dict directly)
- Correct sim-speed time dilation in real-game sleep
- Extract _build_param_space() helper shared by NuconEnv and NuconGoalEnv
- Add NuconGoalEnv: goal-conditioned env with normalised achieved/desired goal
  vectors, compatible with SB3 HerReplayBuffer; goals sampled per episode
- Register Nucon-goal_power-v0 and Nucon-goal_temp-v0 presets
- Enum obs/action space now scalar index (not one-hot)

sim.py:
- Store self.port and self.host on NuconSimulator
- Add set_model() to accept a pre-loaded model directly
- load_model() detects type by extension (.pkl → kNN, else → NN torch)
  and reads new checkpoint format with embedded input/output param lists
- _update_reactor_state() uses model.input_params (not all readable params),
  calls .forward() directly for both NN and kNN, guards torch.no_grad per type
- Import ReactorKNNModel and pickle

model.py:
- save_model() embeds input_params/output_params in NN checkpoint dict
- load_model() handles new checkpoint format (state_dict key) with fallback

README.md:
- Update note: RODS_POS_ORDERED is no longer the only writable param;
  game v2.2.25.213 exposes rod banks, pumps, MSCVs, switches and more

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 17:37:16 +01:00
7fcc809852 Update README: valve API, cheat_mode, model learning overhaul
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 17:16:25 +01:00
c180fe4434 Logo! 2025-08-27 12:47:13 +02:00
08ecbb461d Param Repr should contain is_writable not writable 2024-10-11 08:57:40 +02:00
e4c9f047d0 Add PPO example to README 2024-10-10 17:27:12 +02:00
5dfd85a5af Fix README 2024-10-10 17:17:21 +02:00
7e0d85acc7 Update README 2024-10-10 17:14:26 +02:00
b750e80c80 Updated README 2024-10-10 16:54:43 +02:00
70fd128465 Expanded README 2024-10-10 16:52:37 +02:00
e625c994df Expanded README 2024-10-10 16:50:30 +02:00
ccbb83674a Fix typo 2024-10-10 16:46:13 +02:00
4791b2a4b6 Updated README 2024-10-10 16:45:06 +02:00
502c8a1c78 Fix typo 2024-10-10 16:40:13 +02:00
66481d8486 Fix typo + better install instructions 2024-10-08 17:21:02 +02:00
c0a9ec33a0 README: Added Note about current capabilities 2024-10-07 17:11:44 +02:00
2e759215a8 Rearange README 2024-10-03 23:35:39 +02:00
fb71780563 Better optional dependency management 2024-10-03 23:33:20 +02:00
a43c9550ac Fix typo in meme 2024-10-03 23:28:29 +02:00
70ed9d38ed Update README 2024-10-03 23:26:07 +02:00
f467e9cbcb Fix typo 2024-10-03 22:00:51 +02:00
c66a4f9e7d Updated README 2024-10-03 21:59:22 +02:00
b0a2ac7574 Fix port in README 2024-10-02 22:36:54 +02:00
42f91a2279 Typo in README 2024-10-02 19:57:28 +02:00
08a60e2850 Cite? 2024-10-02 19:47:49 +02:00
d580f77fce Allowed weighted objectives 2024-10-02 19:31:19 +02:00
dc8bafbbfe Updated README 2024-10-02 19:22:38 +02:00
d941b2c9af Added RL to README 2024-10-02 18:45:11 +02:00
3fa12f65bc Updated README 2024-10-02 17:05:51 +02:00
9e88f68fe0 Update README 2024-10-02 17:00:13 +02:00
da871655e6 Updated README 2024-10-02 16:51:57 +02:00
312de01f44 Updated README 2024-10-02 16:28:06 +02:00
7a34be0f09 Initial commit 2024-10-02 16:25:45 +02:00