Rework player bank info display #113

Closed
opened 2026-10-01 14:22:08 +00:00 by robertismo · 4 comments

Currently bank info is really inconsistent and this is very annoying for a human player.

This is the base bank info display

 Bank 3 · cash 677,953 · deposits 349,726 · net position 140,312
  BALANCE SHEET  assets: loans 1,109,188 · bond assets 0 · commitments 0   liabilities: deposits 349,726 · bond debt 1,297,103

it's ugly, clean it up.

One big issue is none of these numbers are in context, so I want to see what they were at the start of last turn instead of having to scroll up.

it should include our deposit rate, reserve requirement, effective loan rate, effective loan term, number of outstanding loans, effective bond rate, effective bond term, number of outstanding bonds.

the new display should be printed everywhere before you make a decision.

Other notes:

in the same way that you have

  Bank 3: you won 10 loans this turn — capital 349,337 · effective rate 2.3740%/turn · effective term 11.1 turns
  PORTFOLIO  book 1,458,525 (was 1,109,188) · eff rate 2.4750%/turn (was 2.5068%) · term left 15.8 turns (was 17.2)

for loans, you should have a similar display for bonds.

You display the turn header and the deposit table twice each turn.

first

═══ TURN 6 ═══
The die falls: 2

  Bank 3 · cash 677,953 · deposits 349,726 · net position 140,312
  BALANCE SHEET  assets: loans 1,109,188 · bond assets 0 · commitments 0   liabilities: deposits 349,726 · bond debt 1,297,103
  deposit rate 0.0000%/turn (last turn 0.0000%)
  deposit pool being fought over: 2,980,000 (new 1,000,000 + churn 1,980,000) · your churn exposure: 104,918
  Bank 3, set deposit rate % [0–100.00] (Enter keeps 0.0000%):
  Bank 1        1,029,486 @ 0.5000%
  Bank 2        1,029,486 @ 0.5000%
  Bank 3          393,600 @ 0.0000%     churn captured  141.8%
  Bank 4        1,029,486 @ 0.5000%
  Bank 5        1,029,486 @ 0.5000%
  Bank 6        1,029,486 @ 0.5000%
  Bank 7        1,029,486 @ 0.5000%
  Bank 8        1,029,486 @ 0.5

second


═══ TURN 6 ═══
  Bank 3: loan 13 (remaining 46043) defaulted on die 2
  Bank 3: loan 20 (remaining 63735) defaulted on die 2
  The die falls: 2
  deposit flow: 2980000 moved
    Bank 1        1,029,486 @ 0.5000%
    Bank 2        1,029,486 @ 0.5000%
    Bank 3          393,600 @ 0.0000%     churn captured  141.8%
    Bank 4        1,029,486 @ 0.5000%
    Bank 5        1,029,486 @ 0.5000%
    Bank 6        1,029,486 @ 0.5000%
    Bank 7        1,029,486 @ 0.5000%
    Bank 8        1,029,486 @ 0.5000%
    Average rate: 0.4741%

And for some reason you have defaults only displayed on the second one, which is really incorrect, these should be displayed as soon as the turn starts and the dice is rolled.

the loan info line is too long, remove examples(same with bond line)

  enter  loan# rate%   (e.g.  3 1.4, negative allowed: -2 undercuts zero-bidders) ·  all r  bid r% on every loan ·  u  undo last ·  d #  remove ·  Enter  submit
Currently bank info is really inconsistent and this is very annoying for a human player. This is the base bank info display ``` Bank 3 · cash 677,953 · deposits 349,726 · net position 140,312 BALANCE SHEET assets: loans 1,109,188 · bond assets 0 · commitments 0 liabilities: deposits 349,726 · bond debt 1,297,103 ``` it's ugly, clean it up. One big issue is none of these numbers are in context, so I want to see what they were at the start of last turn instead of having to scroll up. it should include our deposit rate, reserve requirement, effective loan rate, effective loan term, number of outstanding loans, effective bond rate, effective bond term, number of outstanding bonds. the new display should be printed everywhere before you make a decision. Other notes: in the same way that you have ``` Bank 3: you won 10 loans this turn — capital 349,337 · effective rate 2.3740%/turn · effective term 11.1 turns PORTFOLIO book 1,458,525 (was 1,109,188) · eff rate 2.4750%/turn (was 2.5068%) · term left 15.8 turns (was 17.2) ``` for loans, you should have a similar display for bonds. You display the turn header and the deposit table twice each turn. first ``` ═══ TURN 6 ═══ The die falls: 2 Bank 3 · cash 677,953 · deposits 349,726 · net position 140,312 BALANCE SHEET assets: loans 1,109,188 · bond assets 0 · commitments 0 liabilities: deposits 349,726 · bond debt 1,297,103 deposit rate 0.0000%/turn (last turn 0.0000%) deposit pool being fought over: 2,980,000 (new 1,000,000 + churn 1,980,000) · your churn exposure: 104,918 Bank 3, set deposit rate % [0–100.00] (Enter keeps 0.0000%): Bank 1 1,029,486 @ 0.5000% Bank 2 1,029,486 @ 0.5000% Bank 3 393,600 @ 0.0000% churn captured 141.8% Bank 4 1,029,486 @ 0.5000% Bank 5 1,029,486 @ 0.5000% Bank 6 1,029,486 @ 0.5000% Bank 7 1,029,486 @ 0.5000% Bank 8 1,029,486 @ 0.5 ``` second ``` ═══ TURN 6 ═══ Bank 3: loan 13 (remaining 46043) defaulted on die 2 Bank 3: loan 20 (remaining 63735) defaulted on die 2 The die falls: 2 deposit flow: 2980000 moved Bank 1 1,029,486 @ 0.5000% Bank 2 1,029,486 @ 0.5000% Bank 3 393,600 @ 0.0000% churn captured 141.8% Bank 4 1,029,486 @ 0.5000% Bank 5 1,029,486 @ 0.5000% Bank 6 1,029,486 @ 0.5000% Bank 7 1,029,486 @ 0.5000% Bank 8 1,029,486 @ 0.5000% Average rate: 0.4741% ``` And for some reason you have defaults only displayed on the second one, which is really incorrect, these should be displayed as soon as the turn starts and the dice is rolled. the loan info line is too long, remove examples(same with bond line) ``` enter loan# rate% (e.g. 3 1.4, negative allowed: -2 undercuts zero-bidders) · all r bid r% on every loan · u undo last · d # remove · Enter submit ```
Owner

Taking #113 in full: clean bank info display with last-turn-start context on every number, the extra fields (deposit rate, reserve requirement, effective loan rate/term/count, effective bond rate/term/count), the bond display parallel to the loan award summary, the duplicated turn header and deposit table deduped, defaults shown at the turn start right after the die, and the over-long loan/bond help lines trimmed. Branch off master, gate, scripted smoke, headless regression, PR with progress comments.

Taking #113 in full: clean bank info display with last-turn-start context on every number, the extra fields (deposit rate, reserve requirement, effective loan rate/term/count, effective bond rate/term/count), the bond display parallel to the loan award summary, the duplicated turn header and deposit table deduped, defaults shown at the turn start right after the die, and the over-long loan/bond help lines trimmed. Branch off master, gate, scripted smoke, headless regression, PR with progress comments.
Author

@Winnie what happened?

@Winnie what happened?
Owner

Nothing went wrong — I'm on it. Status:

#88 is done and up for your review as PR #114 (branch 88-failure-calc): the shore-up math now lives in exactly one place (Game.shoreUpNeed) shared by the take screen and the finance phase, and the equity requirement is removed from the bankruptcy pass — a bank fails only on negative cash after bills or an unreserved position the market can't shore. The tight-cash repro that used to wipe the table now runs 16 turns and ends with a winner.

#113 is in progress on branch 113-player-display. I've mapped all eight items and I'm mid-implementation: the double display is fixed structurally (the turn-end log flush is gone for interactive games, every line now streams live exactly once, which also puts the defaults right after the die where you asked), and I'm building the new HUD — clean layout, last-turn-start context on every number, and the added fields: deposit rate, reserve requirement, effective loan rate/term/count, effective bond rate/term/count. Then the bond summary parallel to the loan one and the help-line trims. Build, gate, scripted smoke, headless regression, PR.

I'll post on the issue as each piece lands.

Nothing went wrong — I'm on it. Status: #88 is done and up for your review as PR #114 (branch 88-failure-calc): the shore-up math now lives in exactly one place (Game.shoreUpNeed) shared by the take screen and the finance phase, and the equity requirement is removed from the bankruptcy pass — a bank fails only on negative cash after bills or an unreserved position the market can't shore. The tight-cash repro that used to wipe the table now runs 16 turns and ends with a winner. #113 is in progress on branch 113-player-display. I've mapped all eight items and I'm mid-implementation: the double display is fixed structurally (the turn-end log flush is gone for interactive games, every line now streams live exactly once, which also puts the defaults right after the die where you asked), and I'm building the new HUD — clean layout, last-turn-start context on every number, and the added fields: deposit rate, reserve requirement, effective loan rate/term/count, effective bond rate/term/count. Then the bond summary parallel to the loan one and the help-line trims. Build, gate, scripted smoke, headless regression, PR. I'll post on the issue as each piece lands.
Owner

Done and up for review as PR #115 (branch 113-player-display, requested review). All eight items from the issue:

  • The HUD is four clean lines: cash / deposits / net position with (was ...) from the start of last turn, the balance sheet, deposit rate + reserve requirement in numbers, and the loan and bond books with count, effective rate, and effective term — also with was-values. Printed before every decision as before.
  • Bonds now get the same treatment as loans: after the take phase you see "you took N bonds this turn — face · effective rate · term" plus a BOND BOOK line with was-values, mirroring the loan award summary.
  • The double display is gone: the interactive game streams every line live exactly once; the turn-end dump no longer repeats the header and deposit table.
  • Defaults print immediately after the die, at the turn start.
  • The help lines are trimmed to commands only.

Verified with a scripted interactive smoke (one header and one deposit table per turn, was-values present, bond summary present) and a headless spectate regression (zero divergences, zero AI errors, no HUD leakage).

Done and up for review as PR #115 (branch 113-player-display, requested review). All eight items from the issue: - The HUD is four clean lines: cash / deposits / net position with (was ...) from the start of last turn, the balance sheet, deposit rate + reserve requirement in numbers, and the loan and bond books with count, effective rate, and effective term — also with was-values. Printed before every decision as before. - Bonds now get the same treatment as loans: after the take phase you see "you took N bonds this turn — face · effective rate · term" plus a BOND BOOK line with was-values, mirroring the loan award summary. - The double display is gone: the interactive game streams every line live exactly once; the turn-end dump no longer repeats the header and deposit table. - Defaults print immediately after the die, at the turn start. - The help lines are trimmed to commands only. Verified with a scripted interactive smoke (one header and one deposit table per turn, was-values present, bond summary present) and a headless spectate regression (zero divergences, zero AI errors, no HUD leakage).
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Winnie/bankwars#113
No description provided.