Hazelnut said:
I think that this is impractical unfortunately. You're almost asking for an algorithm to design the game and world to an acceptable level.
Kind of. I'm not asking for it to make really important decisions though - they'd be present in the data provided to the algorithms.
Basically I'm suggesting that designers specify what's important about an area (in whatever terms), and that various algorithms fill in the gaps procedurally. That's certainly very hard, but I don't think it makes sense to dismiss it out of hand. Getting the aesthetics right might be difficult, but here I'd suggest that run-time procedural generation can get around perhaps the largest problem: the world being built out of pre-designed blocks, each used thousands of times. Terrain etc. generated on the fly can be as fluid/unique as required, since there's no need to store it anywhere, and therefore no need to build it from a glorified lego set. [again: horribly difficult, yes; impossible, no]
Whether or not such an algorithm has great aesthetic sense, it certainly has a whole lot more aesthetic freedom than a human level designer.
The complexity and variability that your idea would introduce would surely make the task of having a responsive, coherent and interesting society much harder.
Again, yes and no. Getting it to work at all would be a huge challenge. However, once it works, it would work everywhere, all the time. To start with, horrible conflicts and bugs would probably be all over the place - but that's a good thing. It'd mean that problems were readily identified. You'd need to stress test with a load of horrible data of course, then tone things down for the final version.
As far as coherence goes, I'd have thought such a system could work really well. If you want areas to be similar (in whatever respect) you simply give them similar data. For towns or equivalent, this could be very specific. Again, it's important to note that algorithms don't have to give smooth results, or work only on one level. It's certainly possible to have a high level algorithm produce locations for cities, roads, forests etc., then have lower level purpose-built algorithms fill in the details for each. A city algorithm can define quarters, quarters place buildings, buildings place floors, furniture etc. It doesn't need to be a monolithic, one-size-fits-all solution.
You could even effectively hand-place the very high level stuff (cities, mountains, lakes etc.), simply by putting the appropriate data values only where you wanted them.
Any really important relationships could be codified in rules, which a computer can enforce more reliably than a human (or in particular a team of many designers who aren't always on the same page).
Since this is more important to us (choices & consequences rely on the social aspects mostly) and is on its own very difficult and rarely even attempted let alone successful, which is why I think you're being completely impractical. Although it would be cool I'll admit.
But what's important in social terms? Only that NPC X has ... to say about NPCs ..., belongs to faction..., has motivations..., lives in situation..., lives close to..., knows about... etc. etc.
All you need to do is specify an NPC's dialogue, his motivations / schedules..., his relationships to other NPCs, his relationships to towns..., and you're done. Exactly where he lives, or (usually) who he lives next to, is entirely irrelevant.
Only his relationships and dialogue are relevant. Once you set up those relationships for all NPCs, you can simply chuck them at the world, and an algorithm will find them a home which fulfils all the relevant criteria. Then all that's necessary is to update a few tables with information such as exactly where NPC X lives.
The social stuff all relies on dialogue / social relationships / occasional spatial relationships etc. Exactly who lives where, whether village X is North of town Y, or whether NPC Z lives next to a cake shop, are inconsequential.
Again, when it comes to juggling complex interrelated relationships/requirements, a computer can usually do a better job. (so long at it really has all the relevant information)
What I have in mind is a fairly simple compromise...The high level map would be hand generated, with the detail being created procedurally off that data and then a hand crafting pass to improve and add the really interesting bits (population centers etc) on top of the generated landscape/environment.
That's perfectly good, but doesn't exactly inspire. From my point of view, the real beauty of procedural generation only happens when it's used at run-time. Off-line generation is a great labour-saving tool, but nothing more. On-line, it can obliterate storage requirements at a stroke, giving much more freedom - both artistic, and practical; it can provide huge variety, both in one playthrough, and between playthroughs; it can treat an arbitrarily large world even-handedly - keeping things interesting everywhere, rather than only where the designers thought it was important.
Clearly you're not going to get great non-trivial procedural dialogue any time soon (though a fair bit of basic functionality is doable). However, much of an open-world game tends to be exploration/action/environmental interaction/basic NPC interaction (traders etc.). A great central plot-line is going to need to be hand-crafted, but there's no reason it can't be procedurally mixed up a little, or that procedural methods can't provide a supreme backdrop. [horrible impracticality aside :D]
...although you don't want to overdo it...The player wont want to answer any questions, but I guess could have a 'normal' travel profile that gets used for a left click whereas a right click pops up a travel settings dialoge.
Certainly - there can be a simple one-click mode, perhaps with a few quick buttons to select different types. Answering the questions / inputting numbers etc. would only be to set up options in the first place (so done very rarely: only for vitally important trips, or strategic re-thinks). Selecting from those options should be a simple one/two click process.
I made a small mod to MW on my second play session to increase the running speed of my char because I didn't want to spend so much (real) time walking.
Surely you mean jumping?
(Badly implemented use-based mechanics ftw)