m. c. de marco: To invent new life and new civilizations...

Solo Soothsayers

Soothsayers is a new 2–5 player lane-battler-style card game using a custom Tarot deck and a lead-follow mechanic. I first played it in alpha on Board Game Arena, then got my own copy.

I’m used to the BoardGameGeek forums for a new game being full of solo play suggestions but for whatever reason this one wasn’t, so I came up with my own solo mode bot. The bot turns one player into two, or two players into three, and mostly follows the rules. (The full rules are available at BoardGameGeek, and my bot rules are supplemented with one picture in my thread about it there.)

Setup

Give the bot the usual starting money and deal it a hand of common cards, but not a Tarot card. Otherwise, the setup is as usual for the player count (counting the bot).

When setting up the markets, note that you will be keeping them in order during the game (shifting cards so that when you refill, you are filling in at the end of the market). To make this easier, you can set up the Common card market as one long line if space permits, or snake it around like this:

1 2 3 4
8 7 6 5

I find it easiest to set up the bot’s level 1 cards just above my own, and its tarot cards above that. (I can read upside down so I mirror them, but right side up is probably easier.)

Gameplay

The bot goes first.

Humans play as usual. The bot drafts, captures, and ascends (see below) using cards chosen from the start of the appropriate market.

On its lead, the bot draws a Common card from the top of the Common deck and discards it. It leads with the suit of that card. Both its lead and follow actions are according to the rules, with the provisos that:

  • When the bot leads Earn/Trade, it always Trades for a Fate token if it can afford one (and otherwise Earns).
  • When the bot Drafts, it draws from the start of the Common card market and adds the cards to its hand, face-down. If the market is exhausted, it draws from the deck.
  • When the bot Ascends, it does the following:
    1. It takes the first card from the market that it can use to ascend for free. It continues through the market this way until out of ascends or out of suitable market cards. It may go back to pick up cards that have become suitable.
    2. If the bot still has ascends and money, it takes the first available skip-ascend card from the market, paying the usual 5 coins. It continues through the market this way as long as it still has ascends and money. It can also go back and pick up more free or skip cards as they become suitable.
    3. If after that it still has ascends, it draws that many cards from the Common deck and uses as many as it can to Ascend, first for free, then making any skips it can afford. It does not go back to the market during this step. It discards any remaining cards.
    4. Any remaining ascends are lost.
  • When the bot Captures, it takes the first Tarot card from the market, and puts it in the appropriate space. If it captures a multi-suited card, it puts it in the first open space of that suit (in suit order), or, if they are already occupied, it puts it on top of the lowest-ranked of its matching Tarot cards (even if the new card is lower in value than the old one, and even if that causes it to lose a Fate token). It repeats this process for each capture it has.

The bot always follows, and always pays to follow (if required and it has enough money). The human player(s) may follow the bot if they so choose. They pay the bot as necessary. If the bot must pass, it earns money in the usual way.

Human players use Tarot powers as usual, with the following exception: If a human player has Justice, he does not count the size of the bot’s hand. (Humans may count/take the bot’s money for Wheel of Fortune.)

To keep things simple, the bot does not use its Tarot powers (but see the Notes).

Endgame

The game ends in the usual way. Note that the bot never uses or discards its hand cards (but see the Notes), so the game may end by the new rule (when the Common card market cannot be refilled). In that case, note that the bot will always win on the second tiebreaker (hand size), and plan accordingly.

Notes

In a solo game, part of the fun is manipulating the markets to affect the bot’s tableau. In a three-player game, one of the human players will have an advantage in doing so, while the other human will benefit more from the bot’s market-refreshing tendencies.

If you want to add the bot as a fourth player, I’d recommend Ascending from its hand instead of from the market. Follow the same Ascend steps, substituting its hand for the market. (It’s not particularly important to keep its hand in order.)

To increase the bot’s level of difficulty easily, let it Trade whenever it has the money (skipping the randomization of its lead suit in that case only). To increase difficulty with more effort on your part, let the bot use its Tarot powers, thus:

The bot uses its ample hand as required (e.g., for either Moon or Star); when the rank or suit is not specified, choose hand cards at random. Do not force the bot to use any powers that would strictly decrease its Fate tokens (e.g., The Tower, The Transcended Lovers). If you need to choose a suit for a Tarot power (e.g., for a tie in Judgement), go in suit order. Do not draft Tarot cards into its hand (with the Transcended High Priestess). Do not capture other players' Tarot (with the Transcended Chariot) unless the Tarot market is empty (and do not pay the human player for the card). The bot may not use the Transcended Tower.

Boskone 63

Boskone, New England’s longest-running science fiction and fantasy convention, has been back in the Westin for a few years since last I blogged about it, and I’ve been attending. This year I’m teaching a few games, but not otherwise on program.

Lists Differ

After some fiddling to get my BoardGameGeek tools working in the post-APIcalyptic era, they were fresh in my mind when I came across a geeklist of games implemented at Abstract Play. I was pretty sure there was also a family of games implemented at Abstract Play. (BGG users like to see things in the form of a geeklist, no matter how appropriate that may or may not be.) There are 212 games available at Abstract Play, and that’s a lot to look through manually if I, say, wanted to maintain the official family the upstart geeklist. Wouldn’t it be nice if you could compare the two and see what was missing from the official family, the upstart geeklist, or both?

Well, now you can. The Lists Differ will compare lists from any one or two of my sorters. So you can compare the geeklist and family mentioned above (by clicking here), or any two geeklists, etc. I also added some new sorters; the old ones were the geeklist sorter, the family sorter, a collection sorter, and a general thing sorter; the new ones are a play sorter, a hot games sorter, and a data dump sorter.

The data dump sorter was an afterthought to the lists differ; the top n whatevers is always an interesting point of comparison. It loads a static copy of the data dump, but for freshness you can download the latest version from BGG and sort it instead. (Instructions are included on the page.) No real-time communication with BGG is involved in the data dump sorter, so you can sort to your heart’s content. Any slowness you may encounter is the fault of your browser, not of the API.

BDO of the Day: Helix

This post includes Amazon affiliate links to the book(s) linked and/or pictured.

Today’s (more like this year’s) Big Dumb Object (BDO) comes from Eric Brown’s two-book series Helix (2007, reissued in 2023) and Helix Wars (2012).

There’s a tiring amount of framing of the human side of Helix, in which a severely depopulated Earth sends out a lone ship of 4,000 sleeping colonists plus a skeleton crew of six. Eventually, the crew awaken to a crash landing on what they at first think is their target planet. Soon enough, the sun rises over something quite different, a helical planet that the author never quite describes to my satisfaction.

The Helix is a long, skinny megastructure wrapping eight times around a central star to form a single-stranded helix. It seems to be rotating around its cylindrical axis the way a topopolis can, but it also seems to be a solid planet, at least until book 2. The Helix contains approximately ten thousand worlds, divided by ten thousand seas, like a necklace of alternating green(ish) and blue beads.

There are no seasons, though the outer tiers are colder than the central ones. What happens physics-wise at the two ends of the structure is not addressed. The question of whether a solid ring or helix can rotate like a topopolis is moot because Helix Wars reveals that at least some world-beads rotate at different rates, so it must be jointed although no joints are ever shown.

The diameter of this tubular planet isn’t specified until well into book 2, nor is the length of the individual world-beads. The seas are described as a thousand miles wide, i.e., long. Though they seem to serve as buffers between the different atmospheres and geographies of the individual worlds, how this works is also never described. Most of the travel in the books is by spaceship, at an unspecified speed. So in book 1, the biggest clue to the dimension of the world is a statement that “there’s sufficient landmass in the entire helix to contain oven ten thousand planets the size of Earth.” The distance between the tiers (later called circuits) of the Helix is never discussed.

In Helix Wars, a tale of interworld conflict, a few humans get to see the “spine” of the Helix, a tunnel two hundred kilometers (125 miles) in diameter running the length of the Helix, within a wall ten kilometers thick. There’s some unnecessary artificial hollow-earth-style gravity to counteract the shell theorem. The tunnel isn’t really necessary for either the plot or the structure, though gigantic machines within it are somehow supposed to be maintaining everything from a distance of “almost 8,000 kilometers” (4971 miles) from the surface. In addition to this radius, a length for the Helix is also finally provided: 200,000,000 kilometers (124,275,000 miles). These are big numbers, but they’re not big enough; see the calculations below for details.

Both novels provide entertaining adventures involving a reasonable number of worlds and species of the Helix; they’re very much a typical example of the genre rather than one of those novels that provide only a glimpse of the BDO in the last chapter. The lack of physical detail about the Helix in the first novel interfered with my sense of wonder, as did the reliance on magic technology once details were revealed (e.g., the unnecessary artificial gravity in the unnecessary tunnel through the center of the Helix), though my personal BDO construction principles probably don’t matter to the average reader.

Helix
Helix Wars

Spoilers

Helix starts out slowly, with a remnant of post-ecopocalyptic humans living a hardscrabble life on Earth. Enough government survives to send out a colony ship to a nice-looking sun a thousand light years away, and enough ecoterrorists survive to necessitate secrecy. It’s never clear whether terrorism or accident causes the ship to crash in their target system, but it is eventually explained that the Builders of the Helix concealed it from Earth’s view. If you’re likely to be annoyed by all the eco, this may not be the novel for you; I thought it worked well enough in the context of a BDO story. The human characters are serviceable, if not particularly memorable.

The main alien characters are a bit more interesting. A race of otter-like humanoids living on a cold, cloud-shrouded world-bead have developed an unnecessarily insular religion in which the universe is a sea of gray with their city in the middle and not much else. There’s as much bickering about religion in their chapters as there is eco-handwringing among the humans. If you’re likely to be annoyed by all the atheism, this may not be the novel for you; I thought it came close to working well enough in the context of a BDO story but the situation felt more assumed than explained.

Eventually some otters stumble across the spaceship of a lone representative of a third alien species, sent to recover technology stolen by the religious fanatic otters. In the process they rescue the humans and escape to another world, Phandra, inhabited by a species of peaceful, apparently primitive but psychic aliens who have been waiting for their arrival. They show the humans and otters (the lone alien doesn’t make it) to a crashed ship of one of the engineers that manage the Helix. In this way they discover where the world of the Builders of the Helix is, fly to a world neighboring it, and use native transportation (living flying carpets) to reach the Builders' world undetected by the pursuing religious otters.

In the best of BDO fiction fashion, they meet the Builders (after a fashion), discover the purpose behind the Helix, and settle down for the long haul. Oddly, the two impossibly estranged otters get back together.

Helix Wars gets going faster, with more adventure and fewer Big Issues. Humans have had two hundred years to settle into their new colony and new interworld peacekeeping role. As is all-too-common in science fiction, all their futuristic technology disappears when it comes time to give a character a tragic backstory involving the death of a child, but otherwise the humans are doing well on the Helix…until an upstart alien world (Sporell) invades its next-bead neighbors (which happens to be Phandra, from book 1).

Sporelli shoot down a human shuttle that flies by at the wrong time, and only the pilot, Jeff, survives. Humanity’s bureaucracy doesn’t seem up to the task of rescuing him, never mind actually fulfilling their peacekeeping duties, but coincidentally he has an alien friend Kranda from the engineering race (the Mahkan) who owes him a favor debt of honor and goes after him. Before she can rescue him, the locals, Phandrans from book 1, find him, treat his injuries, and try to get him home. They fail, but the Mahkan succeeds, and there’s a brief interlude on New Earth before Jeff and Kranda reunite to rescue some captive Phandrans now being held at the next world and target along the line, D'rayni.

They are only partly successful in this mission, and a setback sends them fleeing to the tunnel at the center of the Helix. They travel by its advanced magic car system to Sporell itself, where we get a dose of this novel’s Big Issue, fascism bad, but is it bad enough to justify killing Hitler? This particular cloud-covered world is extremely gray and fascist, and its dying Supreme Leader is planning a surprise to extend his domains and his life indefinitely.

While the surprise is a neat plot twist, the vast scope of the Supreme Leader’s ambitions makes his minor incursions on the surface of the Helix, heretofore a large part of the plot, feel irrelevant. Our lone heroes handle the new threat with aplomb, magic builder technology, and too much arguing about killing Hitler. Only off-screen do the peacekeepers finally get off their collective butts and restore the peace on Helix.

There’s another meeting with the Builders, and a denouement that would have had more impact with more believable relationships. (The two impossibly estranged humans get back together.)

Calculations

The radius of the Helix (at an access mountain on the D'rayni world) is almost 8,000 kilometers, or 4971 miles, more than the radius of the Earth (3,963 miles). The length of the Helix is 200,000,000 kilometers (124,275,000 miles), so about 20,000 kilometers (12,428 miles) per world. Minus the thousand miles of ocean, this is about 11,427 miles per world. Each world would have a surface area of 2π times the radius times its length, or 356,900,000 square miles. This is closer to twice the size of the Earth, so the Helix is about the size of 18,000 Earths, not 10,000 Earths. This, however, is not the major error in the BDO.

Without knowing the distance between the tiers, we can only approximate the distance of the Helix from its central sun. Judging from the only slightly uninhabitable ends, the cover art, and the ziggurat transport system that the characters use on one occasion in book 1, the pitch of the helix is minimal, with a distance between tiers of perhaps as little as ten times the diameter of the beads. For a guess let’s call it 100,000 miles.

With that and the length of the Helix we can approximate the radius of the Helix—the distance between it and its central sun—at 2,500,000 miles. Unfortunately, this is not a reasonable distance from a G-class sun, being about one thirty-seventh of an astronomical unit (92,955,807 miles). Tweaking the distance between tiers is no help; the Helix’s goose is cooked. In other words, the Helix is an object lesson on not pulling numbers out of your arse.

An 8-tiered helix fitting the parameters of the book but positioned a habitable 1 AU away from its sun should be 4,672,468,555 miles long, with room for 376,000 worlds, not a mere 10,000. Another option would be to place the original Helix in orbit around (but outside of) the sun rather than being a spring with the sun at its center. But such a helix would have seasons, and the temperature would vary across the diameter of it, unlike the weather of the novels.

BGG XML APIcalypse Now

I applied for non-commercial access to BoardGameGeek’s XML APIs (there are two) earlier this year, at some point well after the announcement of the coming of the APIcalypse. I was also less than prompt in updating my BGG tools to authenticate against the soon-to-be-secured API. This week the APIcalypse arrived and I finally updated my tools to get them working in the post-apocalyptic hellscape era.

I was thinking that, due to the interesting implementation of the new API authentication, I’d have to send my sekrit in the clear from my purely client-side BGG apps. But then I remembered that all my API requests are going through my personal CORS proxy, in order to deal with some other interesting design choice at BGG (the gory details of which I’ve since forgotten). So I could just hack my proxy to also authenticate my requests without revealing any secrets. The hardest part was getting PHP working locally on my Mac in order to test my changes.