Quick answer: Prestige and rebirth bugs are about what a reset keeps versus what it wipes. Carryover progress that vanishes, a prestige multiplier that miscomputes, or a reset that clears more than it should all come from the reset logic and the state it operates on. Capture the full state immediately before and after a prestige, the carryover rules that ran, and the resulting multipliers so the reset becomes a verifiable before-and-after.
Prestige and rebirth ask players to give up their progress in exchange for permanent advantages, which makes any bug in the exchange feel like a betrayal. Players report that a prestige wiped something it should have kept, that the promised multiplier did not apply, that a rebirth reset stats it was supposed to leave alone. Every one of these is a question about the reset boundary: what crossed it and what did not. A prestige is a transformation from one full state to another, so its bugs are best diagnosed as a before-and-after comparison. This post covers what breaks in prestige systems and what to capture so a reset gone wrong becomes a verifiable diff.
The reset boundary is the bug surface
A prestige or rebirth is a function that takes the current state and produces a new state, wiping some fields, preserving others, and granting bonuses based on what was achieved. Almost every prestige bug is a bug in that function's handling of a specific field: a currency that should reset but did not, an unlock that should persist but got wiped, a stat that should carry at reduced value but came back at zero. The player sees only that something is wrong after the reset, but the cause is in which fields the reset touched and how, which is invisible without the before-and-after states.
This is why prestige bugs are nearly impossible to reproduce from a description. The player cannot tell you the full state they had before prestiging, and that state is exactly what determines the bug. The reset that wiped a permanent unlock only misbehaves when that unlock was in a particular condition, and you will never guess the condition. Capturing the complete state immediately before the prestige and immediately after it turns the report into a diff, and the diff shows precisely which field crossed the boundary incorrectly.
Carryover rules and what should persist
The heart of a prestige system is its carryover rules: the explicit list of what survives a reset and in what form. Bugs cluster wherever those rules are implicit or scattered, because then no single place defines the boundary and fields fall through the cracks. A new feature added after the prestige system shipped is a classic culprit, since its state may never have been added to the carryover or reset lists and gets handled by whatever the default behavior happens to be, which is often wrong. The player reports a feature that reset unexpectedly, and the bug is a missing rule.
To diagnose these, capture not just the before-and-after state but the carryover decision for each relevant field if you can, or at least enough state to recompute it. When a report shows a field that was non-zero before and zero after, and your design says it should have carried, you have found a missing or wrong carryover rule for that specific field. Making the carryover rules explicit and logged is also the best defense against the slow rot where each new feature quietly forgets to declare what a prestige does to it.
Multiplier math after a reset
Prestige systems reward players with multipliers or permanent bonuses scaled by what they accomplished, and the math behind those bonuses is a frequent source of bugs. A multiplier might be computed from the wrong pre-reset value, stack incorrectly with multipliers from earlier prestiges, or fail to apply because the bonus was written before the reset cleared the field it depended on. The player reports that their production or power did not increase as promised, and you need the inputs to the multiplier calculation and its result to see where the number went wrong.
Capture the values that fed the bonus, the formula's intermediate results, and the final multiplier, both the newly earned one and the running total across all prestiges. Ordering matters intensely here: computing the bonus after the reset has already wiped its input gives zero, a bug that only appears because of when the calculation runs relative to the wipe. A report carrying earned multiplier from 1000 points should be 2.5x, actual 1.0x immediately points at a calculation reading a post-reset zero, which is a precise and fixable lead rather than a vague feels weak.
Designing the prestige report payload
Settle on a prestige snapshot that captures the transformation, not just the end state. The ideal is a before state and an after state taken around the most recent prestige, plus the carryover and reset decisions, the inputs and result of the multiplier calculation, and the count of prior prestiges. With that you can diff the two states, verify each field landed on the correct side of the boundary, and recompute the bonus. This payload answers the two questions every prestige bug raises: did the right things reset, and did the bonus compute correctly.
Keep the snapshot to the fields the prestige system actually touches so it stays cheap to capture around a reset. The goal is that a player who feels a rebirth cheated them just hits report, and you receive the before-and-after that proves what happened, including the multiplier math. Consistent fields let you aggregate: counting how many reports show the same field wiped incorrectly reveals a systemic missing carryover rule, and counting multiplier complaints by the prestige count surfaces scaling bugs that only appear at high prestige levels.
Setting it up with Bugnet
Bugnet captures your prestige state automatically when a player taps the in-game report button, and because you control the custom fields you can attach the before-and-after snapshot and the multiplier inputs without any upload code. A player who feels a rebirth wiped the wrong thing just reports it, and you receive the diff that proves which field crossed the reset boundary incorrectly, plus the device and platform context. For multiplier bugs the captured calculation inputs make a post-reset zero visible the instant the report lands rather than after a long debugging session.
Prestige bugs concentrate around specific fields and specific prestige levels, and occurrence grouping turns that into a priority signal. Bugnet folds duplicate reports into one issue with a count, and you can filter by a wiped_field or prestige_count custom field to find the systemic problem. When forty reports all show the same unlock getting reset, that single issue rises by occurrence count and tells you a carryover rule is missing, so you fix the rule once instead of triaging forty near-identical complaints about a reset that ate something it should not have.
Testing the reset transformation
Once reports carry the before-and-after state, you can write tests that apply a prestige to a known state and assert the result: these fields reset to zero, these persist unchanged, these carry at reduced value, and the multiplier equals the expected function of the pre-reset score. Each fixed prestige bug becomes a permanent assertion over the reset boundary, which is vital because prestige interacts with every feature in the game, and a new feature can silently land on the wrong side of the boundary the moment it ships.
Make a habit of adding the reset rule for every new stateful feature at the same time you add the feature, and back it with a test, so the carryover list never rots. Keep capturing real before-and-after states from the field too, since high-prestige players reach state combinations you will never hit in local testing. Prestige is the long-term engagement engine of an incremental game, and treating its bugs as verifiable state transformations is what lets a small team keep that engine trustworthy as the game accumulates features over time.
A prestige bug is a diff across the reset boundary. Capture the state before and after and a betrayal-feeling wipe becomes a clear answer about what crossed and what did not.