Ideas:
Rebalance for more distant endgame:
Force people to move on frequently, and make zombie-killing cost scarce resources. Adjust player:monster balance to compensate. Eventually people will either die or reach a point where they can stay self-sufficient for a long time, but it’ll come later and eventual death from reasons of failure to survive, rather than boredom and over-zealousness, will be more probable. This one’s less technically difficult, but will change the way the game plays, which many people would consider a downside.
For example: Make everything but firearms terrible; make ammunition scarce; and chop wild animal spawns to force people to scavenge or go out hunting if they want to eat. Adjust enemy spawn rates and starting player power to compensate. Bonus points if you remove electric motors from the game and make fuel more scarce. (The “I Am Legend” re-balance, essentially.)
Dungeon Delve Endgame:
Add some dungeons, put macguffins in them, and give the player a reason to want the macguffin and knowledge that the macguffin exists. This one takes some code and some environment design and regional population design, but doesn’t affect the established gameplay.
For example:
+Set up a doomsday clock.
==“you are turning into a zombie, omg”
==“the forces of hell are going to overrun the earth”
==“skynet is going to activate and carpet-nuke the entire region”
==etc.
+Inform the character that the doomsday clock exists
==“you feel like you are turning into a zombie, omg”
==nightmares, premonitions, etc
==documents found on corpses, labs, military bases, etc
==radio broadcasts
+And give them a good estimate on how much time they have left.
==obvious symbolic dreams (you dream of an hourglass that is [fraction] empty, etc)
==direct observations with straightforward numerical analysis (the sun has gone [fraction] red, etc)
==documents, radio broadcasts, etc.
+Inform the player of the macguffin and what kind of place it can be found in.
==documents, radio broadcasts, etc
==symbolic dreams, etc
+When the player finds the macguffin, reset the doomsday clock.
==“you have stopped yourself from turning into a zombie and given yourself another [however many days]”
==“you have delayed the full-scale hell invasion and given the world another [however many days]”
==etc
+If the player doesn’t find the macguffin by the time the doomsday clock ticks over, the player dies, game over.