Thinking about the poor bloke with his house fall of Murloc eyes, and how quests could be part of a more dynamic world, I remembered a program that ran on the ZX Spectrum called “Rabbits and Foxes”. As I remember it, you typed in the number of starting rabbits, and the number of starting foxes, and the amazing computational power of the Spectrum would then simulate this vibrant and diverse ecosystem. With lots of rabbits and not many foxes, the foxes have plentiful food and multiply rapidly, but then they’re eating all the rabbits and the rabbit population dwindles, in turn meaning there isn’t enough food for the foxes so their population goes down, reducing the number of predators so the rabbits flourish, etc. This was pretty Deep Science at the time, and I was fascinated by the graphs this program produced… for about ten minutes, then I went back to playing Saboteur (hey, I was only eleven).
It turns out this was a demonstration of the Lotka–Volterra predator-prey equations (see here for the complicated maths bit, with a nice graph for those of you like me who haven’t done calculus for a while), and I got to wondering if this could work in an MMOG: Farmer Geoff grows carrots and keeps chickens, so he doesn’t like rabbits or foxes, and sends mighty adventurers off to do battle with whichever is more prevalent at the time. You’re still running a “kill ten creatures” quest, but at least there’s some vague sense that your actions are having an impact on the world, that you’re a part of it, rather than just killing an arbitrary number of some endlessly respawning beast.
That’s a hopelessly simple example, I grant you, which has a plethora of problems. In order for the player to actually notice their actions affecting the world, either the predator-prey cycle has to be shortened to an absurd level such that five minutes after killing a load of foxes, there are rabbits everywhere, or you have to keep the player around Farmer Geoff’s farm for a few months as the ecosystem gradually adjusts. Also, killing fluffy bunnies who nibble a mean old farmer’s carrots is hardly the stuff of epic quest, the rabbits aren’t going to pose much of a challenge. Well, unless maybe five of them found a discarded crossbow, and two of them brace it while two others pull the string back and cock it, and then they maneuver it around like a rabbit-size ballista with the front two providing elevation, two more at the back adjusting the direction, and the final one shouting targeting orders and firing it. Or there is a precedent for a more threatening foe, but that would possibly disturb the predator/prey relations slightly. Finally, we’d still have to “cheat” pretty heavily with respawns and other MMOG conventions, otherwise the graph would show the fox population rapidly tend to zero as they were all butchered for XP, the rabbit population rapidly tend to zero as they’re butchered to increase weapon skill and gather scraps of hide for crafting, and the Farmer Geoff population rapidly tend to zero as the bored adventurers kill him just in case he’s got a 1% chance of dropping the Pitchfork of Uberstats.
Still, it’s got to be better than ten more Murloc eyeballs, hasn’t it?
While I like the idea of flexible quests / ecosystem in concept, it’s very complicated in the implementation. For example, what about the guy that grabs the farmer’s quest for ten creatures – this time, say, ‘foxes’, then immediately logs off until next weekend? Farmer needed them then, but not a week later. So what happens – does a quest ‘time out’ and kicked to failed if not completed within a certain timeframe? It can be done, but in a large game like WoW it would take some careful designing and a lot of testing to pull it off in a ‘realistic’ way that didn’t bog down play experience or server capability.
Up to now, companies have usually decided to just add new content rather than update existing content to make it more ‘realistic’ and interactive. If a company could pull off a more ‘realistic’ world, they would have a shot at deposing ‘King WoW’.
I do think that instances are prime candidates for variability. Games since the
1980s have used a ‘building block’ concept, in which the mission was fixed, but the map and creatures were combined at ‘spawn’ time. Let me illustrate…
You’re about to run ZF, so you pull the map off the Atlas mod site. That’s not good.
What should happen, IMO, is that there should be a setting (just as there is soon to be a ‘hard’ setting on instances’) to set the instance to ‘random’. What that does is, first off, increase instance XP. Second, an instance map capability would have to be added (so that the ‘m’ key would bring up an instance map that is filled in as you ‘discover’ within the instance). Third, the look-and-feel and the mobs could remain generally the same, but the instance layout / map and mobs are generated and placed when the party enters the instance. This is facilitated on the development side by breaking the instance up into ‘building blocks’ that are predetermined, and then combined at spawn time. So the party has to explore and discover within the instance in real time.
An example that comes to mind is an old Star Wars tunnel-run arcade game. After you ‘beat’ the set levels, the trench run was randomly spawned. The trench was the same length, and had the same components, but they were put together in a random order – so the player had to react real-time rather than memorize a pattern.
So there you have it…