I think you should envision this as a survival game first.
we will make it where you have to eat, sleep, drink, and pretty much, survive.
Now, that's all good and fine, but this is a feature list and its really just that.
What you need to do is make sure that:
A - These features are fun to interact with, not just requirements that you need to grind.
B - That they fit within your gameplay and are part of a loop.
To make sure its fun and not just a grindfest, it implies there is gameplay involved, and as little manipulation as possible. Picking up consumables as you walk over them has its uses (it emphasizes exploration for example) but it won't really emphasize "eating" per se. It all depends what you want to emphasize.
Likewise, sleeping is nice, but if this is an MMO and everything occurs at the same time for everyone, "sleeping" will be mundane and boring. You'll go to sleep and wait until you are rested while staring at your blank computer screen. Even with a creative approach, such as sleeping while you're away (meaning other players need to defend you for example) you end up with a limiting strategy. Players can't log on more than X hours per day so they can let their character rest. But at least, it gives a reason to find a safe haven and return there, although it doesn't appear to be "fun".
What's your take on "sleep" as a gameplay element?
Now, to make sure everything is part of your core gameplay loop of survival, you need things that interact well together. As previously mentionned, eating by stepping over consumables (supplies/food) is going to be relevant. It forces your players out of their safe haven, into the "risky zone". Assuming your zombies aren't particularly bright, they probably won't be able to kill you in your safe havens, but eventually, you'll need to draw out for supplies and whatnot, and this mechanic interacts well with the core loop: players go out, take what they need, try to survive, and come back to the safe zone.
I can see a number of things working:
- Scarce ammunitions and the ability to raid depots (forcing you out to maintain peace keeping at safe havens where you can just snipe zombies). This also forces you to take on zombies hand-to-hand whenever possible to minimize bullet consumption
- Crafting at the safe haven: a lot of zombie games are anti-social, where everyone is in for themselves. It is hard to force people to cooperate, and may not be the goal, but having a "common gathering place" will force social interactions. One way to do this is to make these safe havens, easily defendable but without supplies (food, etc).
Add in all components in there to perform crafting, and you'll toss your players on their way to acquire components.
For example, if you have a bullet-making machine in the safe haven, but no gunpowder or shells, players will go out, find the necessary components, pile them in stashes, rebuild their ammo stocks, and perhaps sell the rest to other players or something. They may end up trading bullets (what their safe haven can produce) for food (what another safe haven can produce) and organize raids together to get as much resources as possible.
While some players may choose to band together, others will be lone wolves or roguish bands. It's the natural order of things that some players will do the hard work (fetch component, craft, try to replicate a near-functioning society) whereas other will take advantage of this new society. These rogues will scavenge what they can, oftentimes putting other players at risk, or plainly attacking them for their supplies. The enemy is not always the one you'd expect, especially in times of crisis.
So that said, what I'd like to see in a zombie survival game is: less zombies. Having too many of them often makes the difference between something eerie and a plain shooter. If you take a look at System Shock 2 as reference, you'll see that there were few "zombies" but that their psychological impact was more important.
Some games focus on fast zombies, the idea being that you need to find quick shelter to survive the encounter, or keep your cool and overpower them through bullets. It works, but let's try something else. Others focus on slow "tough" zombies, that everyone can ignore, but somehow choose to fight.
I'd like to see a game where zombies are not particularly tough or fast, but unexpected. You don't want to encounter them, because it means you'll have fewer bullets.
Zombies should have places they hang about, and reasons to do so. They may all be "eat flesh" and all, but they are still standing and roaming about. Flesh out their personality: are they "surviving" on instincts? thirst? What makes them tick?
One thing I'd really like for such MMOs is the idea of events.
Thing of this: The game has been up for 10 days, by now, players are settling in, have found ways to adapt, they have routes they've cleaned up, supply caches they've taken from, and they are starting to communicate with one another. From then on, the game can quickly go downhill, boring so to speak. Time to do something horrible:
- Create an upheaval of zombies in a specific base and give them an objective (for some reason, they are moving west). See how players respond to this menace and adapt to this change in their ecosystem. With so many caches no longer available, how can survive hordes of zombies?
- Find a few people on the roguish side. Give them a reason to "spread the virus": give them a means to turn more and more zombies and lure them towards specific objectives. Allow the Rogues to use zombies as a means to further increase their wealth and cleanup other survivors' nest. Yes, this is evil, but you can be sure there would be men to take advantage of these situations.
- Things have been hard on the players, and the world is a more dangerous place. Food is extremely scarce, and people are losing this war. Give them hope, give them a means to eradicate masses if they reach an area, say, a science labs that's been operating and have a limited supply of a toxin that burns dead flesh.
I think a lot of the fun an MMO could generate would be in the ability of its developers to make it evolve with simple features that aren't part of the original product, but can be fired when deemed appropriate. Having a strict set of metrics to track when that moment actually makes sense would be necessary, of course.