The World

I'm an explorer of games. The discovery of new systems -- geographic, cultural, magical, religious, scientific, production, personal, financial, and more -- is what keeps me playing a game.

So the world of a game matters a lot to me. (By "world" I include all those things listed above.) A flat, empty world filled with highly detailed characters would be interesting because of the interactions they might have... but a richly detailed world filled with active objects whose effects characters can perceive and act on and be affected by is a much more interesting world.

Which brings me to Voxel Quest. Bearing in mind that its point is not just to be "a game" but to be an engine for the creation of different games, I will boldly suggest that it's important for the world of VQ to be designed to be fairly (if not very) reactive. The various systems of the world will be more enjoyable in the base game, and more fun to adapt to new games, if they're designed with depth in mind.

By "depth" I specifically mean: the core game systems have multiple expressive modes, and are permitted to interact with many other such systems.

What that means is that things in the game world aren't just static, untouchable graphics -- they're objects and processes that characters can recognize, that characters can do different things with, and, importantly, that can in some cases interact among themselves even if not triggered by any character.

And the value of that kind of design is that such a world feels like a living, breathing place. If I see a hammer (to pick something at random), to be able to click on it to repair a weapon or piece of armor is the very minimum of active behaviors it should possess. A "hammer" object ought to be able to repair other things, or be used as a weapon, or be bought or sold, or be an object of veneration by The Cult of the Master Builder, or contain the spirit of an ancient evil, or allow characters to build certain kinds of new objects, and probably more things besides. And that's just a hammer.

In addition to objects, the world itself is more fun when it's alive with active functions. Night/day cycles, rain, snow, fog, fire, wind, heat, cold, and seasons can all produce important effects that change the priorities of character behaviors in satisfying ways.

Processes are systems, too. These are the verbs of the world -- the things that individual characters can do, and that they can do to and with each other, and that they can express as large groups of characters with similar cultural characteristics. Examples could be gathering (plants), hunting (animals), fishing, taming, riding, mining, building, experimenting, destroying, killing, enslaving, liberating, procreating, guarding, stealing, baking ;), mapping, ruling, partying, translating, hiding, legislating, composing, performing, traveling, sleeping, cooking, teaching, learning, trading, worshiping, and burying.

Of course I don't expect all these things to be in Voxel Quest. The point of describing all this is not to say, "I want to see some particular feature X in VQ" -- it's to express the larger idea that a game world is more fun for more people over more time to the extent that the world of that game has many verbs that all have many forms. Again, that's not just valuable for Voxel Quest out of the box, but also for anyone who wants to use VQ to build a game world for themselves.

So, all that said: what do you think?

If you like the idea of the world of VQ supporting a good number of different dynamic effects that characters can perceive and cause and react to, are there some effects that are more important to you than others? What dynamic functions of the world of Voxel Quest would make it a game you'd want to play for a long time?
«1

Comments

  • As a sidenote to this excellent post... Is there a way the community could help with implementing this?
    I'm thinking about debates about prioritizing, or creating a list of objects and specifying in which way the objects can be used. (Can a candle holder be a weapon, tool, furniture, ...) Or perhaps even submitting artwork.

    At the moment I'm trying more to proposing taking care of the "monkey work" rather than the actual coding. This would free up development time.

    I'd be happy to set up a wiki where these kinds of elements could be handled by anyone who's interested in participating. The wiki code makes it easy to parse, and immediately provides journaling against griefers while keeping the data public.
  • Hear! Hear!
    All the things, please! :D
  • edited October 2014
    Here's an array of dynamics I've never seen in any game, ever. I'm not saying it should be possible, because it seems like it would be hell to implement, but if it could be implemented, it would be amazing.




    First, imagine a king that rules over a little farming city called Davenport, right on the banks of a major river. He's not a very good king - he's rather full of himself, lazy, and likes spending all day going out and hunting, but it's a time of peace, and so the citizens put up with him - even if they don't like him. He's more of a military man than anything else, and he's kept the city well-protected. Even if the citizens don't acknowledge it, he's the primary reason that there's a time of peace at all.

    Now, on to me. I'm an adventurer - a hunter, to be exact. In fact, I've spent hours leveling up my character just for the sake of hunting, and I excel at it. I know exactly where to stand to keep my prey from noticing me, exactly how to notch the bow, and I can even carve and fletch new arrows on the fly. Now... I've just arrived in the region, and am unaware of the local dynamics. I do, however, see what seems to be an excessive quantity of deer outside Davenport. Eager to make more cash, I go and I kill a large number of them, selling their hides in the next town. I come back to Davenport, purchasing goods at high prices and giving generous tips to everyone I meet, trying to raise my reputation. Davenport flourishes thanks to the huge, sudden inflow of money, and more residents flock to the area.

    Unfortunately, I've killed a good portion of the deer, and the king (less of a hunter than I) is suddenly having trouble finding deer to hunt. To rectify this, he sets apart an area of forest as "Royal hunting grounds" and forbids any "peasants" (such as myself) from entering, on penalty of imprisonment.

    Forced into an area where they aren't comfortable, the deer have trouble reproducing at their normal rate, but the king, not being as skilled in this sort of thing as I might be, doesn't understand it, and continues to hunt at his normal rate. I can't, though, as all the deer have been herded into the King's Forest. This deters me from killing more deer, just as the king had intended, and I leave, headed for the next region to see how else I can employ my skills as a hunter.

    Now, let's turn to our local lumberjack. Even though I'm gone, the law is still in place, and Davenport is still booming with activity. Houses aren't made from stone alone, and our lumberjack needs wood for them - but he only gets paid for chopping wood. Unfortunately, the king has forbidden anyone from entering our forest, so the lumberjack is forced to find trees elsewhere. He's not supposed to get the trees directly next to Davenport, so he goes up the river some, and eventually finds a large area. Let's say he finds a great number of trees right atop the river's gorge - great, ancient ones with plenty of wood to be had. He cuts them down, stripping the terrain bare, chops up the wood into manageable portions and hauls it back to the sawmill.

    Unfortunately, those trees were what was keeping the steep terrain from eroding. The next time it rains, the gorge collapses, damming up the river and making it back up. The more the water backs up, the more the terrain erodes, and before long, a new lake has formed. This may not seem overly important by itself, but the fact remains that this is still part of the river that flows by Davenport, and now, Davenport's river is nothing but a trickle. Citizen health and happiness begins to drop - more so thanks to the huge rush of newcomers - because the river had always been a central facet of life. They begin to grow angry with the king and his penchant for laziness.

    More importantly, the river had always helped irrigate the local farms that fed the town. Miles of farmland suddenly aren't capable of producing crops, and when the next Autumn rolls around, the harvest is meager at best. Citizens are growing hungry, and some are even starving. The king promises everything will be all right, and starts trying to bring in more exports and ask for favors from neighboring communities - but Davenport has always been focused on exporting food, and the neighboring towns have always trusted in Davenport to provide them with it. At this point, food is scarce - even precious.

    Finally, in desperation, some of the citizens turn towards a secondary source of food - the deer in the King's Forest. The king's guards immediately track down and imprison the ones responsible, which leads to a loud outcry from the public. In a protest, all of the citizens go out and kill what deer are left - the few the king hasn't hunted - but there are hardly enough to keep them from going hungry for very long. The King obviously can't arrest his entire population, so he's a bit lost as to what he could do.

    What happens is that there's a revolution. They storm the king's castle and overthrow him, putting him to death in their rage and raiding his food stores, and putting up a new power in his place. But this new power doesn't have quite the military skills of the old king, and when the nearby towns come looking for food... they aren't sure what to do. They don't want to lose their new position of power, though, and so they tell emissaries to leave or risk coming under attack. The other towns aren't fooled, of course, and send their armies as one to storm Davenport. Davenport goes up in flames, and the population flees, disseminating into the other nearby towns. Nothing is left of Davenport but a few charred buildings.

    The next time I pass through Davenport, everything is gone but for a few hungry souls picking through the remains, and the skeletons of buildings.

    And it was set in motion because I killed the King's deer.



    If things could emerge like this - tiny actions in the right place changing an entire world - that would be amazing.
  • Awesome. :D
    I can see this happening, without the erosion and world changing part. Unless you actually build a dam. (though water flow in a world like this is tricky at best)
    All other actions have clear cause-> consequences, and it doesn't seem far fetched that the AI could make this emergent gameplay happen. Of course, the AI will have a much larger toolset. Perhaps the money that was pumped into the village would encourage trade, and the disaster wouldn't do much because the traders are able to get enough supplies.
  • edited October 2014
    The erosion could be simulated by saying "If terrain hardness < X, and if foliage amount < X, and if dampness > X, and terrain steepness > X, then erode terrain." Dwarf Fortress does it, even if only during worldgen. As to rivers changing their flow paths, that's simple pathfinding - just take the easiest path, and generate a river through that area. It would of course be slightly more difficult in practice (making it look good), but it's still very possible.
  • That's the thing, this happens on worldgen, because erosion is a very long process.
    Having the cpu calculate erosion and adjust flow of water or wind it extremely intensive.
  • edited October 2014
    For gradual erosion, yes, but if you simulate the terrain in spherical "clumps" and then turn them back into blocks, it wouldn't be much different than using an add/subtract tool on the terrain. I guess I could make a few quick images in MS Paint to demonstrate.

    To start with, we have a trench. Imagine it filled with water at the bottom if you wish, but this is just a simple drawing. :P I didn't figure it was worth doing a full render - designing it by hand would take a while, and my laptop is slow as far as renders go.
    image

    First, we decide what portion of the trench needs to fall. In the image below, I use a red line to show exactly where the terrain is going to erode.
    image

    Next, we convert the selected area of terrain into "spheres" - basically turning blocks that were once immobile into mobile elements so we can simulate gravity.
    image

    Then, we simulate gravity.
    image

    And finally, we clump them back into place n the terrain, making it look normal again.
    image

    The entire process is simple and doesn't really do much in the way of bogging down your CPU. The area at the bottom can easily be calculated through slice sections as shown above, and the water can rise behind it to make sure you have a near-equal amount of water flowing through. It's simple, really... but I would do it while it's offscreen. It doesn't need to be onscreen, just loaded into memory. Faster that way - and the player doesn't see the erosion process.

    I'm not saying that should be done for Voxel Quest... just showing that it's possible.
  • While a story about a chain of dominos leading from killing some deer to the city getting wiped out makes for an interesting story, setting up dynamic systems that will actually chain effects like that is hard.
    I am not saying that the components are a problem. You can simulate populations of animals, food scarcity, erosion, Royal decrees, etc. The problem is, in practice, I don't think their interactions will be quite so rich. Having a change in one system lead to a large enough change in another system to chain the change along seemsunlikely. Unless each system is designed to be unstable, so any change will send changes sweeping across the board, but that is likely to just give you a chaotic world.
    Part of the appeal of such chain reactions would be seeing the effects propagate out, and being able to make such changes yourself to influence events. If the world is too chaotic, seeing the changes propogate will be swamped out by the background level of change, and intentional changes will get overwhelmed.
    It is better to simply ain for a reactive world. Changes can propogate, systems interact, but it's not expected that changes will set of domino chains.changes are less likely to cause direct changes that ripple through and upset the world, but rather the world is naturally progressing, and changes you make along the way will shape how the advancement occurs.
  • Anyone else thinking of From Dust while viewing @Talvieno's MS Paint demonstration?
    Katorone said:

    That's the thing, this happens on worldgen, because erosion is a very long process.
    Having the cpu calculate erosion and adjust flow of water or wind it extremely intensive.

    I don't recall that part of DF worldgen taking any appreciable time to process though.. it is always in the history segment that my CPU begins to groan under the strain.
    Adjusting the flow of water or magma happens locally in game too, though, and yes, that certainly is a common source of lag.

  • Mystify - very good points, but I would like to point out that killing off the majority of the deer in an area and significantly bolstering a town's wealth don't exactly qualify as "small actions". Doing so would take a lot of effort, and would probably be combined with leaving their corpses to rot.

    Second, I figure that it would take the right actions to have much of an effect. For example: if the hunter in the story had started by maliciously chopping down the trees near the river so the riverbanks would erode and dam said river, instead of a revolution, you might simply see the Davenport community turn to the deer (which would still be in large supply) as a source of food. Not being confined to a small forest, they would be free to reproduce and might maintain a decent population - at least until the locals were able to locate another form of sustenance. If I played as the king and simply confined the deer to a forest in the first place, the population of Davenport wouldn't have seen such a sharp rise, and the lumberjacks wouldn't be driven to chop down all the trees along the riverbank for housing materials.

    But you have a good point. It would be difficult to balance everything in such a way that you could make significant changes to the game world - but in my ideal game, it would be possible. It shouldn't be easy, but ideally, it would be fun if it was possible.

    Dwarf Fortress features a smaller version of this in the form of tantrum spirals. From the wiki:
    Asob, a craftsdwarf, gets the urge to build a mysterious construction, but unfortunately there are no bones or shells to be had.
    Asob goes berserk, kills Bëmbul, and wounds Cilob. Asob is then struck down by Ilral, making an unhappy thought for Asob's friend Edëm.
    Bëmbul's lover Dodók, and friends Edëm and Fikod, get a strong unhappy thought.
    Dodók, going to help Cilob, throws a tantrum. He kills Cilob in his rage, giving another unhappy thought to Cilob's friend Fikod.
    Fikod, now horribly unhappy from the death of two of his friends, throws a tantrum destroying Edëm's and Dodók's beds.
    Edëm, now very unhappy from two of her friends dying as well as losing her bed, goes melancholy and commits suicide by jumping down the well, giving an unhappy thought for Dodók and Litast; and contaminating the only water source.
    Dodók, despite the happy thought for fighting (and killing) Cilob, is overwhelmed by unhappy thoughts and tantrums again. This time he destroys a bridge, drowning Fikod in the moat (as it has no ramps), and then attacks Geshud.
    Fikod's friends, Kikrost and Litast, both get an unhappy thought.
    Edëm's body, inaccessible, rots, causing Litast to tantrum. He punches Geshud, hospitalizing him.
    Dodók once again punches someone, this time Kikrost - cutting his lip.
    Without fresh water, Geshud dies a slow death of dehydration.
    Kikrost, even more angry due to being punched, punches Dodók back.
    Dodók, finally being overwhelmed, goes stark raving mad.
    Kikrost, angry about being Dodók's punching bag, punches Litast, and Litast punches Ilral.
    Kikrost, unable to wash his lip with clean water combined with all of the rotting corpses, succumbs to infection.
    Dodók dives into magma, creating an unhappy thought for Dodók's friend, Ilral.
    Ilral, a skilled warrior, in the wake of death and miasma finally goes berserk and finishes the fortress off.

    Most of the time, all of this is kept in equilibrium. When it begins to get out of hand, it takes a series of very careful actions from the player in order to get things back under control, but it's definitely possible. (To be fair, though, you can keep it from ever happening if you know what you're doing.)

    @Baile_nam_Fonn‌ - I've never played From Dust, but I'm amused that my scrawlings remind you of it. :P
  • killing off all of the deer in an area is not a small action, no, but expecting it to cascade that far is likely setting up false expectations.

    The "right action" aspect is part of the difficulty. It will take the right action to bring about a change, and that makes it less likely that the change you bring about will be the right action to bring further change.
    And even if all of it works perfectly... the player is unlikely to follow the changes in the world, and the connection between killing the deer and the town being destroyed when you return would be nigh-impossible to figure out. You would basically need to watch every step unfold in order to understand what happens.

    A trantrum spiral looks like an instance of a single system, the emotion/tantrum system, which is unstable and can cause cascading effects within itself. This is much easier to occur. Its effects that ricochet through several different systems that are hard to be meaningful. And with that tantrum spiral, look at it from the perspective of a NPC. Say they visit the fortress, and everything is fine, they leave, go on a trip, and come back to find a scene of massive carnage. It would be extremely difficult to figure out what happened. I don't think it would be nearly so entertaining from such a perspective. All you would really know is "welp, it looks like this town went insane and killed each other." Which may be somewhat interesting, but it doesn't lead to much beyond that.
  • While I'm thinking worldy thoughts, a question comes to mind for Gavan.

    Apologies if you've already answered this elsewhere and I just missed it, but: what's the largest practical size of a world you expect Voxel Quest to support?

    What I'm curious about is the potential size compared to a humanoid person. One easy-ish way to understand that is in terms of walking time. Suppose it takes an Earthling (let's say) three months to walk from Brittany to Bucharest -- what would the equivalent time be for walking from one end of the largest Voxel Quest map to the other end?

    (I may be making some incorrect assumptions in this question, but I hope the intent is clear.)
  • Talvieno said:

    @Baile_nam_Fonn‌ - I've never played From Dust, but I'm amused that my scrawlings remind you of it. :P

    You haven't missed much. The playing with lava parts really are great fun, but on the whole it belongs in the cheap toy/cotton candy category. Pretty tech, short-lived game.
    Mystify said:


    [...]
    It would be extremely difficult to figure out what happened. I don't think it would be nearly so entertaining from such a perspective. All you would really know is "welp, it looks like this town went insane and killed each other." Which may be somewhat interesting, but it doesn't lead to much beyond that.

    You've sparked another feature bloat idea.
    Imagine that, like in Dwarf Fortress, a dead body is tagged in memory with information about the immediate circumstance of time-of-death. Imagine a CSI style method of visually reconstructing the scene of massive carnage. Would this not be entertaining?
  • edited October 2014

    Imagine that, like in Dwarf Fortress, a dead body is tagged in memory with information about the immediate circumstance of time-of-death. Imagine a CSI style method of visually reconstructing the scene of massive carnage. Would this not be entertaining?

    Well, I certainly support it. ;)


    Edit: fixed that link for you, flat. :)

  • Processes are systems, too. These are the verbs of the world -- the things that individual characters can do, and that they can do to and with each other, and that they can express as large groups of characters with similar cultural characteristics. Examples could be gathering (plants), hunting (animals), fishing, taming, riding, mining, building, experimenting, destroying, killing, enslaving, liberating, procreating, guarding, stealing, baking ;), mapping, ruling, partying, translating, hiding, legislating, composing, performing, traveling, sleeping, cooking, teaching, learning, trading, worshiping, and burying.

    Well, you are talking to a guy who considers Ultima one of the most influential CRPGs of all time. :)

    Interaction is very important to me, but even beyond superficial actions like using object x on target y.

    As mentioned, I want to put the mechanics in place to create interesting stories. Imagine this, here is a scenario I don't think I've seen yet in a game.

    Walk in to a tavern known to harbor the undesirable type, because it is rumored the man who killed your family frequents there. Walk up to the person who looks like the ringleader and threaten to kill them, with a dagger to their throat, unless someone reveals the person you are looking for.

    What you are doing here is making a deal/pact, same as any other trade/quest - offering a leader's life for knowledge about someone else. Enabling things like this leads to much more interesting scenarios as opposed to fetch object x for reward y.

    Anomalies like the "tantrum spiral" mentioned above are pretty easy to avoid. In the case denoted above, this is a result of not weighting all circumstances, but rather if/then programming (seemingly). If (throwing a tantrum) { do some random crazy thing }.

    How it should be, very roughly: currentMood += eventResult1 * eventSeverity1 * timePassedFactor1 + eventResult2 * eventSeverity2 * timePassedFactor2 ....

    I.e. each major event concerning the NPC is weighted against how positive/negative the event was, how much impact it should have on the NPC relative to other events, and the time that has passed since the event.

  • edited October 2014
    gavanw said:

    Walk in to a tavern known to harbor the undesirable type, because it is rumored the man who killed your family frequents there. Walk up to the person who looks like the ringleader and threaten to kill them, with a dagger to their throat, unless someone reveals the person you are looking for.

    What you are doing here is making a deal/pact, same as any other trade/quest - offering a leader's life for knowledge about someone else. Enabling things like this leads to much more interesting scenarios as opposed to fetch object x for reward y.

    Really, that's a narrative issue more than a mechanical one.

    Here, there are multiple ways out. Someone sneaky enough could potentially sneak up behind you and disarm you, and the leader, if skillful enough, could potentially fight his way out of this one as well - but he'd only get one shot at it... not to mention the fact that if you do kill the leader, you suddenly don't have any bargaining chip... and you're in the middle of a large number of people who are looking for revenge. Someone with a firm head on your shoulders might even point this out to you: "You do realize that if you kill me, you're standing in the middle of a group of 50 men who would be more than willing to gut you for the sake of revenge." He wouldn't add, of course, that you're still standing in the middle of those 50 men even if you let him go. (i.e. you've put yourself in checkmate.)

    What it essentially comes down to is a matter of honor. If the leader gives you his word that he'll let you go free, then he may or may not keep his word. If you had some more complex systems in, the matter would go even farther - does the leader want to show himself not keeping his word in front of his men? Would that instill doubt of his trustworthiness into their hearts, or does he keep a policy of only keeping his word to his men? Is he worried about their trust? There's a lot to take into account here - this is one of those AI-heavy scenarios. Every person in that crowd should have their AI upped to the maximum at this point, as it's clearly a life and death situation... but it doesn't guarantee it'll work the way you want it to.

    In other words:
    1. Hold the leader ransom and demand information, along with a promise that you'll walk away safe.
    ----2a. The leader gives you the information.
    --------3a. You let the leader go.
    ------------4a. The leader orders everyone to attack. (end)
    ------------4b. The leader keeps his word. You're free. (end)
    --------3b. You kill the leader anyway.
    ------------4c. Everyone attacks you. (end)
    --------3c. You continue to hold the leader hostage, breaking your word.
    ------------4d. The leader allows you to keep him hostage. (loop to 2a, but 4b isn't possible anymore.)
    ------------4e. The leader attempts to break free, but fails and dies.
    ----------------5a. Everyone attacks you. (end)
    ------------4f. The leader attempts to break free, and is successful.
    ----------------5b. As you broke your word, the leader orders everyone to attack. (end)
    ------------4g. The leader attempts to break free, but you regain control. (loop to 2a, but 4b isn't possible anymore.)
    ----2b. The leader doesn't give you the information.
    --------3d. Your bluff is called, you let the leader go.
    ------------4h. The leader orders everyone to attack. (end)
    --------3e. You hold true to your word and kill the leader.
    ------------4i. Everyone attacks you. (end)
    --------3f. You continue to hold the leader hostage and insist that you're serious. (loop to 1.)
    ----2c. The leader attempts to fight his way out.
    --------3g. You manage to kill the leader.
    ------------4j. Everyone attacks you. (end)
    --------3h. The leader manages to get away.
    ------------4k. The leader orders everyone to attack. (end)
    --------3i. You manage to regain control. (loop to 1.)

    So, out of the above, there are nine different potential final outcomes. Eight involve your death, seven involve you never finding out what you want, and only one of them is optimal... It's a very, very serious risk on your part.
    gavanw said:

    Anomalies like the "tantrum spiral" mentioned above are pretty easy to avoid. In the case denoted above, this is a result of not weighting all circumstances, but rather if/then programming (seemingly). If (throwing a tantrum) { do some random crazy thing }.

    Actually, not quite. Their actions are determined by a very large number of factors. Some level of randomness is involved (what direction will they throw the kitten?), but what they actually do (punching someone, complaining to authority, committing suicide, etc.) is actually determined by their personality. This explains it (very roughly). What you're seeing isn't really an "anomaly", but rather a large number of separate instances that work like a domino effect. In a completely happy fort, a tantrum spiral could never happen, but in one where the morale is already significantly lowered, you're in trouble.
    (note: it may have changed somewhat since the last release when he redid personalities... I haven't played enough to know.)
    gavanw said:

    How it should be, very roughly: currentMood += eventResult1 * eventSeverity1 * timePassedFactor1 + eventResult2 * eventSeverity2 * timePassedFactor2 ....

    I.e. each major event concerning the NPC is weighted against how positive/negative the event was, how much impact it should have on the NPC relative to other events, and the time that has passed since the event.

    I like this system.


    Edit: Also: Flat's link up there isn't working - it's not even acting like a link.
  • edited October 2014
    Talvieno said:

    gavanw said:

    Anomalies like the "tantrum spiral" mentioned above are pretty easy to avoid. In the case denoted above, this is a result of not weighting all circumstances, but rather if/then programming (seemingly). If (throwing a tantrum) { do some random crazy thing }.

    Actually, not quite.
    [...]
    (note: it may have changed somewhat since the last release when he redid personalities... I haven't played enough to know.)
    "Playing around with the numbers attached to various stressors today so it can calculate stability changes over time. Compared to the way it used to work with the sum of happiness/unhappiness numbers, there's an extra layer of smoothing out that should work against sudden spiral behavior from one catastrophe, though the overall strain on the fort from a catastrophe might last longer if the dwarves don't have nice things in their lives." - Toady One, on changes applied in release 40.14.
    Edit: "Dwarf happiness has been replaced by a longer-term stress level, and a few new effects have been added" - 40.14 release notes

    Sounds like it is still mechanically the same as you describe, but withYep, it appears there have been notable changes made and a 'smoothing out' effect added (perhaps one very similar to that which Gavan describes). I take it that this means that forts are generally less prone to sudden fits of madness and mayhem.

    Yeah, I personally opine that Dwarf Fortress tantrum spirals aren't so much a lesson in "how not to do it, kids" as they are a striking demonstration of the (grisly) value added by Tarn's propensity for packing incredible amounts of detail into the simulation.
  • There's still the option to drag the leader to the door, locking everyone inside while you make your getaway. :)

    Flat's link has been fixed. :D
  • One of the basic dynamics in game design is complexity vs. depth.
    Depth is a great thing for a game to have. It is the richness of interactions, the many different combinations things that can occur, the ability to continually learn how to play the game better because the best way is non-trivial, perhaps even nonexistant.
    Complexity is the number of things going into the game, how intuitive they are, how much you can keep track of.
    The goal is to maximize depth, while minimizing and/or mitigating the complexity. Adding complexity can add depth, and it often does. However, think of it like this: the depth is the value you are trying to get, and the complexity is the cost you have to pay. Not every piece of complexity will give you the same increase in depth; some can even decrease the depth. The trick is to find things that are themselves simple, but lead to a lot of depth.
    Chess is the classic example of a game which is simple but very deep. You can learn to play quickly, and there is a small board, a limited number of pieces which move in simple ways, yet people can literally spend lifetimes mastering the game, with anthologies of books that can be written about its strategy, countless scenarios that act as training puzzles, all without even moving into variations on the game.
    Dwarf fortress is a great example of what happens when you have a very high complexity. Yes, it has resulted in a ton of depth. That is the value of the game, and what makes its fans so devoted. However, its complexity, and the utter lack of attempts to mitigate it, is also its biggests flaw. it is why there is a learning cliff, which excludes many players who would otherwise love the game. One aspect of complexity is that once a player does master the game, the complexity is irrelevant, or nearly so, and it is just the value of the depth that influences them. However, if the game could have the same depth to it without the complexity, it would be better.
    In regards to mitigating the complexity, you can improve a game without decreasing the complexity by making it easier to handle. There are also things which, in abstract, are highly complex, but that complexity doesn't matter as much. For instance, physics in a game. Physics are pretty complex, but because all of your players exist in the real-world and deal with physics all the time, they understand how they work and its a much simpler addition than you would otherwise expect. (not simpler from the developer's side, this is all from the player's perspective. How complex it was to implement is irrelevant, and oftentimes a more complex backend can make the player's perspective simpler) In a broad sense, how intuitive a mechanic is plays a large role in its effective complexity. How well the game explains the mechanics also matters; a tutorial is an obvious way to explain them, but you can also have the mechanics naturally explain new elements. Introducing new elements gradually as the game progresses is another mitigation.

    the takeaway from this is that all of these dynamic systems are a form of complexity.Some of them will have a lot of depth resulting from them. The AI system, for instance, sounds great because of the depth that will arise from it. There are many, many new interactions the game would be capable of with such a system, and if done right, the mechanisms behind it, while complex, should hopefully be intuitive, which results in a system whose depth/complexity tradeoff is very favorable (in theory. As its not implemented yet, I can only make theoretical assertions about it).
    An erosion system, in contrast, doesn't seem very favorable. It doesn't increase the depth much, and the mechanisms governing it would be opaque and non-intuitive. The programming cost isn't directly related to the quality in the final game, but it does represent an opportunity cost. It would likely be a complex system to implement, and so the cost to implement is high and the benefit to the game is low.
  • edited October 2014
    I agree... with most of these points.

    Depth is the number of meaningful, experientially different choices that come out of one ruleset. Being able to learn from the outcome of those choices is also extremely important, because without that, you have no depth - you might as well be making random choices.

    Complexity is how much the player has to remember and process at once in order to play.




    Keeping that in mind, Complexity is not necessarily bad. That's very important to understand.

    People who want light games such as Minecraft don't want a lot of complexity in their game. Someone who adores Chess tournaments, on the other hand, would be more likely to pick up on Dwarf Fortress because Chess, while it has simple rules and can be played without much thought, takes an enormous amount of mental processing power in order to play well. It has reducible complexity - it depends entirely on how you play. The more you want to win, the more thought you'll spend on your moves, and the more complex you perceive the game to be.

    Having a game with reducible complexity, as mentioned above, is a very good thing to have, because rather than aiming for the lowest common denominator, you're aiming high but not making learning all the rules necessary - which means you don't have to keep all of the ruleset knowledge in mind at once. Dwarf Fortress isn't very good at this - it fills a niche in which the complexity is, for the most part, irreducible. Sure, you don't need to know how to build beehives, train animals, or build a magma minefield in order to play, but the minimum level of complexity is still very high. Some people like that. Others don't.

    Aiming for the lowest common denominator by forcibly reducing the complexity to where it can never become complex in any meaningful way is not a good idea, because it cuts off the more intelligent half of your player base and sends them somewhere else. Reducible complexity is good. Low complexity is bad - unless that's what you're aiming for.


    I would also like to point out that as the majority of the people interested in VQ are the more intelligent sort - developers, programmers, IT students, et cetera - that it would be wise to aim for higher than a minimum level of complexity.


    Aiming too high, however - making there be too much complexity for the player to manage - is a bad thing. Dwarf Fortress is guilty of it. In fact, it's complex enough that most of the people who attempt it are turned away because they aren't capable or willing to deal with that level of complexity. You have to be careful; like anything else, it's a balancing act.





    That said, yeah, erosion would be a silly mechanic to implement unless you did it in the same manner as they do in Starbound, where it would be simple, take exceedingly little time to calculate, and become a useful game mechanic (particularly if you're the building/crafting sort of player).
  • (Thanks for the link correction. I could swear it was underlined when I created it....)
  • Talvieno said:


    Complexity is how much the player has to remember and process at once in order to play.

    I disagree with this definition. All depth becomes complexity then, and there is a huge difference. It is the difference between a chessboard where you are tracking 20 turns ahead to follow the strategy of the game and a game where you have 100 pieces with 1000 stats each and you have to understand all of it to determine how things will advance. The amount of mental effort you can bring to bear is not the value you want to look at, it is what the mental effort is being spent on. Chess can have such intricate strategies that allow you to look ahead so many steps because the ruleset is simple enough to allow you to mentally engage with the depth of the game, rather than the complexity, while a complex game may have you entirely tied up on understanding the surface level, and there may not even be a deeper level to grasp.
    Talvieno said:


    People who want light games such as Minecraft don't want a lot of complexity in their game. Someone who adores Chess tournaments, on the other hand, would be more likely to pick up on Dwarf Fortress because Chess, while it has simple rules and can be played without much thought, takes an enormous amount of mental processing power in order to play well.

    This is /entirely/ a matter of depth. Dwarf fortress won't attract them because its complex, it will attract them because it is deep. The enormous amount of mental processing power in order to play chess well is because of its depth. You are keeping track of strategy and counterstrategy, which are involved because the game is deep. Part of being a grandmaster is being able to to explore more of this possibility space, part of it is knowing which parts of the space you need to explore (i.e. recognizing a bad move and not spending time pondering what else happens if they do that, or recognizing what moves of their opponent is bad and not expecting them to take it[ because if they do then they will be able to exploit that]). The obstacle to playing chess is not learning the rules of the game, it is learning the depths of the game.

    And I will say it again; the goal is not to minimize complexity. It is to minimize complexity /while maximizing depth/. Both halves of this dynamic are important. Minimizing complexity while failing to get depth because of it yields games like tic tac toe. They are simple, lack depth, lack real strategy, and once you figure them out they become boring. Maximizing depth without trying to minimize complexity yields games like dwarf fortress. dwarf fortress does have an unnecessary amount of complexity for its depth. Even if we accept the premise that we want an extremely deep game that will take a lot of complexity to achieve, the complexity could be mitigated and streamlined to achieve the same effect without being so obtuse.
  • edited October 2014
    Perhaps I didn't explain myself well enough... my apologies if I fell short. Depth is NOT complexity.

    (Also, I misunderstood earlier - I thought you were saying that the most important thing was to minimize complexity, not that maximizing depth should be an equal goal.)


    To me:
    Depth is choices. Complexity is the opposite of simplicity - complexity is required memory and mental computations.

    Some examples:
    - Depth is deciding whether to use your pistol or your flamethrower; complexity is needing to do mental computations to determine which weapon in your arsenal would best benefit from a insufficiency-dependent boost.
    - Depth is deciding whether to buy more food now or wait until the next town; complexity is needing to do mental computations based on the map's layout and economic rulesets in order to determine which town of the surrounding five is least likely to kill you.
    - Depth is deciding whether to focus your efforts on diplomacy or war; complexity is having to remember the state and location of fifteen different enemies that each have their own agenda, tech tree, resource pools, populations, and markets.
    - Depth is deciding whether to turn left or to turn right; complexity is needing to memorize the layout of the area you're traveling through so you can complete a puzzle coming up down the road.
    - Depth is deciding whether to trade your second pistol for bandages or food; complexity is having to follow the stock markets to determine when the best time to sell your pistol is.


    Depth is choices.
    Complexity is thought.

    - Complexity can stem from depth (reducible complexity): In games like GO or Chess, you may be spending minutes, if not hours, of real time simply deciding on your next move.
    - Likewise, depth can stem from complexity (emergence): The workings of multitudes of systems may allow you to make many more choices than you would otherwise, and these in turn may affect a multitude of other systems.


    If you understand what I'm saying, skip this next portion.

    Imagine a hypothetical game where the object is to stare at a rock the longest without passing out. This game has no depth, and no complexity.

    Imagine now that you have a game where the object is to solve a series of math problems before any of the other players. By the definition I'm using, this game has zero depth, but high complexity because you have to process large quantities of numbers all at once. (It's school turned into a game.)

    Okay, now imagine you have a game with no restrictions that allows you to do absolutely anything you want to, while following the basic physics and laws of the everyday world we live in: this game has infinite depth and a minimum of complexity. (Minecraft, for instance.)

    And now imagine that you have a game where you can do almost anything you want and near infinite , but the UI is unintuitive, the rules of the world are strange, everything makes a meaningful difference, and everything can be predicted through mathematics - and must be predicted in order to be played well. This game has high depth, but at the cost of high complexity. (Dwarf Fortress.)

    And, finally, if you haven't tired of me yet, imagine a game where you can do absolutely anything you want to, while following the basic physics and laws of the everyday world we live in. Imagine also that the systems, while simple and not necessary to learn, present such a staggering realm of possibilities through their interactions with each other that it could take a lifetime to understand their full emergent implications... but even the basics are learned in a matter of minutes, if you put your mind to it. This is an example of a game with reducible complexity - it is playable without needing to understand the inner workings, but the inner workings are there for anyone who wants to take the time to learn them, and it is beneficial to do so. This is the "perfect game", because it appeals to everyone. (This game doesn't yet exist.)




    Now, on to what you were saying.
    Mystify said:

    (comparing Chess and RISK)

    I maintain that computation and memorization can be classified as the same thing. Allow me to explain. (Yes, I hear your groans, but hear me out.)

    I'm collectively grouping two types of complexity under the same banner (if you'll pardon the expression) because I'm labeling them as "mental exertion". If you wish, I could split these into two categories:

    1. Data retention
    2. Data processing

    The first type is more or less the same thing as a memory game, where you have a set of cards with matching symbols and you have to match the symbols while never turning over more than two cards at a time.

    The second type is more on the order of doing math problems in order to advance in the game.


    I group them as one because neither inherently provides further choices for the player to make. For the first type, there is only one way to remember everything correctly - and that's to remember everything correctly. For the second type, there's only one correct solution to whichever problem the player is dealing with - any other solution is considered, by the game, to be "wrong".
    Mystify said:

    This is /entirely/ a matter of depth. Dwarf fortress won't attract them because its complex, it will attract them because it is deep. The enormous amount of mental processing power in order to play chess well is because of its depth. [...] The obstacle to playing chess is not learning the rules of the game, it is learning the depths of the game.

    I agree here, for the most part. Chess is complex (when it is) primarily because it is deep. Dwarf Fortress is deep primarily because it is forcibly complex (which isn't a good thing). Chess has reducible complexity, while Dwarf Fortress focuses primarily on depth and emergent gameplay through the complex interactions of its systems. The end result is two types of complexity, though each are enjoyed by the same crowd.
    Mystify said:

    And I will say it again; the goal is not to minimize complexity. It is to minimize complexity /while maximizing depth/. Both halves of this dynamic are important. Minimizing complexity while failing to get depth because of it yields games like tic tac toe. They are simple, lack depth, lack real strategy, and once you figure them out they become boring. Maximizing depth without trying to minimize complexity yields games like dwarf fortress. dwarf fortress does have an unnecessary amount of complexity for its depth. Even if we accept the premise that we want an extremely deep game that will take a lot of complexity to achieve, the complexity could be mitigated and streamlined to achieve the same effect without being so obtuse.

    I agree here too. There are multitudes of ways that DF could be made easier - more intuitive UI, mouse input, actual graphics instead of ASCII - all of these would reduce the complexity. As I said above, I misunderstood earlier - I thought you were saying that the most important thing was to minimize complexity.

    Another thing that could reduce complexity in a game like this (or any game) is a well-written tutorial. Giving players a tutorial effectively teaches them how to look at the game, reducing the amount of time they have to spend learning the systems and therefore reducing the total thought required overall.

    I hit the character limit... Do not like.
  • Under your definitions, the distinction is no longer useful, at least not for the point I am making. The issue isn't really "what is complexity", its "what do we can [what I called complexity]". I use complexity here because that is the standard terminology. If you redefine complexity, then complexity is no longer the concept being discussed. The point of complexity in this dynamic is that there is a cost you have to pay to get depth. You can't get any depth without any complexity. It is possible to get a large amount of depth with minimal complexity, but every rule you add to the game is increasing it's complexity(generally speaking)

    Let me try another analogy.

    Say you have a soundboard in front of you, with all sorts of sliders and knobs you can turn. This is a complex game. However, all of those knobs and sliders and just thrown into some arbitrary function, and it produces a light of a different color based on what you combined. The game lacks depth; the range of possible interactions is very limited.

    The complexity is the barrier you have to get through to access the depth. If your game is complex and lacks depths, by the time the players get through the complexity they will find no substance to it. Complexity can serve as a substitute for depth in this regard, in that if the tine to pierce the complexity is high enough it may not matter that there is no meat beyond it, as few people get through, but this is less robust. For instance, if you have an RPG with 6 stats, but it turns out that one of them is never useful, you have the depth of a 5-stat system bit the complexity of a 6-stat system.

    Talvieno said:

    Perhaps
    I agree here, for the most part. Chess is complex (when it is) primarily because it is deep. Dwarf Fortress is deep primarily because it is forcibly complex (which isn't a good thing). Chess has reducible complexity, while Dwarf Fortress focuses primarily on depth and emergent gameplay through the complex interactions of its systems. The end result is two types of complexity, though each are enjoyed by the same crowd.

    I would say the end result is two types of depth. I look at all of the craziness that comes out of dwarf fortress, and that is purely the result of the depth of the system. It took a complex system to produce many of those scenarios, but the varied outcomes and repercussions are all depth.
  • What would the equivalent time be for walking from one end of the largest Voxel Quest map to the other end?

    Assuming flat terrain without obstacles:

    The world is 65,536 (2^16) meters to a size by default (it is adjustable), or about 4 billion square meters of surface area.

    To travel one side, the average human walks about 5 km/hour (http://en.wikipedia.org/wiki/Walking), or 5000 meters/hour.

    Thus, it would take 65,536/5000, or 13.1 hours to travel across the map while walking at a normal pace. Of course, that said you will be moving unit by unit with each keyboard press or mouse click (usually 1 meter to a unit), so you can travel much faster than this.


    All of that said the map will likely be much smaller than this. By these calculations, it would take about 13.1^2 or 171 hours to cover the entire map.

  • As for the points brought up by @Talvieno@Flatfingers@Mystify‌ and others - yes this scenario would have many interesting implications, and ultimately the leader determines if they have the proper agility/etc to escape (remember, everything is deterministic so there is no chance calculation needed), how likely you are to keep your word, etc.
  • edited November 2014
    gavanw said:

    Assuming flat terrain without obstacles: The world is 65,536 (2^16) meters to a size by default (it is adjustable), or about 4 billion square meters of surface area.

    Excellent. Thank you!

    So (speaking loosely here) the default world is about 65 kilometers in height and width. (And depth as well?) For comparison, here's what Texas looks like superimposed over western Europe.

    That's closer to 650 kilometers across, which is the kind of size I have in mind for a project.

    What would happen if I tried to generate a VQ world that was ten times (both horizontally and vertically) the size of the default VQ world? Would it help if I constrained it substantially in depth?
  • edited November 2014
    Okay, 65 is about the size of a DF "Small" map:
    Tiny > Smaller > Small > Medium > Large
    with Large being 394 kilometers across.
    http://www.bay12forums.com/smf/index.php?topic=119675.0

    650 is freaking huge. o.O

    I think that perhaps distant parts of the map could be saved completely to disk, eliminating the memory issue... it might require a substantial rewrite, though.
  • I could work with smaller if necessary; what I'm after is a map whose size -- relative to the typical character's top travel speed -- means that there are large chunks of the world that can change significantly without directly/immediately affecting some of the other large chunks of the world.

    And by "chunk," I mean something about the size of a European country.

    The game design function of this is to insure that during the time when you (through your character) are doing something interesting over in this part of the world, other parts of the world are changing in ways both large and small. And in the time it will take you to get from where you are now to where you're going, the gameplay content available at your destination will be different than it was when you left. Not vastly, unrecognizably different, but different enough that one game will always be capable of generating new and unexpected geographic and social systems with which your character can interact.

    Sometimes size does matter. :)

  • What would happen if I tried to generate a VQ world that was ten times (both horizontally and vertically) the size of the default VQ world? Would it help if I constrained it substantially in depth?

    Your primary constraints are: bootup time, GPU memory, etc.

    On bootup, the map gets generated (this could easily be cached, and should be), so that it only gets generated when you start a new game. Right now, it takes about 2-3 seconds to generate the map at 1024x1024 pixels, each pixel representing an area that is many meters across (64 meters to a side, right now). The most computationally expensive part of this is generating roads between cities, which utilizes an advanced pathfinding algorithm that could be much better optimized. If you generated a map 10x as large to a side, this would be 100x the generation time (if it is 10x the surface area, just 10x generation time). You could mess with parameters to have a less granular map cover a larger area. Or you could generate multiple maps (i.e. separate continents), but making these seamless would probably not be worth the effort to program. Anyhow, I think the map size is too large as it is, but that might just be me. :)

    Many GPUs will not allow textures larger than 8,192 x 8192, so that is a constraint as well.


Sign In or Register to comment.