4 ms·
Playing devil's advocate, I think this is a dangerous road to go down. I'm in my second year of making a procedural game, and I think the existential danger inv
by fenomas 10y ago
Playing devil's advocate, I think this is a dangerous road to go down. I'm in my second year of making a procedural game, and I think the existential danger involved is that of making a game that's more interesting to develop than it is to play.
That is, it's more challenging and rewarding to me to simulate tectonic movement than it is to generate terrain from random noise and tweak it until it feels okay. But the important question is, is the game noticeably more interesting either way? Do mountains affect gameplay in a way that gets more compelling if they're placed according to tectonic movement?
There are certainly games where the answer is yes, but there are a hell of a lot more where it isn't. And if your game is one of the latter, then complicated simulations are a dangerous trap - not only do you waste time, you also hinder yourself by making your game's content harder to tune (in that you can't just, say, make the mountains 30% higher if mountain height is determined by a complicated process).
- hyperpallium 10y agoGames are simplified, stylized reality e.g. chess is war. So are some fps: using real locations as maps isn't as much fun as carefully balanced maps, taking sightlines into account, chokepoints, with interesting and complex strengths and vulnerabilities of positions within each section, and all sections close to each other. Similar to fiction: it's more dramatic and makes more sense than ordinary life. A simulation is akin to a tech demo, which can be impressive, but usually isn't a game. Switching gears, I'm interested in how you've done tectonics. I was thinking of doing it as a magma fluid simulation (very slow, only one timestep every few hundred frames) and using convection to move and rotate plates.... though it turns out, the cause of tectonic movement isn't nearly that well understood. My concern is that using a fixed direction/speed will eventually mess up the world. If tectonics really are governed by convection, movement must change at the end of that magma cycle. Maybe a bit over the top! How are you doing tectonics? One (expensive) solution to the 30% mountain height problem is monte carlo: rerun the simulation til it fits the parameters. What's nice is that you don't distort the generation probabilities, apart from the explicit constraint. Of course, not plausible for very unlikely constraints, esp. combinations thereof! If you just want the end-produce (not an ongoing, evolving world like mine), some people have used a more declarative approach. e.g. Instead of generating rivers by waterflow and erosion over a terrain, you can generate a hierarchy of rivers and tributaries first, work out the watersheds implied, then generate the terrain based on that constraint.
- fenomas 10y agoI'm not doing any tectonics. Sorry if I was unclear, I meant it would be an interesting challenge, but in my game it doesn't make sense to worry about, because one doesn't interact with the world at a scale where you notice how the mountains are laid out. At a more fundamental level though, doing evolutionary-type stuff in a procedural world is a problem I'm wrestling with. I'm running an infinite world that's generated one chunk at a time, like Minecraft, so you can't, say, "start by generating all the rivers, and then...". Obviously this means everything has to be deterministic, but also it means that whatever macro-sized calculations I do need to be re-done for each chunk, or else cached somehow, etc. I've looked for articles on such things but not had much luck. Maybe others here have approaches they've tried?
- a-saleh 10y agoI think you might be able to solve this with certain level of laziness, at a cost that you would sometimes need to generate more than just a single chunk. I.e. once you encounter a river, you will then generate the whole river, from source, to sink (either you have a sea, or some other already existing, but undiscovered river?) You would then need to account for 3 states of your world: a) blank canvas b) pre-generated but yet unexplored terain c) already explored terain The world in state b) would then be the one both cached and available for re-calculating :-) If I were you I would read up on pen&paper sandbox designs, i.e. Stars Without Number [1] relies on lots of random tables to generate a sector of space with different factions/tech-levels/ecosystems, combined with rules for faction interaction. This gives it a nice "I am just a small ship in a big universe" feel :) You can generate example sector [2] [1] http://www.drivethrurpg.com/product/86467/Stars-Without-Number-Free-Edition http://www.drivethrurpg.com/product/86467/Stars-Without-Numb... [2] http://swn.emichron.com/ http://swn.emichron.com/
- ChrisFoster 10y agoPerhaps you could try a multi-resolution chunk system - LoD for chunks. For large scale features like rivers, generate those at coarse resolution on very large chunks. When generating the detailed chunks, take input from the coarser resolution levels which overlap the same spatial region, and add fine scale detail. A couple of levels of detail might suffice in practice, but if you want to go crazy you can more or less make as many as you like: As long as each level is downscaled by at least some constant factor of the more detailed level below it, you'll only have O(log(N)) overhead for O(N) chunks which is small even for very large N. Compare mipmapping, which is more or less the opposite of this process.
- fenomas 10y agoTo add to my own comment a bit, fundamentally I think this boils down to randomness vs. hidden state. It feels very "emergent" for a game to have lots of subtly interconnected systems, but if they depend on factors the player doesn't know about, or depend in ways the player can't possibly intuit, then they're indistinguishable from randomness, so you might as well have flipped a coin. For me the canonical example of this is Nethack, which is full of such things - monsters that are slightly more dangerous during a (real-life) full moon, and so on. One can argue that NH is a special case, with its rich tradition of players reading the source code as they play, but in general I think it's an anti-pattern for game developers to beware.
- imtringued 10y agoYou can create an AI that never makes mistakes and always defeats the player but the point of the AI is to make the game fun not impossible to win.
- flashman 10y ago> Do mountains affect gameplay in a way that gets more compelling if they're placed according to tectonic movement? One of the supposed problems with No Man's Sky is planetary isotropy (uniformity at a global scale, variation only on a local level). They're all single biomes and once you've seen the local area, you might as well find another planet. But you're right: I don't know that people would be any more impressed with planets if they were more 'realistic' in regards to geomorphology.
- setr 10y agoimo its not the rules of reality that specifically matter in a game; its that there are rules at all, and that they're interesting ones. Emulating reality is just an "easy" way to achieve that. Games are inherently a challenge to learn, understand, and best an instantiated mini-universe. when the universe follows simply-governed rules, then of course there's little for the player to do; he wins by understanding, and understanding simple things is, well, simple. And ofc, the internal rules can very well be trivial to implement. Its the rules to from the players viewpoint that matter. And vice versa; the engine could be infinitely complex, but if all it does is spawn the same mountain repeatedly, then there's not much left once the player bests the first.
- pluma 10y agoIntroversion (creators of Prison Architect, Uplink, Darwinia and Defcon) made this mistake with their cancelled game "Subversion". They started creating elaborate mechanisms and procedurally generated cities only to realize that the entire intricate "bank heist" missions could basically be solved by shooting people and taking their keys. IOW, they tried so hard to make the game realistic that the intended gameplay was no longer enforceable. Setting up all these intricate puzzles and writing the procedural generators was fun, but actually playing the game was immensely dull unless you went out of your way not to take the path of least resistance. They ended up using some of the lessons learned in Prison Architect by making the "level design" the actual gameplay. There's actually a very interesting presentation of how Subversion was intended to be played versus how it would have actually been played somewhere on YouTube. As a counterpoint, RimWorld is a game that's largely based on procedurally generated worlds with heavy inspiration from Dwarf Fortress. But the entire premise of the game is that you build a colony which the game tries to actively challenge to create an interesting story for you.
- stcredzero 10y agoIOW, they tried so hard to make the game realistic that the intended gameplay was no longer enforceable Realism is sometimes a misguided goal. Games are media, just like movies. What you want most of the time isn't realism, but an impression of realism. Robert Crumb and his son sometimes do "realistic" portraits, but in the biographical movie about Crumb, he reveals that his "realistic" portraits actually contain very subtle elements of caricature, to draw the user's attention to the most interesting aspects of the subject's face. Contrast this with films of war vs. actual war. Head-cam movies of modern soldiers in combat look like people in battle gear taking cover while yelling at each other about people you can't see or barely see, then calling in air support. There's nothing cinematic or easily parseable by the viewer. If you're on a modern battlefield, and you're posing for the cameras in a nicely composed scene laid out by the "Rule of Three" you're likely to get shot in the very next second. Documentaries and action films are very different things. Both of those are very different from documentary-styled fictional films. Analogies to sandboxes, various other game genres, and sandboxy games apply.
- stcredzero 10y agoI'm in my second year of making a procedural game, and I think the existential danger involved is that of making a game that's more interesting to develop than it is to play. I think the key comes down to basics: Games are media. One of the key attributes of great media is a focus on the audience experience. So if you're going to spend a lot of effort on procedural generation, then this procedural generation had better be "paying rent" commensurate to the resources taken up by it. If your game is about tactical improvisation and combat, then the procedural generation should be directly contributing to enhancing those experiences; therefore tweak the statistical properties of procedurally generated tactically useful things to enhance the user experience. Likewise if your game is about survival, or managing resources, or what have you. If your game is about viewing scenery, then good luck to you. People will get "remix boredom." Furthermore, if you've sunk all this energy into producing "interesting" to view scenery, then people are let down by your tactics and combat -- well go figure!