And just like that, it’s time to think about next year.

As Detroit City FC entered Friday’s contest in Grand Rapids, they had no complex standings math to contemplate - in fact, Le Rouge’s task was simplicity itself: Win, or any hope of postseason football is over. Win or the competitive part of the season ends at the final whistle. Win or else.

Depleted by late-season absences, drained by the relentless summer heat, and a bit disjointed still, City gamely battled back from a losing position three times, only to fall just short in the NPSL Great Lakes Division regular season, drawing a must-win matchup against Grand Rapids FC, 4-4. The result eliminates Detroit City FC from postseason contention in 2018, continuing the club’s familiar pattern of disappointment in even-numbered years.

If the results in 2018 have underwhelmed, the effort has not. Detroit City, starting a keeper who’d never played a minute for the badge and a centerback who hadn’t dressed for three weeks, fell behind almost immediately, and trailed 1-0, 2-1 and 4-3 in the match. Each time, Le Rouge answered, with the final strike perhaps the most poignant, with two players renowned for their love for the Spirit of Detroit badge connecting, Dave Edwardson finding Roddy Green for the tying goal in stoppage time.

The passion couldn’t mask a side that has struggled to control games, though. Grand Rapids’ first goal, in the fifth minute, was as simple a set-piece as could be imagined - a back-post, inswinging corner, well won by towering centerback Cam Cavanaugh, who headed down to the spot, where Matt Whelan was just pulling back into space. Whelan blistered an efficient finish past first-time City keeper Damon Favero: 1-0.

City’s leveller came 10 minutes later. City striker Brogan Shrimpton laid out nicely to meet Jonathan Barnes’ cross from the right, only for ‘Pids keeper Noah Fazekas to make a nice reflex save - but playmaker Jakub Svelhik, influential throughout the first half today, stepped into the rebound and stroked an unfussy finish past the seated Fazekas: 1-1.

The half seemed poised to end drawn, with City alternating between controlling possession and trying to hit the hosts on the break. The pace and guile of Grand Rapids winger Kenroy Howell constantly caused problems, however, and in the first minute of first-half stoppage, the Jamaican created the hosts’ second lead of the contest. Dribbing from the right channel, Howell picked his way on a mazy run that ended on the left side of the penalty area, from which perch he whistled in an inch-perfect cross for Scott Doney to finish: 2-1 at the half.

Back and forth the game swung after halftime, with each team desperate for a result. A win for Grand Rapids would clinch the playoffs; anything but a win for City would see them shut out. Add to that a burgeoning rivalry that has the players looking for reasons to square off, weeks of trash-talk on social media whipping the supporters into a froth, and a field you could soft-boil eggs on, and you’ve got a potent recipe for chaos. The second half did not disappoint.

Almost immediately, Fazekas fumbled a Harvey Moyes cross back into the area, only for not one but two goal-bound shots to be cleared off the Grand Rapids goal line. A few minutes later, Shawn Lawson - on for Shrimpton at halftime - has a blast cannon off Cavanaugh, where it would fall to Jake Rudel, whose cruelly-struck shot (also blocked) took a toll on Caleb Postlewait. All of which, perhaps, softened Grand Rapids up for the next attack, when another Rudel blast seemed to catch Fazekas sun-blind. The keeper’s flinching last-second stab sent the ball caroming off GRFC defender Trent Vegter and into the home net: 2-2, with almost 40 minutes left to play.

Northern Guard, buoyed by the sad-sack comedy of the Grand Rapids own-goal, roared into mocking song, and City leapt at the chance to attack the reeling hosts. At the hour mark, Lawson ran onto a teasing ball in the area and drew an apparent foul on Fazekas. But the official dithered over the call, originally signaling penalty, then spending a couple minutes consulting with a linesman and the fourth official before confirming that, yes, he’d meant to call a penalty. As the discussions between the officials took place, small brushfires of over-aggression began to show up, as the two sides, pressed to their limit and increasingly hounded by exhaustion, struggled for composure. Lawson wasn’t struggling for it, though, as he read Fazekas’ intention and easily slotted home the penalty for City’s only lead of the evening: 3-2.

Sometimes it’s not your time, y’know? It sucks, and it’s not the kind of thing that one should anticipate - but once it’s happened, best to face it. And 2018 just wasn’t City’s time, on the field, at least. Exhibit 1: The 45 seconds after City takes their only lead in this game. Lawson scores easily and the only songs anyone can hear are the ones about the Rouge and Gold … Grand Rapids kicks off and plays a looping, lazy ball into the wing, where a brief skirmish ends with a fizzing ball played toward the center. Whelan - not apparently the intended target of the pass - cuts it off, and his touch pops up a little bit, so he improvises magically, volleying a 15-yarder past Favero to level the match once again, this time 3-3.

Then it’s Whelan, again, with 10 minutes left, winning a difficult ball on the endline and somehow dropping it perfectly into space for Postlewait, whose blast couldn’t have been better struck: 4-3.

Needing two goals, City attacked desperately over the game’s final stages, laying siege to the Grand Rapids goal while barely surviving the odd high-wire break the other direction. That Edwardson found Green for the equalizer seemed fitting, two never-say-die guys combining for one last hope-against-all-hope, but the remaining minutes of stoppage passed without incident.

Please: Stay light with each other. The grief and rage one feels at times like this is very close to mourning - over the last few games, City supporters have been grimly placing our hopes for 2018 on a funeral pyre, and today we light it. It’s hard not to feel that the ashes falling around us are all there is. But Detroit City is more than the football, more than the results; we are community, and we are growing, relentlessly, in every direction, and will continue to do so. On days like this, we need each other.

Detroit City (4-3-3) host Milwaukee Torrent Sunday at Keyworth Stadium in the final home NPSL match of the season. Kickoff is slated for 5 p.m., and tickets are available at http://tickets.detcityfc.com.

GRAND RAPIDS FC 4, DETROIT CITY FC 4

Grand Rapids FC 2 2 - 4

Detroit City FC 1 3 - 4

Goals: GRFC - Whelan (Cavanaugh) 5’, 63’, Doney (Howell) 45+’, Postlewait (Whelan) 80’. DCFC - Svelhik 15’, Own Goal (Vegter) 52’, Lawson (pk) 62’, Green (Edwardson) 90+’.

Discipline: GRFC - Cautions: Cavanaugh 66’, Fazekas 81’. DCFC - Moyes 74’, Kenton 87’.

Detroit City FC (4-4-2): Favero; Kenton, Fiscus (c), Miller (Amann 82’), Tomasino (Sinclair 67’); Svelhik, Moyes (Edwardson 79’), Bartel (Garcia 72’), Barnes (Green 58’); Shrimpton (Lawson 46’), Rudel.

Grand Rapids FC (4-3-3): Fazekas; Atheba, Deakin (c), Vegter, Postlewait; Cavanaugh, Sutton, Bowie; Whelan, Howell, Doney.