Author a battle simulator. Run it. Embed it.

An authorable, deterministic combat simulation engine for your games and applications. Built AI-first, for you and your agents alike.

Invent a new combat system, or rebuild one. Tune it, share it, or run it on our cloud.

Try SimEngine How it works

Explore packages

Editor

$20 every 30 days

  • Unlimited local simulation runs
  • Every build released while the subscription is live
  • Publish simulation models
  • Your models earn you free simkens

Design a battle simulator and share models

Get the editor

Simken Packs

from $15 one-off

  • 7,500,000 simkens
  • Cloud combat simulations
  • Results for optimization and analysis
  • Full control over the simulation model spec

Use models to optimize roster and strategy

Get the packs

*Usage limits apply. Prices shown don't include applicable tax. Prices and plans are subject to change at SimEngine's discretion.

Frequently asked questions

What is a “simken”?

It is the unit a cloud run is billed in: one deployed body simulated for one exported frame. Internally, and on every receipt and API response, that quantity is called a unit-tick — simken is simply the friendlier name for the same thing, and the two are always equal. Nothing is converted between them, because there is only one quantity.

It is the unit that predicts the work, which is why battles are not sold by the “simulation”: two runs that would both be described as one simulation can be thousands of times apart. The pricing page has the arithmetic and an estimator that takes a battle directly.

How deterministic is it?

On the machine it runs on: completely. The same model at the same seed is re-run on every build — twice, across a reinstall, and repeatedly against one resident copy — and the playbacks are compared byte-identical, not similar, the same file. The engine reads no environment variable at all, so no switch in a shell can change a battle.

The shipped template library is pinned separately, and not to bytes. Every verified template is replayed on every build and must match. What is matched is each run's verdict, its events and its elapsed sim-seconds. And this is a claim about the machine it runs on: no result on another platform is claimed, because that has not been measured. The intro says exactly what is proven.

Can I use AI with SimEngine?

Yes, and the design suits it. Content is plain declarative JSON that the validator checks before anything runs, so a model can author or edit a simulation model and be told exactly where it is wrong — a refusal points at the failing field with a code from a published catalogue, and the accepted shapes are published documents.

Runs are equally scriptable: a published simulation model has an id, a sim-model spec is a JSON document posted against it, and the API is JSON over HTTPS with no SDK to install. Because the same inputs always produce the same bytes, a sweep or an optimisation loop measures the change that was made rather than the noise of a different seed — which is the property that makes automated tuning worth doing at all.