RogerBW's Blog

Flamme Rouge by Forum 21 February 2021

I have written and released software for running games of Flamme Rouge by forum.

It's a very good game for play-by-forum, because there's only one round-trip per turn (and round-trips from player to moderator are the thing that slows down PBF games): player sees their hands, player makes their plays, once all plays are in the riders are moved and start again. (I have made a small optimisation which relies on the players to follow the rules: the messages to the players show both their riders' hands, hidden separately, and they need to remember to choose one rider, look at their hand, choose a card, and only then look at the other.)

Some people expect this kind of game assistance software to be one great monolithic block, as it would be if it were designed to be played in real-time. That's not the way I work; this is more of a bunch of little programs flying in close formation (with some shared code). The Linux command line is where I spend most of my time already…

So for example there's one program that has the specific job of "take the cards played by a single player, verify that they're valid, and record them". That's all it does; then it dumps me back to a command prompt.

Another program produces an image of the current state of the track, using an internal vector system to produce a bitmap at whatever scale is wanted. (I'd have done them in SVG, but it's painfully hard to merge one SVG file into another with exact placement.) The curved sections are drawn with straight edges, because it was easier to get up and running quickly – but also because the correct placement of a rectangular marker on a small curved space to minimise overlap with other spaces is not at all obvious.

This part actually produced most of the potential complications: I'm using icons for weather (from the excellent which are CC-licenced, but because it's not always obvious just where a section of special terrain begins or ends (because, for clarity, my rider images take up most of the space in which they're placed) I also used some British road signs. I thought I'd have to replace them for the release. But it turns out that the Highways Agency document "Know Your Traffic Signs" (which has all these signs in vector format, so I can trivially pull them out in Inkscape) is released under the Open Government Licence, so I can use them in public too.

All the game state is stored in YAML files (I like YAML, at least the sane parts without the encoded-object extensions), and every change in state produces a new file, so I have a full history of the game to look through.

All the rules are supported, including the weather from the Meteo expansion. (Probably the most complicated rule, certainly the bit that had most bugs, is slipstreaming, which is rather simpler on the table.) The unofficial Grand Tour rules are also in play, so you can run multiple races in a row and get intermediate and final standings.

Doing this also meant coding up all the courses I could find, including some promo courses of which I don't have physical copies. If I'm missing any, let me know. But you can design your own too; the software uses the same notation as the course cards.

There's no support for bot players yet, nor any for Time Trial mode (which I've never played). Some time soon maybe.

The code is on Github.

  1. Posted by John Dallman at 10:16am on 21 February 2021

    The road signs format and licensing is rather pleasing.

  2. Posted by RogerBW at 12:03pm on 21 February 2021

    I rather suspect that, like most people who produce PDFs, they have no idea that it's possible to get stuff out of them again. But I'm not complaining, and I think this usage is reasonable.

Comments on this post are now closed. If you have particular grounds for adding a late comment, comment on a more recent post quoting the URL of this one.

Tags 1920s 1930s 1940s 1950s 1960s 1970s 1980s 1990s 2000s 2010s 3d printing action advent of code aeronautics aikakirja anecdote animation anime army astronomy audio audio tech aviation base commerce battletech beer boardgaming book of the week bookmonth chain of command children chris chronicle church of no redeeming virtues cold war comedy computing contemporary cornish smuggler cosmic encounter coup covid-19 crime cthulhu eternal cycling dead of winter doctor who documentary drama driving drone ecchi economics en garde espionage essen 2015 essen 2016 essen 2017 essen 2018 essen 2019 essen 2022 essen 2023 existential risk falklands war fandom fanfic fantasy feminism film firefly first world war flash point flight simulation food garmin drive gazebo genesys geocaching geodata gin gkp gurps gurps 101 gus harpoon historical history horror hugo 2014 hugo 2015 hugo 2016 hugo 2017 hugo 2018 hugo 2019 hugo 2020 hugo 2022 hugo-nebula reread in brief avoid instrumented life javascript julian simpson julie enfield kickstarter kotlin learn to play leaving earth linux liquor lovecraftiana lua mecha men with beards mpd museum music mystery naval noir non-fiction one for the brow opera parody paul temple perl perl weekly challenge photography podcast politics postscript powers prediction privacy project woolsack pyracantha python quantum rail raku ranting raspberry pi reading reading boardgames social real life restaurant reviews romance rpg a day rpgs ruby rust scala science fiction scythe second world war security shipwreck simutrans smartphone south atlantic war squaddies stationery steampunk stuarts suburbia superheroes suspense television the resistance the weekly challenge thirsty meeples thriller tin soldier torg toys trailers travel type 26 type 31 type 45 vietnam war war wargaming weather wives and sweethearts writing about writing x-wing young adult
Special All book reviews, All film reviews
Produced by aikakirja v0.1