Week 3:
I made a selection pane for the special powers. The intent is to eventually have about 10, chosen from a random set of about 30; I don't have them all designed yet, but I'm hoping that once this initial set is implemnted, I'll naturally have all the necessary hooks in place to make implementing other ideas much easier.
I'd hoped to fit an image onto the cards as well, so that I could use them to show which powers are currently active in the bottom bar, but it looks like I'll need to either make the cards significantly larger for that or make the text shorter.
The map generator is more sophisticated now, and can guarantee there's not too much or too little of any given terrain on the map, e.g. there's always going to be 60-80 hexes of water. Enough to always add some interesting constraints, but never so much that there's only one route you can actually build. It'll still need similar safeguards against pathological city distributions.
Also some more iteration on terrain textures. What I think I'll do for all the terrains is procgen terrain features (e.g. the little bushes and ponds for the swamp) distributed over wrap-around 150x150 texture using blue noise, on top of a monochrome main terrain color.
Finally, the game now displays notifications for a few seconds for events like new train routes being created:
I also had a good discussion with a friend about what the MVP for this game really looks like. The game is fundamentally a score run: there's no explicit win or loss condition, the goal is just to get as high a score as possible. And that's why both the daily challenges with an online leaderboard + campaign levels were on my initial roadmap. But for initial "do people other than me" testing, it's probably fine to just have a couple of levels for which I can manually set the success thresholds. That saves writing the server-side components for an online leaderboard or the manual effort of curating a full campaign. It'll also mean I don't need to get the full set of special powers implemented.
Assuming I keep everything else from the initial roadmap, getting the MVP done by end of March looks quite doable given my current time allocation for this project.