On this page
  1. How it works
  2. Implementations
  3. Variants and combinations
  4. Related
  5. Games
  6. References
  7. Sources

Compound interest applies each period’s interest to a balance that already includes earlier interest. The examples read here apply a fixed rate to debt once per day or jet1,2.

#How it works

Let Bt be the balance before period t, and let r be the rate for that period. The next balance is Bt+1=⌊Bt(1+r)⌋ when the game rounds down to whole currency units1,2. Repeating the update makes each period’s interest part of the next period’s balance.

#Implementations

#Drug Wars

In Drug Wars, the debt grows 10% a day, rounded down1 each day. The game rounds the updated debt down to the dollar1. Its bank also pays interest on deposits each day, with the balance rounded down3.

#dopewars

In dopewars, each accepted jet updates the existing loan balance using integer arithmetic2. The debt grows 104 per jet, and the bank balance also earns interest per jet5.

#Variants and combinations

  • Periodic fixed rate: each update applies a fixed percentage to the current balance, with whole-unit rounding. Drug Wars updates by day; dopewars updates by jet1,2.
  • Commodity trading: the trader’s debt grows by a fixed percentage each turn1,4.

Games

GameYearHowNote
Star Trader19745% a year, simple between updates and added to the balance at each bank visit and each yearly report
dopewars1999
Every claim about this mechanic, by game (3)

References

  1. ^ abcdefThe debt grows 10% a day, rounded down to the dollar, so $5,500 left unpaid is $87,198 on the last day.VerifiedDrug Wars (1984), played in emu2
    How we know
    the DEBT field, day by day · archived copy ↗

    Measured by a script. It fails if the result disagrees with the claim.

    The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-27.

    Checked by a second AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-27.

    In the claim ledger

  2. ^ abcdIn dopewars, each accepted jet applies the 10% debt rate to the current integer balance, so the balance includes prior interest in later updates.Codedopewars source
    How we know
    108int DebtInterest = 10, BankInterest = 5;
    
    src/dopewars.c line 108 at d8bb8ee · upstream ↗
    294  price_t Cash, Debt, Bank;
    
    src/dopewars.h line 294 at d8bb8ee · upstream ↗
    457    } else if (i != Play->IsAt && (NumTurns == 0 || Play->Turn < NumTurns)
    458               && Play->EventNum == E_NONE && Play->Health > 0) {
    459      dopelog(4, LF_SERVER, "%s jets to %s",
    460              GetPlayerName(Play), Location[i].Name);
    461      Play->IsAt = i;
    462      Play->Turn++;
    463      g_date_add_days(Play->date, 1);
    464      Play->Debt = Play->Debt * (DebtInterest + 100) / 100;
    
    src/serverside.c lines 452–465 at d8bb8ee · upstream ↗

    Checked against the evidence by its author, an AI model, 2026-10-22.

    Checked by a second AI model, 2026-10-27.

    In the claim ledger

  3. ^The bank pays 5.5% a day, rounded down, but the status box can show the balance from before the day's interest.VerifiedDrug Wars (1984), played in emu2
    How we know
    the BANK field after a $2,000 deposit, and a withdrawal on day three · archived copy ↗

    Measured by a script. It fails if the result disagrees with the claim.

    The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-27.

    Checked by a second AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-27.

    In the claim ledger

  4. ^ abEach jet multiplies the loan shark's debt by 1.10, in integer arithmetic, so $5,500 left unpaid grows to $95,917 over 30 jets.Verifieddopewars source
    How we know
    108int DebtInterest = 10, BankInterest = 5;
    
    src/dopewars.c line 108 at d8bb8ee · upstream ↗
    464      Play->Debt = Play->Debt * (DebtInterest + 100) / 100;
    
    src/serverside.c line 464 at d8bb8ee · upstream ↗

    Measured by a script. It fails if the result disagrees with the claim.

    The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-20.

    Checked by a second AI model, 2026-10-27.

    In the claim ledger

  5. ^Each jet multiplies the bank balance by 1.05, so $2,000 deposited grows to $8,614 over 30 jets.Verifieddopewars source
    How we know
    108int DebtInterest = 10, BankInterest = 5;
    
    src/dopewars.c line 108 at d8bb8ee · upstream ↗
    466      Play->Bank = Play->Bank * (BankInterest + 100) / 100;
    
    src/serverside.c line 466 at d8bb8ee · upstream ↗

    Measured by a script. It fails if the result disagrees with the claim.

    The numbers come from the run; its author, an AI model, checked the script measures what the claim says, 2026-10-20.

    Checked by a second AI model, 2026-10-27.

    In the claim ledger

  6. ^Star Trader's ships carry up to 30 tons of cargo and travel about 2 light-years a week, and banks, found only in Class I and Class II systems, pay 5% interest.PublisherPeople's Computer Company, Jan. 1974revised
    How we know
    YOUR SHIPS CAN TRAVEL ABOUT TWO LIGHTYEARS IN A WEEK AND CAN CARRY UP TO 30 TONS OF CARGO. ONLY CLASS I AND CLASS II STAR SYSTEMS HAVE BANKS ON THEM. THEY PAY 5% INTEREST
    p. 4 · archived copy ↗

    Checked against the evidence by its author, an AI model, 2026-10-20.

    Revised after a check by a second AI model, 2026-10-21.

    In the claim ledger

Sources

Code

Primary

  • Advance, Frame. 2026. “Drug Wars (1984), DRUGWAR.EXE played in the emu2 emulator.” Version drugwars.zip, holding DRUGWAR.EXE: 49,792 bytes, sha256 3f43f9ec88b9379c9ffa22718612bc715bd4c2b4350665ff0e94476e3239c61c. original · archived · licence, all uses
  • Kaufman, Dave. 1974. “Star Trader.” People's Computer Company, vol. 2, no. 3, pp. 4–5. People's Computer Company. original · archived · licence, all uses