Stock Ticker: Insider Knowledge
===============================

Game Manual
Written by Eric Pietrocupo
Corrections by ChatGPT

This game is a digital implementation of a classic board game 
published in 1937. The Insider Knowledge card variant was 
designed by the author. The goal of the game is to buy and 
sell shares in a stock market that changes according to dice 
rolls. After a certain number of turns, the player with the 
greatest fortune wins.

Controls
--------

Here are the keyboard and controller key mappings. Controller 
button names are based on an Xbox controller.

* Accept: Key Z, Button A
* Cancel: Key A, Button B
* Move up: Key UP, D-pad UP
* Move down: Key DOWN, D-pad DOWN
* Page up: Key PAGEUP, Button LT
* Page down: Key PAGEDOWN, Button RT
* Screenshot: Key SPACE, Button BACK

In the bottom-right corner, you can see a series of icons 
indicating the valid keys and buttons available in the 
current dialog. The Screenshot command can be used at any 
time.

New Game
--------

When starting a new game, several options must be selected:

* __Players__: The number of human and AI players. They are 
automatically named and shuffled. AI players have random 
personalities; some are stronger than others. If you select 0 
human players, the AI will play by itself.
* __Game length__: Each player will play a fixed number of 
turns. You must determine in advance how long you want the 
game to last.
* __Number of rolls__: At the end of each player's turn, a 
number of dice rolls are made. The more rolls, the greater 
the variation in the stock market. It is recommended to 
increase the number of rolls when there are fewer players 
using the original rules.
* __Dividend Up variant__: A rule variation that makes 
dividend results also move the stock upward. See the Variants 
section.
* __Insider Knowledge card variant__: Adds cards that allow 
players to anticipate market movement. See the Variants 
section. You must also choose how strong these cards will be.

This game is sensitive to the number of players. More players 
mean more rolls occur before your turn, giving you less 
opportunity to react to market changes. Choose your options 
accordingly.

Setup
-----

The game begins at turn 0 during the setup phase. The order 
of players is assigned randomly. Each player receives $5000 
and may purchase shares with this initial money. Dice are not 
rolled until all players have had a chance to buy shares.

Players must buy at least some shares, but they are not 
required to spend all their money. Once turn 0 is complete, 
the game begins with the first dice roll. All stocks start at 
a value of $1.00.

Player Actions
--------------

During a turn, a player may buy or sell shares. Only the 
active player can perform transactions. Once finished, the 
player rolls the dice, resolves the market movement, and 
passes the dice to the next player.

Each player will have a number of turns equal to the game 
length, plus one for setup. For example, a 10-turn game 
allows each player to buy or sell shares 11 times.

There are 6 stocks available: Grain, Industrial, Bonds, Oil, 
Silver, and Gold. Their values range from $0.00 to $2.00 in 
increments of $0.05. Shares are traded in units of 500. For 
example, if a stock is worth $1.25, buying 1000 shares costs 
$1250. Selling follows the same calculation.

Game Screen
-----------

The game screen contains a large amount of information to 
help guide your decisions.

On the right, the game board displays the stock market. 
Circular tokens indicate current prices, and arrows show 
movement from the last roll. At the top, you can see the 
active player, their money, and the most recent dice rolls.

The second panel displays your holdings and stock 
information. This is the most important panel for making 
investment decisions:

* __DSC__: Indicates whether a dividend, a split or a crash 
occured this turn.
* __Price__: Current market value of the stock.
* __Avg__: The average price you paid for your shares.
* __Qty__: Number of shares you own.
* __Value__: Total value of your shares (for example, 1000 
shares at $0.80 = $800).
* __Profit__: Percentage gain or loss. If your average cost 
is lower than the current price, the value is positive; 
otherwise, it is negative. For example, buying 1000 shares 
for $1000 and seeing the price rise to $1.50 results in a 
value of $1500, or +50%.

The game tracks your purchase prices so that you can evaluate 
your profit accurately.

The third panel shows player rankings, including total 
fortune and cash on hand. Fortune is calculated as the value 
of all shares plus remaining cash.

The fourth panel displays the holdings of all players, 
allowing you to see where others have invested.

Rolling the Dice
----------------

At the end of a turn, the player rolls the dice the number of 
times selected during setup. There are three dice, each with 
a specific role:

* __Stock die__: Determines which stock is affected
  __Faces__: Grain, Industrial, Bonds, Oil, Silver, Gold

* __Movement die__: Determines direction or dividend
  __Faces__: Down, Down, Div, Div, Up, Up

* __Number die__: Determines magnitude (cents / percentage)
  __Faces__: 5, 5, 10, 10, 20, 20

All three dice are rolled together. Examples:

* Grain UP 10  -> Grain increases by $0.10 (2 steps up)
* Bonds DOWN 5 -> Bonds decreases by $0.05 (1 step down)
* Oil DIV 20   -> Oil pays a 20% dividend to shareholders

All movement is resolved before dividends. Dividends are only 
paid if the stock price is at least $1.00. When rolling 
multiple times, one roll may increase a stock above $1.00, 
allowing another roll to trigger dividends. The order of 
rolls does not matter.

Dividends are based on the number of shares, not their price:

* 5% on 1000 shares = $50
* 10% on 2500 shares = $250
* 20% on 1500 shares = $300

If a stock reaches $0.00 or less, all players lose their 
shares in that stock, and its price resets to $1.00.

If a stock reaches $2.00 or more, it splits. All players 
double their shares, and the price resets to $1.00. For 
example, 3500 shares at $2.00 become 7000 shares at $1.00. 
Total value remains the same, but future dividends increase.

Ending the Game
---------------

The game ends after all turns have been played. Each player's 
total fortune is calculated:

For each stock:
Number of shares x price

Example:
4000 Grain at $1.40 = $5600

Each player sums the value of all holdings and adds their 
remaining cash. The player with the highest total wins. In 
case of a tie, victory is shared.

Variants
--------

The following variants are included in this version of the 
game. If you know other variants, feel free to share them.

* Dividend Goes Up: A family variant where dividend rolls 
also increase stock prices. Since this increases the 
probability of upward movement (2/3 instead of 1/3), it 
creates inflation. Stocks are more likely to split and less 
likely to crash.

* Insider Knowledge Cards: Each player receives a card that 
predicts a specific dice combination. There are 54 possible 
combinations (6 x 3 x 3 = 54).

After rolling the dice, players check whether their card is 
triggered. If so, the number die is modified by a preset 
value (10, 20, or 30) selected during setup. Examples with a 
+20 modifier:

Silver UP 10  -> Silver UP 30
Gold DIV 5    -> Gold DIV 25
Bonds DOWN 20 -> Bonds DOWN 40

Higher modifiers create stronger market movements.

Cards are hidden from other players. After being triggered, 
cards are discarded. New cards are dealt to players without 
one, and the deck is reshuffled.

Players can view their card using the "View Card" option in 
the menu.

Configuration
-------------

There is currently no configuration screen available. You can 
edit a file named "config.cfg", which is created in the 
game's root directory after the first launch. Set an option 
to 1 to enable it or 0 to disable it.

* instruction: Set to 0 to hide the keyboard and controller 
diagrams displayed during setup.
* fullscreen: Set to 0 to run the game in windowed mode. The 
game uses a fixed resolution of 640x480 pixels. The higher 
your screen resolution, the smaller the game window will 
appear.



