A big kill should lift a unit by several ranks, not one
Experience systems are often written as one step at a time. Then a huge reward leaves a unit one level short, with leftover points that count for nothing until the next fight. This entry shows how to hand out ranks so the result never depends on how the points arrived.
Why this works
Keep the one fact that never changes, the total earned, and work everything else out from it. Then the result cannot depend on the order or size of rewards, and nothing is lost when a gain is large.
When not to use it
Do not use it when ranks must be spent, lost or chosen, as in a game where a hero picks a skill at each level and can be reset. Then a plain total hides what the player decided, and you need to store those choices separately.
In the full entry
- What to build, step by step
- Starting values and the reason for each
- 3 common mistakes and the fix
- 23 lines of example code with 4 checks that pass
- How your AI shows you that it works
Say this to your AI
Use the Spielerando entry "A big kill should lift a unit by several ranks, not one" (read_entry veteran-rank-multiple-promotions-at-once) in my game. Build it step by step, and show me how you checked that it works.Or skip this and connect the MCP: your AI then finds all of this by itself.Connect the MCP