openfront-rl-agent / README.md
JoshuaFreeman's picture
Upload README.md with huggingface_hub
e6e5733 verified
|
raw
history blame
1.91 kB
metadata
license: mit
tags:
  - reinforcement-learning
  - ppo
  - openfront
  - game-ai

OpenFront RL Agent

PPO-trained agent for OpenFront.io, a multiplayer territory control game.

Training Details

  • Algorithm: PPO (Proximal Policy Optimization)
  • Architecture: Actor-Critic with shared backbone (512→512→256)
  • Observation dim: 80
  • Max neighbors: 16
  • Maps: plains, big_plains, world, giantworldmap, ocean_and_land, half_land_half_ocean, europe, europeclassic, northamerica, africa, asia, australia, southamerica, mediterranean, britannia, britanniaclassic, eastasia, oceania, pangaea, mena, aegean, alps, amazonriver, amazonriverwide, arctic, baikal, beringstrait, betweentwoseas, blacksea, bosphorusstraits, deglaciatedantarctica, falklandislands, faroeislands, fourislands, gatewaytotheatlantic, gulfofstlawrence, halkidiki, hawaii, iceland, italia, japan, lemnos, lisbon, manicouagan, niledelta, passage, sanfrancisco, straitofgibraltar, straitofhormuz, surrounded, thebox, theboxplus, tourney1, tourney2, tourney3, tourney4, tradersdream, twolakes, worldrotated, yenisei, achiran, mars, milkyway, montreal, newyorkcity, pluto, reglaciatedantarctica (random per episode)
  • Opponents: 2 Easy bots
  • Parallel envs: 8
  • Learning rate: 0.00015
  • Rollout steps: 512
  • Updates trained: 2750
  • Global steps: 11264000
  • Best mean reward: 2761.6309762120245

Final Training Metrics

  • Mean reward: 1866.676198823452
  • Mean episode length: 35228.65
  • Loss: 17.78866958618164

Usage

from train import ActorCritic
import torch

model = ActorCritic(obs_dim=80, max_neighbors=16, hidden_sizes=[512, 512, 256])
model.load_state_dict(torch.load("best_model.pt", weights_only=True))
model.eval()

Repository

Trained from josh-freeman/openfront-rl.