
GAME CONCEPT • Considerations & Specifications
QUO VADIS
Last update: 29 Jul 2026
Abstract
Digital single-player version of the board game QUO VADIS (1992).
Original layout
Board
While the original is printed on cardboard, ours has dynamic textures (random variations of background, walls, and seats).
Example of starting position with laurel chips placed:
Board :: Size
With enough screen space available, and to offer some visual and strategic variation, we'll prepare bigger board sizes as well.
As of the grid (original: 14×13 cells), we’re interested only in the content area (here: 12×11 cells) within the framing empty border cells:
Given our typical view size of 768×768 px, and the cell size 32×32 px, a maximum grid has 24×24 cells. This allows a content area of up to 22×22 cells.
The range between 132 (12×11) and 484 (22×22) cells should offer 3 additional intermediate sizes, based on a constant scaling factor F:
132 × F × F × F = 484
=> F ≈ 1.3838
The general room/seat density D should be the same as in the original:
D = 37 seats / 132 cells
=> D ≈ .28
Applying scaling factor and density, we get the following table with approximated room stats:
| Size | 12×11 | 14×13 | 16×15 | 19×18 | 22×22 |
| | | | |
| Area | 132 | 182 | 240 | 342 | 484 |
| Rooms | 1 | 7 | 10 | 12 | 17 | 26 |
| 3 | 5 | 7 | 10 | 13 | 18 |
| 5 | 3 | 4 | 5 | 8 | 11 |
| Seats | 37 | 51 | 67 | 96 | 135 |
Play time (minutes) | ~30 | ~40 | ~55 | ~80 | ~120 |
A procedural generator for committee rooms is an option, but for now we’ll use handcrafted examples (laurel slots in brackets):
14×13 (14 slots)
16×15 (19 slots)
19×18 (28 slots)
Actions
The current party must perform 1 action (out of 4) to conduct its turn:
- Add a new member (in one of the bottom rooms/committees with free seat).
Player: click the target room.
- Advance a member.
Player: click/select member, then click the target room.
If promotion fails, one of the other actions has to be chosen.
- Move Caesar.
Player: click target path slot.
- Kill victim (in same committee).
Player: click/select member, then click (different colour) victim.
People
All participants are of size 32×48 px, their shapes rounded at the bottom to fit the circular seat slots.
People :: Politicians
Parties/factions are defined by their colour: red(#ff2222), yellow(#c3c300), green(#00cc77), blue(#aaaaff) and violet(#ff11cc).
For each party, 15 different patrician/senator sprites are available, from which a random one is chosen whenever a new member enters a bottom room/committee.
People :: Prosecutors
Autonomous additional type, who will only enter the board when a murder occurs. Then this official navigates to the killer (unless he hasn’t yet reached the senate) and removes him.
A prosecutor’s turn happens immediately after the turn of a killer’s party, unless being bribed to skip.
Algorithm :: Attitudes
Each NPC party stores their attitudes towards other factions as normalized values [0…1], where .5 is neutral, 0 is contra, and 1 is pro. Initially, all attitudes are neutral. The value goes up when a beneficial cooperation occurs; it goes down when a veto is received, or a murder took place.
Algorithm :: Rules of thumb
- In case of multiple advancement opportunities, try path that…
- … has the best success chance based on voter’s attitudes.
- … connects to senate,
- … offers most laurels,
- … leads to room with own or befriended party members.
- If advancement fails…
- … and there’s free seats in entry rooms, add a member,
- … else move Caesar.