Releases: RoyaleGym/RoyaleSim
Release list
v0.1.7
RoyaleSim 0.1.7
Install:
pip install royalesim --find-links https://github.com/RoyaleGym/RoyaleSim/releases/expanded_assets/v0.1.7Calling the engine
- Levels per side and per card. In a real match the two sides, and the cards in one deck, often have different
levels.Battle.resetnow takeslevels=[blue, red](each empty, or one level per deck card) and
tower_levels=[blue, red]. A play is at its card's level: an evolution or a hero form at its base card's, and a
Mirror's copy at the Mirror's level plus one. Leave both out and both sides play at one level, as before. Battle.step_commands_run()lists every delayed command that ran or was dropped during the laststep, over
all its ticks:(tick, team, kind, what, reason). A command still waiting when a level overtime ends is now
reported dropped, with reasonGAME_OVER.
No battle logic changed.
See CHANGELOG.md and docs/api.md.
v0.1.6
RoyaleSim 0.1.6
Install:
pip install royalesim --find-links https://github.com/RoyaleGym/RoyaleSim/releases/expanded_assets/v0.1.6No change to installing or calling the engine.
Battle logic
Crown-tower target ties, jump landings, Evo Musketeer snipes, a hooked unit's release (it now idles one tick after
the hook lets go, as in the game), chase limits, death bombs and headings while casting, as measured in the game.
See CHANGELOG.md.
v0.1.5
RoyaleSim 0.1.5
Install:
pip install royalesim --find-links https://github.com/RoyaleGym/RoyaleSim/releases/expanded_assets/v0.1.5Calling the engine
state_json(): an entity'scard_idis now the card whose play put the unit on the board, all the way down its
chain. A Tombstone's Skeletons report the Tombstone, a Barbarian Hut's Barbarians the hut, the Goblin Drill's
Goblins the Drill, and the Tri-Wizards' Electro and Ice Wizards the Tri-Wizards. Before, a unit several cards can
make reported the first such card in the catalogue (every Skeleton reported the Witch).- Evolved and hero forms, and every unit they put down, report their base card. No unit reports
-1any more. - A projectile's
firer_card_idis unchanged: the unit that fired it.
Battle logic
Knockback and death pushback, units that strike and move in the same tick, kamikaze contact, cage shots, barrages,
dash and chain-hop timing, ghost pairs, hidden buildings, equal-distance targets and pulls at the water's edge, as
measured in the game.
See CHANGELOG.md.
RoyaleSim 0.1.4
pip install royalesim --find-links https://github.com/RoyaleGym/RoyaleSim/releases/expanded_assets/v0.1.4- A level overtime now ends as in the game. When overtime runs out with the crowns level, play stops: no more cards
can be played, and every troop, building and spell leaves the board. From tick 6067 every crown tower loses the same
hit points each tick, and the first tower to fall decides the match (1-0, or 2-1 from 1-1). If both sides' weakest
towers are exactly level, the match is a draw at tick 6147. The longest match is now about 5 minutes 10 seconds at
level-11 towers. state_json(): each spell row gains a 12th value,ticks_flown, the ticks a flying spell has moved.catalogue_json(): each card row gains a 12th value,champion, true for a champion card.- Wheels are tested on CPython 3.10, 3.11, 3.12, 3.13 and 3.14.
- Battle logic: illegal troop taps, Furnace spirits, first hits, random delays, death rings and chases after a kill,
as measured in the game.
Wheels for Windows x86_64, Linux x86_64 and aarch64, and macOS x86_64 and arm64.
RoyaleSim 0.1.3
pip install royalesim --find-links https://github.com/RoyaleGym/RoyaleSim/releases/expanded_assets/v0.1.3- A played card's slot can stay empty for a moment, as in the game. Each player has one refill timer: a new card
enters the hand at most once every 1 s (0.5 s in double elixir, 0.35 s in triple). Play two cards quickly and the
second slot is empty until the timer lets the next card in. An empty slot reads-1instate_json()'s"hand",
and playing it is refused withEMPTY_SLOT. - Battle logic: shots, Skeleton King copies, placement ties, the targets of knocked-back and slapped units, death
spawns, containers and building scans, as measured in the game.
Wheels for Windows x86_64, Linux x86_64 and aarch64, and macOS x86_64 and arm64; CPython 3.10 and later.
RoyaleSim 0.1.2
Battle logic changes only; installing and calling the engine are unchanged.
pip install royalesim --find-links https://github.com/RoyaleGym/RoyaleSim/releases/expanded_assets/v0.1.2- The Skeleton King's copies are placed, and take their first step, as in the game.
Wheels for Windows x86_64, Linux x86_64 and aarch64, and macOS x86_64 and arm64; CPython 3.10 and later.
RoyaleSim 0.1.1
Battle logic changes only; installing and calling the engine are unchanged.
pip install royalesim --find-links https://github.com/RoyaleGym/RoyaleSim/releases/expanded_assets/v0.1.1- A unit keeps a target that is just past its sight range but still inside its chase limit, as in the game.
- The Skeleton Barrel flies straight at its target, as in the game.
- Each player's
"evo"rows instate_json()carry the evolution's cycle count as a fourth value (since 0.1.0).
Wheels for Windows x86_64, Linux x86_64 and aarch64, and macOS x86_64 and arm64; CPython 3.10 and later.
RoyaleSim 0.1.0
The first RoyaleSim release with prebuilt wheels. You no longer need Rust to install the engine.
pip install royalesim --find-links https://github.com/RoyaleGym/RoyaleSim/releases/expanded_assets/v0.1.0- One wheel per platform: Windows x86_64, Linux x86_64 and aarch64 (manylinux 2.28), macOS x86_64 and arm64.
Each runs on CPython 3.10 and later. - The engine carries its card table and data files inside the wheel.
- New:
royalesim.data_dir(),royalesim.card_table_source(),royalesim.__version__.
See CHANGELOG.md for the details.