Sudden Death Soccer Match Tactics: Formations, Subs and Reactive Commentary
Sudden Death Soccer match tactics have landed. You can now change formation mid-game, make substitutions mid-match, and the commentator will even notice and describe. It’s a small step towards the ultimate ambition of the project - deep football management simulation with all the uniqueness of a roguelite ensuring every campaign is different.
Sudden Death Soccer is a football management roguelite built in Godot 4 using C#. If you missed the first post, start here.
What this update covers
This devlog walks through the new tactics screen - formations, substitutions, the position descriptions I added for players who have never read Inverting the Pyramid, and the live commentary hooks that fire whenever you make a tactical change. There’s also a quick look at what’s coming next: playing styles and instant cards.
The new match tactics screen
Up until now, the match flow was mostly about watching events unfold and reacting through the reward card system between games. The actual in-match levers were thin. The first play testers were unanimous in pointing out the need to have more control during the match simulation, so I prioritised accordingly.
This update adds a proper tactics screen you can pull up during the match. From there you can:
- Change formation: swap between 20 different formations, with more to come.
- Make substitutions: pull an injured or ineffective player and bring on someone from the bench. Still to come: player fatigue.
- See exactly who plays where: with a full visualisation of every formation.
You can use tactics while the match action continues around you, or you can hit pause if you want to take your time over the decision.
Position descriptions for the uninitiated
Another thing that came up in playtesting: not everyone knows what a CDM does, or why playing a winger as a wing-back might leave you short defensively. Football has accumulated decades of jargon, and a roguelite shouldn’t expect you to know it. I’d love people who have never watched a game of football to still get something from the game.
So every position now has a short, plain-English description. Click the info button next to the formation and you will get a description of what every role actually does on the pitch - what they’re expected to contribute, and what kind of player tends to thrive there. Veterans can ignore it. Newcomers get a way in.
This was a small feature in code terms but a good one for the feel of the game. The tactical decisions stop being abstract once you understand what each slot is asking the player to do.
Commentary that reacts to your decisions
Anybody who has played the old Champ Man games will know how important commentary is. Not just for confirming your own decisions but also to advise of changes the opponent has made. If they’ve switched to a defensive line up and you need to ramp up your efforts to break them down, you need to know about that.
Every match outcome is already described by the commentator, and tactical changes now feed into that same system - both substitutions and formation changes. When a side shifts more defensive or more attacking, the commentator picks it up, with extra weight for the dramatic swings. Same for shape - if play suddenly becomes wider or narrower, you’ll hear about it.
What was hard
Formation transitions are quite tricky as you don’t want to completely randomise the position each player winds up in. The way it currently works is it will try to assign each player in a position they can play in, meaning only players that are a bad fit for the system end up out of position. There’s not currently a major penalty for out of position players but that is another thing that is coming soon.
There was a lot to consider with substitutions, such as making sure subbed-off players no longer appear in future match actions, without retroactively rewriting the ones that already happened.
Another of the harder elements was the UI itself - Godot needed to be flexible enough to render every possible formation on any size display.
How it works under the hood
The match simulation is built in full outside of Godot. There are unit tests simulating years of matches, and all of the logic for position swaps, formation changes and substitutions is controlled within that domain logic. As always, Godot then provides a thin UI layer meaning all of the edge cases pertaining from tactical changes are already taken care of.
Match objects have a MatchLineUp for each side, so we have an obvious place where substitutions can occur without impacting the starting line-up for the next match. From there it tracks who’s still on the pitch, calculates ratings, and runs the substitution logic.
What’s coming next
Two big things on the immediate horizon, both pushing tactical depth further:
- Playing styles for tactics: a layer on top of formation that defines how you want to play. Press high, sit deep, counter on the break, keep possession. Combined with formation, this is where the real tactical fingerprint of a manager will come from.
- Instant cards: a new card type that lets you directly intervene in match events. VAR assistance to overturn a red card and the ultimate magic sponge, which instantly cancels an injury. The intent is to give you dramatic, high-stakes moments of agency without making them feel like cheating.
Both lean into the same direction this update started: making the match itself a place where decisions matter, not just the screens around it.
Get involved
If you want to play the current build with tactics in it, join the Discord. You’ll get the itch.io access code, every new build as features land, and a direct line into what gets prioritised next.
The game is still being shaped by the people playing it. The more honest feedback I get on whether tactics feel right, the better the next update will be.