Add the real 211-tile / 5-stat game content
shared/tile-inventory.json + shared/roll-tables.json + shared/GAME-REVIEW.md
+ shared/BRANCHING-TEMPLATE.md were parsed from the design doc in a separate
session and were already sitting untracked in this repo. This is the real,
authoritative game content — 211 tiles across 12 segments, 5 player stats
(cash/love/education/wealth/age), 48 placeholder roll tables — far more
complete than the hand-sketch-inspired board built earlier.
Adds shared/tileInventory.js and shared/rollTables.js: mechanical
`export default {...}` wrappers around the same JSON (kept as-is alongside
them as the raw source reference), so the content is importable both by the
server and by the browser fetching shared/*.js with zero bundler — the same
pattern every other file in shared/ already uses. Avoids relying on JSON
module import-attribute syntax, whose support is uncertain on node:20-alpine
(the Dockerfile's base image).
Also includes assets/colors.json and assets/tile_types.json (an apparently
separate, incomplete transcription of the hand sketch) — not wired into
anything yet, just brought into version control.
Appends integration-gap TODOs to GAME-REVIEW.md: 85 inline_table tiles have
a die size but no table content anywhere in the parsed files; payday/
cash_bonus amounts are undefined everywhere; multi-table roll_table_ref
tiles (2-3 tables at once, 22 of them) have no documented combination rule.
This commit is contained in:
@@ -0,0 +1,324 @@
|
||||
# Life Journey — Game Content Review
|
||||
|
||||
A readable summary of everything parsed from the design doc, for checking and filling in. The game tracks five things per player: **cash ($), Love, Education, Wealth, Age.**
|
||||
|
||||
**211 tiles** across **12 segments**, referencing **48 roll tables** that still need real content.
|
||||
|
||||
## Board segments and tiles
|
||||
|
||||
### Starting Strip (7 tiles)
|
||||
|
||||
0. **Graduation party** — _event_
|
||||
1. **Action space** — _action_space_ · D100 · ⤷ roll table
|
||||
2. **First Paycheck** — _choice_
|
||||
3. **Dice roll** — _dice_space_ · ⤷ roll table
|
||||
4. **Underground poker** — _choice_ · D20
|
||||
5. **New job** — _roll_table_ref_ · ⤷ roll table
|
||||
6. **STOP** — _stop_ · D8
|
||||
|
||||
### Career Path (22 tiles)
|
||||
|
||||
0. **PAY DAY** — _payday_
|
||||
1. **RECRUITER CALLS** — _choice_
|
||||
2. **PERFORMANCE REVIEW** — _roll_table_ref_ · ⤷ roll table
|
||||
3. **NEW HIRE** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
4. **START A BUSINESS** — _roll_table_ref_ · ⤷ roll table
|
||||
5. **OFFICE BAR TRIVIA** — _roll_table_ref_ · ⤷ roll table
|
||||
6. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
7. **COMPANY PERKS** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
8. **THE NEWS** — _event_ · D20
|
||||
9. **NEW JOB** — _roll_table_ref_ · ⤷ roll table
|
||||
10. **COMPANY RACE DAY** — _inline_table_ · D10
|
||||
11. **OPPORTUNITY KNOCKS** — _roll_table_ref_ · ⤷ roll table
|
||||
12. **CLIENT DINNER** — _roll_table_ref_ · ⤷ roll table
|
||||
13. **SHENANIGANS** — _roll_table_ref_ · ⤷ roll table
|
||||
14. **OFFICE CHRISTMAS PARTY** — _roll_table_ref_ · ⤷ roll table
|
||||
15. **MENTORSHIP** — _choice_
|
||||
16. **BIG CAREER MOMENT** — _event_
|
||||
17. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
18. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
19. **PERFORMANCE REVIEW** — _roll_table_ref_ · ⤷ roll table
|
||||
20. **START A BUSINESS** — _roll_table_ref_ · ⤷ roll table
|
||||
21. **STOP** — _stop_ · D8
|
||||
|
||||
### Investment Path (20 tiles)
|
||||
|
||||
0. **PAY DAY** — _payday_
|
||||
1. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
2. **SIDE INVESTMENT** — _inline_table_ · D20
|
||||
3. **BUY A HOUSE** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
4. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
5. **ESTATE AUCTION** — _roll_table_ref_ · ⤷ roll table
|
||||
6. **MARKET CRASH** — _inline_table_ · D20
|
||||
7. **FORCED PARTNERSHIP** — _choice_
|
||||
8. **401k** — _cash_bonus_ · D20
|
||||
9. **SEMINAR** — _inline_table_ · D20
|
||||
10. **ANGEL INVESTOR** — _inline_table_ · D20
|
||||
11. **BUY A HOUSE** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
12. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
13. **BLIND INVESTMENT** — _inline_table_ · D6
|
||||
14. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
15. **BANKRUPTCY** — _inline_table_ · D20
|
||||
16. **MARKET MAYHEM** — _choice_
|
||||
17. **FINANCIAL ADVISOR** — _inline_table_ · D20
|
||||
18. **PAY DAY** — _payday_
|
||||
19. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
|
||||
### Investment Path (Bottom) (23 tiles)
|
||||
|
||||
0. **PAY DAY** — _payday_
|
||||
1. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
2. **SIDE INVESTMENT** — _inline_table_ · D20
|
||||
3. **BUY A HOUSE** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
4. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
5. **START A BUSINESS** — _roll_table_ref_ · ⤷ roll table
|
||||
6. **MARKET CRASH** — _inline_table_ · D20
|
||||
7. **ESTATE AUCTION** — _roll_table_ref_ · ⤷ roll table
|
||||
8. **401k** — _cash_bonus_ · D20
|
||||
9. **BUY A HOUSE** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
10. **ANGEL INVESTOR** — _inline_table_ · D20
|
||||
11. **FORCED PARTNERSHIP** — _choice_
|
||||
12. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
13. **BANKRUPTCY** — _inline_table_ · D20
|
||||
14. **BLIND INVESTMENT** — _inline_table_ · D6
|
||||
15. **PAY DAY** — _payday_
|
||||
16. **BET AGAINST ANOTHER PLAYER** — _choice_
|
||||
17. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
18. **MARKET MAYHEM** — _event_
|
||||
19. **FORCE SALE** — _inline_table_ · D20
|
||||
20. **START A BUSINESS** — _roll_table_ref_ · ⤷ roll table
|
||||
21. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
22. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
|
||||
### High Risk Path (11 tiles)
|
||||
|
||||
0. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
1. **BUY A HOUSE** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
2. **BET AGAINST ANOTHER PLAYER** — _choice_
|
||||
3. **PAY DAY** — _payday_
|
||||
4. **LEVERAGED BUYOUT** — _inline_table_ · D20
|
||||
5. **100K** — _cash_bonus_
|
||||
6. **INVESTEGATION** — _inline_table_ · D20
|
||||
7. **BLIND INVESTMENT** — _inline_table_ · D6
|
||||
8. **ROUGE TRADER** — _inline_table_ · D20
|
||||
9. **10K** — _cash_bonus_
|
||||
10. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
|
||||
### Gap Year Path (17 tiles)
|
||||
|
||||
0. **PAY DAY** — _payday_
|
||||
1. **SHENANIGANS** — _roll_table_ref_ · ⤷ roll table
|
||||
2. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
3. **TREASURE HUNT (NEED TO MAKE TREASURE MAP)** — _roll_table_ref_ · ⤷ roll table
|
||||
4. **LOST IN TRANSLATION** — _event_
|
||||
5. **MEXICO** — _roll_table_ref_ · ⤷ roll table
|
||||
6. **AIRPORT SECURITY** — _inline_table_ · D20
|
||||
7. **AUSTRALIA** — _roll_table_ref_ · ⤷ roll table
|
||||
8. **PAY DAY** — _payday_
|
||||
9. **JAPAN** — _roll_table_ref_ · ⤷ roll table
|
||||
10. **ACCENT ROULETTE** — _event_
|
||||
11. **IRELAND** — _roll_table_ref_ · ⤷ roll table
|
||||
12. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
13. **GERMANY** — _roll_table_ref_ · ⤷ roll table
|
||||
14. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
15. **ITALY** — _roll_table_ref_ · ⤷ roll table
|
||||
16. **STOP** — _stop_ · D8
|
||||
|
||||
### Education Path (12 tiles)
|
||||
|
||||
0. **PAY DAY** — _payday_
|
||||
1. **SCHOLARSHIP** — _inline_table_ · D20
|
||||
2. **4 YEAR DAGREE** — _event_
|
||||
3. **COMMUNITY COLLAGE** — _event_
|
||||
4. **APPRENTICESHIP** — _inline_table_ · D20
|
||||
5. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
6. **STUDY ABROD** — _inline_table_ · D20
|
||||
7. **POP QUIZ** — _event_
|
||||
8. **EXTRACURRICULAR** — _roll_table_ref_ · D20 · ⤷ roll table
|
||||
9. **ONLINE COURSE** — _inline_table_ · D20
|
||||
10. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
11. **GRADUATION GIFT** — _inline_table_ · D20
|
||||
|
||||
### Relationship/Family (Top) (20 tiles)
|
||||
|
||||
0. **PAY DAY** — _payday_
|
||||
1. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
2. **ADOPT A PET** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
3. **UNCLES CONDO** — _inline_table_ · D20
|
||||
4. **NEW CITY** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
5. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
6. **HAVE A BABY** — _inline_table_ · D2
|
||||
7. **DINNER PARTY** — _inline_table_ · D20
|
||||
8. **MARRIGE** — _choice_
|
||||
9. **WHITE ELEPHANT** — _inline_table_ · D6
|
||||
10. **FRIENDS WEDDING** — _inline_table_ · D20
|
||||
11. **NEW JOB** — _roll_table_ref_ · ⤷ roll table
|
||||
12. **PODCAST** — _inline_table_ · D20
|
||||
13. **HOBBY** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
14. **PERFECT IMPRESSION** — _inline_table_ · D20
|
||||
15. **BUY A HOUSE** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
16. **FAMILY REUNION** — _inline_table_ · D20
|
||||
17. **HAVE A BABY** — _inline_table_ · D2
|
||||
18. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
19. **AGING PARENTS** — _inline_table_ · D20
|
||||
|
||||
### Relationship/Family (Bottom) (26 tiles)
|
||||
|
||||
0. **PAY DAY** — _payday_
|
||||
1. **UNCLES CONDO** — _inline_table_ · D20
|
||||
2. **ADOPT A PET** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
3. **RISKY MOVE** — _inline_table_ · D20
|
||||
4. **NEW CITY** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
5. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
6. **HAVE A BABY** — _inline_table_ · D2
|
||||
7. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
8. **SIBLINGS WEDDING** — _inline_table_ · D20
|
||||
9. **NEIGHBORS PET** — _inline_table_ · D20
|
||||
10. **SIDE HUSTLE** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
11. **BUY A HOUSE** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
12. **HOBBY** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
13. **HAVE A BABY** — _inline_table_ · D2
|
||||
14. **PODCAST** — _inline_table_ · D20
|
||||
15. **MARRIGE** — _choice_
|
||||
16. **PAY DAY** — _payday_
|
||||
17. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
18. **FAMILY VACATION** — _inline_table_ · D20
|
||||
19. **ADOPT A PET** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
20. **FAMILY REUNION** — _inline_table_ · D20
|
||||
21. **NEW JOB** — _roll_table_ref_ · ⤷ roll table
|
||||
22. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
23. **HOUSE MAINTENANCE** — _inline_table_ · D20
|
||||
24. **HAVE A BABY** — _inline_table_ · D2
|
||||
25. **AGING PARENTS** — _inline_table_ · D20
|
||||
|
||||
### Retirement Path (Top) (11 tiles)
|
||||
|
||||
0. **PAY DAY** — _payday_
|
||||
1. **INVESTMENT PAID OFF** — _inline_table_ · D20
|
||||
2. **START A BAND** — _inline_table_ · D20
|
||||
3. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
4. **JURY DUTY** — _inline_table_ · D20
|
||||
5. **HOBBY** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
6. **THE RACES** — _inline_table_ · D10
|
||||
7. **NEW JOB** — _roll_table_ref_ · ⤷ roll table
|
||||
8. **BUCKET LIST TRIP** — _inline_table_ · D20
|
||||
9. **HOME RENOVATIONS** — _inline_table_ · D20
|
||||
10. **HOSTED THANKSGIVING** — _inline_table_ · D20
|
||||
|
||||
### Retirement Path (Middle) (22 tiles)
|
||||
|
||||
0. **½ LIFE CRISIS** — _inline_table_ · D20
|
||||
1. **HORRIBLE HANGOVER** — _inline_table_ · D20
|
||||
2. **40TH BIRTHDAY** — _inline_table_ · D20
|
||||
3. **MYSTERY TATTOO** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
4. **UNEXPECTED JOY** — _inline_table_ · D20
|
||||
5. **PAY DAY** — _payday_
|
||||
6. **HOBBY** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
7. **HOST CHRISTMAS** — _inline_table_ · D20
|
||||
8. **BUCKET LIST** — _inline_table_ · D20
|
||||
9. **RETIREMENT PARTY** — _inline_table_ · D20
|
||||
10. **SELL HOUSE** — _roll_table_ref_ · ⤷ roll table
|
||||
11. **DID YOU HEAR?** — _inline_table_ · D20
|
||||
12. **LOTTERY** — _inline_table_ · D20
|
||||
13. **FANTASY FOOTBALL** — _inline_table_ · D20
|
||||
14. **HIGH SCHOOL REUNION** — _inline_table_ · D20
|
||||
15. **POKER NIGHT** — _inline_table_ · D20
|
||||
16. **PICKEL BALL** — _inline_table_ · D20
|
||||
17. **BOWLING NIGHT** — _inline_table_ · D20
|
||||
18. **INVESTMENT PAID OFF** — _inline_table_ · D20
|
||||
19. **DICE SPACE** — _dice_space_ · D100 · ⤷ roll table
|
||||
20. **PAY DAY** — _payday_
|
||||
21. **RETIREMENT PARTY** — _inline_table_ · D20
|
||||
|
||||
### Retirement Path (Bottom) (20 tiles)
|
||||
|
||||
0. **PAY DAY** — _payday_
|
||||
1. **HOBBY** — _roll_table_ref_ · D100 · ⤷ roll table
|
||||
2. **FANTASY FOOTBALL** — _inline_table_ · D20
|
||||
3. **HOSTED THANKSGIVING** — _inline_table_ · D20
|
||||
4. **HIGH SCHOOL REUNION** — _inline_table_ · D20
|
||||
5. **SPEEDING TICKET** — _inline_table_ · D20
|
||||
6. **BOWLING NIGHT** — _inline_table_ · D20
|
||||
7. **JURY DUTY** — _inline_table_ · D20
|
||||
8. **PICKEL BALL** — _inline_table_ · D20
|
||||
9. **THE RACES** — _inline_table_ · D10
|
||||
10. **NEW JOB** — _roll_table_ref_ · ⤷ roll table
|
||||
11. **POKER NIGHT** — _inline_table_ · D20
|
||||
12. **HOME RENOVATIONS** — _inline_table_ · D20
|
||||
13. **BUCKET LIST TRIP** — _inline_table_ · D20
|
||||
14. **JOINED FACEBOOK** — _inline_table_ · D20
|
||||
15. **GOLF TRIP** — _inline_table_ · D20
|
||||
16. **DENTAL WORK** — _inline_table_ · D20
|
||||
17. **ACTION SPACE** — _action_space_ · D100 · ⤷ roll table
|
||||
18. **START A BAND** — _inline_table_ · D20
|
||||
19. **INVESTMENT PAID OFF** — _inline_table_ · D20
|
||||
|
||||
## Roll tables needed (all PLACEHOLDER)
|
||||
|
||||
Sorted by how many tiles use them. Each has banded stand-in entries so the game is playable now.
|
||||
|
||||
| Table | Die | Used by # tiles |
|
||||
|---|---|---|
|
||||
| DICE SPACE TABLE | D100 | 18 |
|
||||
| ACTION SPACE TABLE | D100 | 15 |
|
||||
| your current property | D100 | 8 |
|
||||
| property table | D100 | 7 |
|
||||
| JOBS TABLE | D100 | 6 |
|
||||
| hobby | D100 | 5 |
|
||||
| D100 BUSINESS TABLE | D100 | 4 |
|
||||
| Profited Or lost | D100 | 4 |
|
||||
| sell your | | | business | D100 | 4 |
|
||||
| Pet Table | D100 | 3 |
|
||||
| Bring the data | D100 | 2 |
|
||||
| Charm the boss | D100 | 2 |
|
||||
| item being auctioned | D100 | 2 |
|
||||
| new city | D100 | 2 |
|
||||
| shenanigan | D20 | 2 |
|
||||
| Throw a someone under the bus | D100 | 2 |
|
||||
| Accept a local recommendation | D100 | 1 |
|
||||
| Accept a local recommendation | D100 | 1 |
|
||||
| Accept a local recommendation | D100 | 1 |
|
||||
| Accept a local recommendation | D100 | 1 |
|
||||
| Accept a local recommendation | D100 | 1 |
|
||||
| Accept a local recommendation | D100 | 1 |
|
||||
| applicant\'s | D100 | 1 |
|
||||
| company perk | D100 | 1 |
|
||||
| Explore the city | D100 | 1 |
|
||||
| Explore the city | D100 | 1 |
|
||||
| Explore the city | D100 | 1 |
|
||||
| Explore the city | D100 | 1 |
|
||||
| Explore the city | D100 | 1 |
|
||||
| Explore the city | D100 | 1 |
|
||||
| gift exchange! | D100 | 1 |
|
||||
| Go into nature | D100 | 1 |
|
||||
| Go into nature | D100 | 1 |
|
||||
| Go into nature | D100 | 1 |
|
||||
| Go into nature | D100 | 1 |
|
||||
| Go into nature | D100 | 1 |
|
||||
| Go into nature | D100 | 1 |
|
||||
| Karaoke bar | D100 | 1 |
|
||||
| Mystery Tattoo Table | D100 | 1 |
|
||||
| Play it safe | D100 | 1 |
|
||||
| Roll D20. | D100 | 1 |
|
||||
| Roll D20. | D100 | 1 |
|
||||
| Side Hustle Table | D100 | 1 |
|
||||
| Sporting event | D100 | 1 |
|
||||
| Take the risk | D100 | 1 |
|
||||
| treasure | D100 | 1 |
|
||||
| trivia question | D100 | 1 |
|
||||
| Upscale steakhouse | D100 | 1 |
|
||||
|
||||
## Open questions for you / your sister
|
||||
|
||||
- **Win condition** isn't stated in the doc — how does the game end and who wins? (Most Wealth? A blend of cash + Love + Wealth at retirement?)
|
||||
- **Age** — the D8 at each STOP adds years; is there a maximum age that ends the game?
|
||||
- **Stat meaning** — is *Wealth* a separate point score from *cash ($)*? Treated that way here.
|
||||
- **Country sub-tables** (Explore city / Nature / Local rec) are **separate per country** (Mexico, Australia, Japan, Ireland, Germany, Italy) — 18 small tables in total.
|
||||
- Several tables are all-players mini-games (trivia, White Elephant, races) — these need special handling in an async game; worth flagging for Phase 3.
|
||||
|
||||
## Additional gaps found while integrating this into the game engine
|
||||
|
||||
- **`inline_table` tiles have no table content anywhere.** 85 of the 211 tiles (40% of the board) are type `inline_table` — they carry a die size (e.g. `COMPANY RACE DAY`, D10) but reference zero external tables, and none of the 48 tables in roll-tables.json are inline (all 48 have a `source_doc_id`). Whatever content was inline in the original design doc next to these tiles wasn't captured during parsing. Currently these resolve against a generic synthesized placeholder table (same banded shape as the real 48, one per die size, obviously fake numbers) — real content for all 85 is still needed.
|
||||
- **`payday`/`cash_bonus` amounts are undefined.** PAY DAY (16 tiles), 100K, 10K, and 401k have no amount specified anywhere in tile-inventory.json or roll-tables.json. Currently using invented placeholder amounts ($2,000 payday; $100,000/$10,000 for the named bonuses; 401k falls into the synthesized-table bucket above) — these are 100% guesses, not derived from anything in the doc.
|
||||
- **Multi-table `roll_table_ref` tiles have no documented combination rule.** 22 tiles reference 2–3 tables at once (e.g. `PERFORMANCE REVIEW` references 3), and nothing in the parsed content says how they combine. Currently implemented as "roll and apply every referenced table's effect, summed" — a reasonable guess, but unconfirmed against the actual design doc.
|
||||
- The tile-type vocabulary actually has **9 types**, not 7 — `inline_table` and `cash_bonus` exist alongside payday/action_space/dice_space/roll_table_ref/choice/event/stop.
|
||||
Reference in New Issue
Block a user