
I love using headlines as a GM.
In my campaign status document, these are short descriptions – usually only one or two sentences long – of current events, like:
- Solarians are preparing a pilgrimage to the Ternary.
- The Alshaahin megacorp announces new funding initiative for a colony in the Jadis system.
- The Hephaestus deuterium mining station at Ariel I was forced to shut down operations for five days due to equipment failure. Fuel prices have spiked in response.
- Crackdown on O2 debtors; hundreds thrown into Doptown.
These are not, generally speaking, events that the PCs are directly interacting with. (Although that can always change.) They’re background events: Just like there’s stuff that happens in the real world that you don’t personally witness, so, too, is there stuff happening in the game world that the PCs aren’t present for.
(Although once you’ve established your headlines, it can be fun to start weaving in references to stuff the PCs are responsible for.)
You can deliver “headlines” in a bunch of different ways: The PCs might literally check the newspapers. A news story might be playing on the TV in the dive bar where they find Tony the Rat drowning his sorrows. Or you might opportunistically weave them into any conversation with an NPC. They’re versatile tools that also create a dynamic sense of depth and motion in the game world.
When I’m running a dedicated campaign, managing the headlines is pretty straightforward: I keep a list. When the PCs hear a headline, I cross it off the list. Then I periodically update the list with new entries.
And that’s it.
But when I’m running an open table, things get a lot more difficult.
The difference, of course, is that when I use a headline at a dedicated table, it means that all of the players have heard it. At an open table, on the other hand, only the players in the current session hear it. There might be dozens of other players participating in the campaign who didn’t: Imagine living in a world where only five people heard about the Japanese attacking Pearl Harbor. Not only would that be weird, but you’d also have difficulty figuring out the next few years of current events in the United States.
The obvious solution would be to simply share all the headlines with all the players: If your campaign has a Discord server, for example, you might make a point of posting all the new headlines after each session.
I’ve found, however, that this isn’t terribly effective. It tends to require extra effort for me (because prepping a couple sentences I can riff on during a session is different than sharing a coherent written narrative) and, because it’s not a lived experience, it tends to blunt the impact on the players. Plus, part of the fun of an open table campaign is the PCs having disparate experiences, so you need to balance that against common knowledge.
The bottom line is that I limit community news postings to major events (like Pearl Harbor). But for everything else I need a different solution.
HEADLINE PROCEDURE
HEADLINES TABLE: Create a short list of active headlines and organize them into a random table. I recommend keeping the number of headlines relatively small and using a d6 table. (I’m using a d5 table for my Mothership campaign because the system uses d10s.)
SESSSION HEADLINE: Roll once per session on the Headlines Table. Find some way of weaving this headline into the current session.
USING HEADLINES: In addition to the session headline, you can also use additional headlines (rolling or choosing as appropriate). This might be additional procedural generation (in my Mothership campaign I make a Life Events check for each PC and a Headline is one possible result), but can also be opportunistic (e.g., the PCs go looking for rumors or are eavesdropping on NPCs who start chatting about current events). Either way, when you use a headline in a session, tick the headline. (Each headline should only be ticked once per session, no matter how many times you actually use or reference the headline.)
CYCLING HEADLINES: After each session, check each headline by rolling 1d10. If the roll is ≤ the story’s ticks, the story is dropped from the Headline Table. Replace it with a new headline.
If a headline was ticked in the previous session but not eliminated, advance the news story, adding additional details, reactions, fallout, and the like.
Note: Just like in the real world, some stories stick around in the headlines for days or weeks. More importantly, this iteration means most stories get repeated multiple times, exposing them to more players, but the updates also keep the headlines fresh for players seeing them again.
EXAMPLE OF PLAY
Let’s say that I launch a new campaign using the same headlines I used as an example above, but now arranged as a random table:
- Solarians are preparing a pilgrimage to the Ternary.
- The Alshaahin megacorp announces new funding initiative for a colony in the Jadis system.
- The Hephaestus deuterium mining station at Ariel I was forced to shut down operations for five days due to equipment failure. Fuel prices have spiked in response.
- Crackdown on O2 debtors; hundreds thrown into Doptown.
During the first session I roll 1d4 and get 4, so as the PCs are shopping on Prospero’s Dream at the beginning of the session, I mention that they see Tempest mercenaries raiding a residential block, checking oxygen IDs, and arresting debtors. I also tick the headline:
- Crackdown on O2 debtors; hundreds thrown into Doptown. ✔
At the end of the session, I check the headline by rolling 1d10 and get a 5, so the headline remains on the table and is instead advanced. In addition, the group accidentally unleashed a bioweapon at the Nanopore Genlabs facility on Katerineta, and I decide that’s a big enough event it would make headlines. So I update the headlines table:
- Solarians are preparing a pilgrimage to the Ternary.
- The Alshaahin megacorp announces new funding initiative for a colony in the Jadis system.
- The Hephaestus deuterium mining station at Ariel I was forced to shut down operations for five days due to equipment failure. Fuel prices have spiked in response.
- Crackdown on O2 debtors; hundreds thrown into Doptown. ✔
- Ukka, the Head Gardener of the Solarians, is attempting to recruit Public Defenders to help the arrested O2 debtors.
- The Nanopore Genlabs facility in Zoyechka on Katerineta has been placed under quarantine by the planetary government.
Fast forward a few more sessions and my headlines might look like this:
- Solarians are preparing a pilgrimage to the Ternary. ✔✔
- Solar astrological survey will be departing soon.
- Ukka hopes that the pioneer pilgrims will depart in 6815.
- The Alshaahin megacorp announces new funding initiative for a colony in the Jadis system.
- Novikov protests illegal sleeve trade on Prospero’s Dream. ✔
- Yandee, leader of the Golyanova Bratva, denies permission for an Investigator General to enter Prospero’s Dream.
- Crackdown on O2 debtors; hundreds thrown into Doptown. ✔✔✔✔
- Ukka, the Head Gardener of the Solarians, is attempting to recruit Public Defenders to help the arrested O2 debtors.
- Brunhildh, Chief Adjudicator of the Court, expresses regret public defender advocates have recently died in trial by combat. “This is what happens when the inexperienced attempt to defend the guilty. Justice will prevail.”
- Hunglungs air Gaussian anonymized footage. Wearing Rorschach masks they demand all O2 debt in the Choke be forgiven.
- The Nanopore Genlabs facility in Zoyechka on Katerineta has been placed under quarantine by the planetary government. ✔
- Nanopore employees released from quarantine, but facility remains locked down.
The Hunglungs threats are a major event, so when those get triggered I’ll also send out a community-wide headline via our Discord server.
You can see how using the procedural generation has caused some stories to get hit more often (becoming surprising backbones of the campaign world), while others keep getting passed over. (I guess Alshaahin still keeping a cap on their expansion plans.)
DESIGN NOTES
This system creates a somewhat amorphous cloud of current events, and that’s by design.
As noted above, using a “standard” system of news events keyed to specific dates didn’t work at the open table because of skipped time and “missing” players.
With game time synced to real-world time and the implementation of downtime actions, I did have the option of continuing to link specific headlines to specific dates, simply delivering the headlines they’d “missed” to PCs at the beginning of each session. This, too, proved unsatisfying. With overlapping player and character timelines, it created a weird need to synchronize PC downtime in a way that slowed play and created a lot of weird headaches. Also, since some players often take long breaks between sessions in an open table, it also created novel bookkeeping issues (how long do I keep older headlines in my active notes?) and would often result in unexpected current event “deluges” that ended up just being unsatisfying exposition dumps without any sense of a lived experience.
In short, a lot of showing rather than telling, in a way that was painful to use and disappointing in its effect.
There are exceptions, of course. Major events so transformative that it’s important to nail down exactly when they happened. These are, of course, precisely the headlines that get shared with the whole community. (In practice, I’ve found this is often flipped around. Rather than identifying something as a major event and, therefore, setting the date, it’s rather realizing that I really want or need to know what specific date something happened that make me realize that it’s a major event and handle it accordingly.)
I’m only about a dozen sessions into using this new system for headlines. (That’s why I’m still referring to it as untested.) But I’ve been very pleased with the results so far.

















