How We Made Ticket to Ride Philly
Making a good game means figuring out hundreds of details. For us, even though many details were already handled by the Ticket to Ride creators there were still plenty of details to think through. See the sections below for background on:
Transit – modelling Philly transit stations and routes within the world of Ticket to Ride
Sites – choosing the "Sites of Interest" and making them a competitive scoring option
Balance – choosing tickets and route colors to make a balanced game
Graphics – design, layout, and base map of the game board
Summary – stats comparing Ticket to Ride USA, Europe, and Philly
Stations and routes
To keep things real we wanted each station to be a SEPTA stop, and each connection between stations to be a one-seat SEPTA ride. You can see the results in the online board by hovering overtapping a station or connection — for example:
But which stations to choose? The network needs to be well-connected, so we favored stations where transit routes intersect. Transit hubs (like 69th St and Fern Rock) were a clear choice, while regional rail stations with no intersecting bus line (like Rydal) were a clear omit.
The three Center City rail hubs seemed like obvious choices too, until we realized that
Suburban to Jefferson is only 4/10 of a mile —
if that distance were one train space, the board would have to be six feet wide to fit the region!
And since more people ride the subway than rail we chose subway stations through Center City.
That meant one mile per train space, making the board width manageable.
(Even so we had to omit a far-flung Media station to keep the board size under control.)
Apologies if your favorite station isn't on the board! We couldn't fit in everything — just like in Ticket to Ride USA, where Philly is invisible between Washington DC and New York despite being the country's 6th largest city.
One difference from other Ticket to Ride boards is that ours has 16 connections with just one train space.
That slows down travel through Center City — just like in real life.
One motivation was to include Philly's amazingly still-relevant trolleys, like the Girard Ave T1.
Other short connections reflect transit reality.
For example, because there's no one-seat ride from Wissahickon to Wayne Junction we needed to add the Germantown station and its short connection to Wayne Junction.
Needing two hops when you'd prefer a direct route shows up elsewhere on the board as well, like from Fox Chase to Jenkintown, Fernwood-Yeadon to Sharon Hill, and Villanova to Conshocken. That's because there's no direct SEPTA route in those places, which is just real life for transit riders.
Sites
Every version of Ticket to Ride adds one or more wrinkles on the basic rules, for added interest. We were excited to add "Sites of Interest" to highlight cool places in Philly, and wanted to distribute them evenly around the board. But in some parts of town there's an interesting site around every corner, while in other parts not so much. Our compromise was to pick just six sites in Center City, a tiny fraction of the possibilities but still much denser than the rest of the board.
Finding standout sites in Northeast Philly was more challenging. Sadly some great spots closed, like the Insectarium, but happily others appeared, like Otherworld Philadelphia. And Google Maps supplied Turtletopia — how could we not include that? We also discovered some interesting sites along the way, like the Lower Swedish Cabin in Delaware County.
Then there was the challenge of balancing the points a player can get from claiming sites vs. the points they can get from completing tickets. We wanted claiming sites to be a competitive option; that is, to set the value of sites so that a player focusing on collecting them could possibly beat a player focusing on completing tickets, but not necessarily.
After trying several site point tables over many trial games we arrived at the current table — 6 points for the first site, 7 for the next, then 8, 9, etc. That's higher than we expected, but with lower values nobody ever matched the points of a network with multiple overlapping tickets. With the current table we've seen games where a site-focused player and a ticket-focused player get similar scores.
We'd love to play a hundred more games to see if we nailed it, but life is too short.
Your feedback is welcome as you play the game — is the value of your first site too high, too low, or about right?
And should the reward for additional sites rise more quickly or is it about right?
A simpler task was choosing which pair of card colors should claim each site. It's sweet if the colors are appropriate to the site — for example, school colors for Central High School (crimson & gold) and Haverford College (scarlet & black) or logo colors for Franklin Institute (orange & black) and the Art Museum (red & white).
Finally, each color should appear on a similar number of sites; 8 colors and 20 sites means each color is used for 2 or 3 sites.
Balancing the Game
Having a balanced game means a lot of behind-the-scenes work that might not be obvious.
For example, how should the set of tickets be chosen? We wanted to satisfy these criteria:
- Tickets should be well spread out across the board
- Tickets should have a good mix of point values
- No pair of tickets should be too similar
- No station connection should be on the path of too many different tickets
Our solution was to divide the board into 5 regions (NW, N, NE, central, S) and choose 4 tickets each from the resulting 10 region pairs, rejecting tickets that violated our criteria. We wrote code to choose tickets randomly, and examined the results to fix small issues and even things out.
Then, which connections should have two parallel routes?
We wrote code to find the shortest path for each ticket, and to count how many times each connection was used in those paths.
Then we added a parallel route for the popular connections.
And what colors should the routes be? That turns out to be a challenging task. There are 8 colors, plus gray, and we had to satisfy these criteria:
- No two routes meeting at a station can have the same color
-
Across the board, all colors should have:
- the same number of routes
- a similar distribution of route lengths
- the same total number of train spaces
- Routes with the same color should be well spread out across the board
- Gray routes should be balanced — not too many, not too few, and a good distribution of lengths
After many rounds of assigning colors to routes, evaluating the distributions, and horse trading, it finally worked out.
Graphic Design
Drawing the board meant many dozens of graphic design decisions. With a software developer in the house we decided to write code to draw the board (via Paper.js), with the great advantage that any detail (like the width of train spaces) could be changed in one place rather than in hundreds of places.
And there are so many details — sizes, colors, borders, spacing, fonts, ... for stations, sites, train spaces, mode labels, scoring circles, tables, ... Hats off to the graphic designers of the world who make these countless decisions daily.
Layout also had its challenges — stations are connected by a whole number of train spaces,
but the distance between stations is seldom a whole number.
How can everything fit without train spaces overlapping stations or each other?
Other versions of Ticket to Ride use curved routes to avoid overlaps,
but for our board it turned out that with careful nudging (of stations, route endpoints, and labels) all routes could be straight and still fit.
Of course nothing is ever perfect — for example, the nudged University station is on the wrong side of the river — but whatcha gonna do?
And how much map detail should the board contain as background? Too much and it looks cluttered; too little and it looks plain. Our solution was to show counties, rivers, and creeks — digging up and massaging map data so they look right.
Finally, the sites needed images to look good. Many thanks to the artists for permission to use their artworks! For image credits, hover overtap a site in the online board:
Summary
Here are some stats comparing Ticket to Ride USA, Europe, and Philly:
| USA | Europe | Philly | |
|---|---|---|---|
| Stations | 36 | 47 | 40 |
| Tickets | 30 | 46 | 40 |
| Connections | 78 | 99 | 81 |
| Routes | 100 | 110 | 96 |
| Double routes | 22 | 11 | 15 |
| Train spaces | 309 | 292 | 253 |
| Average connections per station | 4.3 | 4.2 | 4.1 |
| Average train spaces per connection | 3.3 | 2.9 | 3.1 |
| Average ticket value | 11.6 | 10 | 11.1 |
| Stations with only 1 or 2 connections | 3 | 6 | 3 |
| Connections with only 1 train space | 3 | 3 | 16 |
| Colored routes | 56 | 75 | 72 |
| Gray routes | 44 | 35 | 24 |
| Average train spaces per gray route | 2.1 | 2.9 | 2.9 |
| Average train spaces per colored route | 3.9 | 2.6 | 2.6 |