Inspired by this Reddit post. For best effect, keep a record or campaign journal… but keep it hidden from the players. (At least until it’s all over.)
Start a campaign normally in the late summer or autumn, but in a relatively challenging situation. Set things up so that the PCs can make some progress each time they play (unless the players are okay with struggling in a grimdark campaign), but also confront them with just a little more than they can handle. As the seasons progress through the decay of autumn into the death that is winter, ramp up the challenge and threat the party faces.
Confront them with threats in two places at once and force them to choose what to save and what to lose.
Confront them with challenges too tough to beat; situations they have to retreat from.
Introduce them to a foe who specifically, but indirectly, targets them and thwarts their goals in a way that seems to anticipate their plans. If they raid a dungeon, their nemesis has been there already, laid traps, and taken the primary treasure. If they have a base of operations, their nemesis raids it while they’re away. If they have an ally, their nemesis tries to hurt the ally, or turn the ally against them. Their nemesis sponsors rival adventuring parties to win the prizes they want and, later, starts sending goons and assassins after them directly. Build this foe up into a Big Bad.
Have the Big Bad confront the party close to the end of the calendar year, preferably when they’re weakened from some other challenge. Even though they’ve never met before, it’s clear that this enmity is personal for their nemesis. The Big Bad is powerful, maybe powerful enough to defeat the whole party single-handedly, but has over-prepared just to make sure. Don’t cheat, but do become a “killer DM” for a session and let the Big Bad seriously try to kill every single member of the party. Don’t be afraid to unleash an unfair amount of firepower, and don’t be afraid to have the Big Bad prepared to nullify the party’s favorite tactics and abilities.
The Big Bad does seem to have one weakness, though: one of their minions is specifically guarding a magical artifact of some kind, such as a distinctive magic wand. It seems to be their foe’s ace in the hole. And here’s the one bit of railroading you’ll need to engage in: if the PCs target this artifact and seem likely to succeed, the minion panics and activates it (at them). If the PCs are all defeated, or scatter in panic, then the last thing they see is the minion getting over-excited and activating it at them in the apparent belief that it will decisively end the battle in a gratifyingly dramatic way. There’s a sudden burst of light and noise, infinite indescribable colors and tones.
Then the PCs wake up, and everything is fine. Everything is back to normal. They’re unscathed. Was it all a dream? What’s going on? If anyone survived the Big Bad’s TPK attempt, give them a bonus (keeping their experience level?), but otherwise strip them back to their starting conditions – no XP, no special equipment. Nothing but memories of catastrophe. (If you normally keep a public campaign record and decided to keep on doing that in order to avoid tipping your hand early, this is when you hide it.)
Give them some quiet time to explore. It turns out that somehow, they “time-slipped” back to the start of the year, months before they began adventuring. But they still remember everything that happened, and they’re free to act on that knowledge. Make sure that they realize that events are repeating (innocuous events, not the fall’s threats) and let them figure out that if they don’t act, they’re headed for a repeat of their previous disasters.
Now let them campaign normally, at a more “normal” challenge level. It’s easier to pick and win their battles. This time, nobody is anticipating their actions and moving to cut them off. Nobody is laying traps, stealing their prizes and attacking their weaknesses. They have time to gain resources and lay plans against the various threats that, in the first run-through, forced them to cut their losses and perform triage.
Let them hunt for their nemesis. Let them anticipate and foil their enemy’s plans, steal or destroy their enemy’s resources, and take out their enemy’s allies. Set it up so that the enemy is hidden or unavailable for a while (perhaps this nemesis didn’t arrive in the region until the fall, when their first adventure started? Perhaps their nemesis’ identity was secret?), but if you can, start showing them signs that their nemesis is on the move again.
Do you have a secret campaign record? Good. Use it to ensure that plenty of parallels pop up between the first and second runs through, especially once the autumn starts. But the players should be laying plans and making decisions the same way their characters are: on the basis of flawed and fading memories. A big part of the fun here should be the guesswork and problem-solving that goes into “doing it right” the second time around.
Eventually they’ll find their foe and force a confrontation. This time, the enemy isn’t overprepared. This time, the enemy doesn’t have an intimate knowledge of their abilities and tactics. This time, the players will likely be able to choose the time and place instead of getting ambushed. This time, the PCs will have a lot of tools that the enemy had last time they met. Let the dice fall where they may, but this time, the party is likely to win.
No matter what the PCs managed to anticipate, though, their enemy does have one tool both times: that mysterious artifact. And with a final desperate action, their nemesis activates it… but at themselves instead of at the party. And your players’ enemy disappears in a familiar flash of infinite indescribable colors and tones.
And that’s one way to run your players through a stable time loop with minimal railroading. It’s an ambitious project, but one that sounds like a lot of fun if you can pull it off.