Dev Diary, mumbling about facts
Development DiaryImproving Riot as a system, using Prisonidle.io's engine
Our aim is to make Riot feel like a shared live event: clear pre-fight odds, fights you can understand, meaningful tactical choices, crowd participation and memorable moments. Formula explanations and the occasional chicken fact add something worth watching before the bell, too.
Making Riot feel like an event, not just another fight
Riot is one of those systems that only really works if people want to watch it as well as take part in it. So a lot of the recent development has been focused less on simply adding more combat, and more on making each fight easier to understand, more tactical, and more fun to follow.
The aim is to give players clear pre-fight odds, meaningful choices, visible momentum shifts and enough crowd involvement that a Riot feels like something happening to the whole game rather than two players disappearing into a combat screen.
We have also added a button that gives you a random chicken fact.
This has no known impact on combat balance, but it has had a dramatic impact on the number of chicken facts available during combat testing, so we are considering that a success.
What has changed behind the scenes?
The current experimental combat system includes stances, stamina management, guard breaks and automated fight plans. Rather than relying on a handful of manual test fights, we have been putting the system through large simulation runs to see what happens when the same mechanics are repeated thousands of times.
Our latest balance pass ran 12,310 simulated matches, alongside 69 passing automated tests.
Those simulations have already been useful. Earlier versions exposed strategies that were simply too dominant, meaning players could find one reliable approach and use it far more effectively than intended. After revising the available fight plans, equal-stat matchups became considerably closer.
- 12,310 simulated matches in the latest balance pass
- 69 automated tests currently passing
- Takedowns occurred in roughly 30% of clashes during equal-stat testing
- In balanced simulations involving 200 fighters, the longest wait between meaningful opportunities fell from 65 seconds to 15 seconds
Why the waiting time matters
One of the problems we wanted to avoid was a fight where a player technically has options, but spends most of their time waiting for something useful to happen.
Reducing the longest gaps from 65 seconds to around 15 seconds means players should have more regular opportunities to make a decision, react to what is happening, or change their approach.
At the same time, we do not want Riot to become a mode where the person willing to click the most buttons automatically has the biggest advantage. The goal is involvement, not compulsory button mashing. The chicken-fact button remains exempt from this philosophy.
What the numbers do not tell us
These results are still laboratory results. They are useful for finding obvious problems and comparing different versions of the system, but simulations are not the same thing as real players finding creative ways to break everything we thought was balanced.
Before this reaches a wider audience, we are still looking closely at manual-control advantages, progression gaps, reward volume and how the system behaves when players with very different builds meet each other.
The next step is a controlled pilot rather than an immediate full release. That gives us a chance to compare the simulated results against real player behaviour and adjust the system before Riot becomes part of normal play.
What we are trying to build
Ultimately, Riot should feel like a shared live event. You should be able to understand why a fight is going the way it is, have meaningful decisions when it matters, and still enjoy watching even when you are not the person in the ring.
If we get it right, the interesting part will not just be who won. It will be how they won, what changed during the fight, what the crowd did about it, and possibly whether chickens can remember more than 100 faces.