Assembling bills instead of writing them
The usual way a political game handles legislation is a list of bills. You hand-write twenty of them and attach an approval-rating delta to each. By their second run, players have the list memorised.
We built an assembler instead of a list.
Three slots
A bill is made of three parts.
- Target — who this law touches (large corporations, small businesses, tenants, contract workers, the medical profession…)
- Means — what it does (regulate, subsidise, tax-credit, raise penalties, deregulate…)
- Funding — where the money comes from (raise taxes, issue debt, reallocate the budget, put the cost on business…)
There are currently over 140 parts — around 50 targets, 70 means, 20 funding sources — across a dozen policy fields. The arithmetic runs to tens of thousands; the combinations that actually make sense still number in the thousands.
Bill names are generated deterministically from the parts. Ban cross-shareholding by large corporations and rent relief for small businesses are the same kind of object out of the same machine.
You're assembling interests, not strings
This is the part that matters. A part isn't a label, it's an interest vector.
Pick tenants as your target and the tenant segment likes you. Snap "funded by business" into the third slot and the business bloc moves — and not only as an approval number. The fact that you touched their interests is reported to the faction system, which changes how that bloc reacts to your next bill.
Which is why no clean bill exists. You cannot leave the funding slot empty. The money has to come from somewhere, and wherever it comes from, somebody pays it. Legislating isn't choosing what to do. It's choosing who to lose.
The preview and the proposal are the same function
The assembler screen shows a live pass probability and the per-segment approval swing. That preview runs the same function the proposal itself runs. It is not a separate estimator.
That's a design promise, not a code convenience. If the preview lies, players stop assembling and start save-scumming. If it's honest, the decision becomes judgement instead of gambling — the uncertainty should live in the dice, not in the information.
Laws you pass become material for the next one
A bill that passes doesn't disappear; it enters the statute book. After that:
- some bills can only be proposed if a prior law exists
- laws stacking up in one field start forming combos
- and you can repeal your own work
That last one is the most interesting failure mode. Runs happen where a law you passed in your thirties is the thing blocking you in your sixties. Amending it means explaining yourself to the people who backed you for passing it in the first place. The game does not write that explanation for you.