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

BDO of the Day: Confluence

Today’s (once again, this year’s) Big Dumb Object (BDO) comes from Paul J. McAuley’s three-book series Confluence (2000), published individually as Child of the River (1997), Ancient of Days (1998), and Shrine of Stars (1999). It’s as sweeping as it sounds, with the classic ancient and deteriorating BDO, inhabited by thousands of races who worship the builders as long-departed gods.

Our Hero doesn’t crash into the BDO but instead is born mysteriously of the eponymous river; Confluence the BDO is also the confluence of two rivers, one of which is slowly failing and the other of which is the stuff of legend. The first two novels are entertaining jaunts across the face of Confluence, in which Our Hero strives to understand his mysterious origin and to fight and/or flee from mysterious foes.

In the third installment Our Hero is a captive of one of foes, while still pursued by the other(s). The story loses much of its energy in his captivity, until a final push to both escape and save dying Confluence with a couple of satisfying twists.

Spoilers

Someone else has arrived at the BDO from elsewhere, and in the second novel she offers an external observation:

The artefact was a stout needle twenty thousand kilometers long and less than a thousand wide, with a deep keel beneath its terraformed surface. It hung in a spherical envelope of air and embedded gravity fields. It tilted back and forth on its long axis once every twenty-four hours and took just over three hundred and sixty-five days to complete a single orbit of its ordinary yellow dwarf star. […]

The orbit of the artefact was slightly irregular; there would be seasons on its surface. One side was bounded by mountains fifty kilometers high. Their naket peaks rose out of the atmospheric envelope. On the other side, a great river ran half its length, rising in mountains three-quarters buried in ice at the trailing end of this strange world and falling over the edge at the midpoint. It was not clear how the water was recycled. The ship made neutrino and deep radar scans and discovered a vast warren of caverns and corridors and shafts within the rocky keel of the artefact, but no system of aquifers or canals.

One half of the world, beyond the fall of the river, was dry cratered desert with a dusty icecap at the leading end and a scattering of ruined cities. The other half was verdant land bounded on one side by the river and on the other by ice-capped ranges of mountains which were mere foothills to the gigantic peaks at the edge. There were cities scattered like beads along the river, and every city, except the largest, was inhabited by a different race of humanlike creatures.

Calculations

Where Confluence falls short is as a BDO. Its structure is unsatisfying, being a flat plane tilting back and forth to produce odd solar motion. Gravity, the impossible river(s), and other details are handled by hand-wavy end-of-the-universe magical science. And it’s small.

For all the thousands of races and exotic science of Confluence, it is consistently described as “world-sized”, which, it turns out, is far too generous. The numbers above make it at most 20 million square kilometers (7.7 million square miles), with no oceans, only the pervasive river. The land area of the Earth is about 150 million square kilometers, or 58 million square miles. It’s hard to tell whether this is just a miscalculation, or the needs of the story outweighing the needs of the worldbuilding, where Our Hero travels the length of one river (10,000 km, or 6,200 miles), and occasionally the width of the world (up to 1,000 km or 621 miles), sometimes at sci-fi speed but more often at sword-and-sorcery speed.

The other big ideas hopefully make up for the smallness of the big dumb object.

My First 3D Model (Original)

You may recall I got a 3D printer a month ago, and today I published my first from-scratch model, which I pieced together from basic shapes in TinkerCad.

We were using a soap alligator on a string to hold the shower door open, but the toddler likes to play with it and when he pulled it off the door the string dissolved into nylon fuzz. Rather than find a new string, I decided to go with a less tempting solution: a door prop that hangs on the shower door handle.

My First 3D Model (Remix)

I got a 3D printer this weekend, and today I published my first model on Makerworld. It’s not really even a remix; it’s a Thingiverse model I opened in Bambu Studio, checked the profile, and printed out. For a Makerworld model this would mean just adding a new profile, but in this situation it’s a remix.

Omingard

Omingard is an implementation of the solitaire (in the patience sense) game Irmingard, which seems to be by the programmer, Paul Koegel. The last time I tried it anywhere but my ancient iPad, it didn’t work, so I was thinking of repairing the implementation. But I checked it first and discovered that it’s back in business!

P.S.: I tried Omingard out on my iPhone and remembered what was broken about it. Fortunately, Google Antigravity is still free, so I asked it to fix it and it got almost everything fixed before I ran out of tokens. The only thing it didn’t figure out was why the minified javascript was throwing errors. The maximized javascript is running happily from my github, and the code is in my fork.

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.