Depth vs. Complexity

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Derakon
    Prophet
    • Dec 2009
    • 9022

    Depth vs. Complexity

    I just watched this episode of Extra Credits, which talks about the relationship between depth and complexity in videogames. I recommend taking a look, but it can be readily summarized:

    Originally posted by Summary
    Good games have simple rulesets (little complexity), but get a lot out of those rules (high depth).
    Complexity turns away players, especially if the rules aren't well-explained or if the player needs to know all of the rules before they can really start playing the game. So even if your complex game is very deep, you'll be limiting your audience to those players that are willing to come to grips with the complex system. This may not be a problem depending on your goals as a developer, but it's worth keeping in mind when you decide how your systems should work.

    Now to turn this towards Angband: Angband could be a much more simple game than it is. There's lots of weird little gotchas in the rulesets that create complexity without really increasing depth. What can we get rid of to make the game more accessible / streamlined without losing depth? What can we do with our existing rules to increase depth without increasing complexity? Some brainstorming:
    • Unify the element damage system. Make all resists behave the same way, make all elements have the same damage cap, remove the temporary/permanent stacking system (or make all resists stack, regardless of type). Keep different elements interesting by regulating access to their resistances and how severe their side-effects are. For example, attacks using the "basic four" elements are very common, so their resistances are comparatively valuable -- so you make sure that gear that is generated with those resistances is rare and/or not usually paired with other useful abilities.
    • Simplify the combat system. There's a number of valid possible formulae to use, but the bottom line is that the player ought to be able to reasonably predict how changes in gear will affect their performance. The way that gear relates to the numbers shown in the 'I' screen (in Vanilla) is very opaque.
    • Relatedly, decide on a basic formula for stat checks and use it the same way everywhere. Searching, using magic devices, being stealthy, resisting spells, hitting opponents, etc. should all use the same system.
    • Add a unified-use key. Do we seriously still not have one? Sure the specific-item-type keys are useful (especially for keymaps), but there's no need to front-load that complexity; let the player learn the basic use-item key at the start and then they can learn about 'a'im wand etc. when they need to.
    • Linearize the stat system (so that raising a given stat by +1 always has the same effect, whether it's from 8-9 or 39 to 40). Of course this will have far-reaching ramifications for the player power curve, but the current system of accelerating returns at the very top is really weird. Surely there are better ways to encourage a strong focus in a specific stat.
    • While we're at it, get rid of the 18/X syntax. This is added complexity for zero gain in depth!


    I believe Sil has already done many of these.
  • fizzix
    Prophet
    • Aug 2009
    • 3025

    #2
    Originally posted by Derakon
    I believe Sil has already done many of these.
    Seriously, while there are problems with the sil system it's a great starting point. I would seriously consider scrapping the V combat system in pyrel and building off of Sil's system.

    Linearizing gains with stats is a big issue and certainly one that we can certainly do irrelevant of the rest. Note that you can get higher order polynomial functions from combining several linear stats. For example, with HP if you have a linear scaling with level and CON, you get a quadratic relation. If you add in damage reduction from armor (effectively raising HP), you get a cubic relation. If you want to recreate V with linear systems you could do it but you'd rescale the CON to extend to higher values and make the high end armor have large CON bonuses (end level rings would be something like +20 CON because instead of going from 18-150 to 18-200 it needs to go from 40-60 for the equivalent HP gain). In other words, there's no reason that gear bonuses can't be non-linear, but stats -> effects should be linear if possible.

    However, this is a massive rescaling effort and we need to pick our start and endpoints at the beginning and then base everything off of that. Do we want player HP to start at 10 and max at 100, 500, 1000? What about enemy HP. Right now the game is very asymmetric, should we keep it that way, or should monsters have roughly the same HP as players? We should decide these things first and then figure out what the scales should be for everything.

    I'm personally a fan of striving for symmetry, because it's silly to have a difference between the way a player deals damage and the way a monster deals damage (as is currently the case.) This means removing multiple blows entirely and rethinking how monsters attack. Again, another big change. Make sure the points at the beginning and the end match up and then fill in everything in the middle. It would also mean scrapping all the hard work Derakon and Magnate have done in v4 combat, so it's hard for me to push for it too much.

    Parity in stats is also important. That doesn't exist now at all, and it should. I really would like to either adopt Sil's 4 point system with Grace replaced by Magic, or a 5 point system where you separate out magic power from spell points into different stats and ignore the priest-mage divide where one uses WIS and one uses INT.

    Then we need to think hard about how we deal with things like stat-potions and the like. These are notoriously difficult to balance. Maybe stat-potions give N points and the player gets to choose where they go. Maybe you get them from special drop items from bosses, or on level ups (i'm actually a big fan of stat-gain on level up).

    As an aside here are a list of simple concepts that we can base a full game off of.
    • Hit points
    • Spell points
    • Strength (controls how much damage you do with a weapon)
    • Dexterity (controls how easy it is for you to hit with a weapon/avoid a hit)
    • Magic power (controls how much damage you do with spells and devices)
    • Saving throws (controls how likely it is for you to resist an effect.*)
    • Weapon damage
    • Armor damage reduction
    • Armor evasion increase
    • Elemental resistances (I prefer damage amounts over percentages.)


    * I think saving throws should work as follows, the effect rolls a die and if it's higher than your saving throw, you succumb. if it's lower, you do not. High enough saving throw = immunity from weaker effects. I think this is superior to either competing dice rolls or having the player roll against a static value.

    Anyway, that's probably enough for now.

    Comment

    • Scatha
      Swordsman
      • Jan 2012
      • 414

      #3
      Nice post. I think this is a useful language, and you do a great job of identifying changes to consider.

      You're right that Sil has done pretty much all of these; this is because keeping complexity under control was a big part of the development aim. (The ideal is to find mechanics which are both simple and deep, and I think we often achieved that, but we have some tradeoffs where there is more complexity than we'd like, and some where we rejected an otherwise better rule on simplicity grounds.)

      I think it's obvious that everything in your list should be done. What's not obvious is the best way to do each one (and you may want to defer doing them until you've worked that out). We made decisions about these in Sil, but there are lots of good possible solutions for most of them.

      Edit: I'm just slow posting. This crossed with fizzix.
      Edit2: Almost everything fizzix said sounds sensible to me! Getting to choose where to allocate points from stat potions stands out as a relatively dubious idea (in terms of complexity cost) in a field of excellent ones.
      Last edited by Scatha; January 16, 2013, 20:00.

      Comment

      • Mikko Lehtinen
        Veteran
        • Sep 2010
        • 1246

        #4
        For Halls of Mist, I'm striving for asymmetric simplicity, where the player is very different from the monsters.

        In my vision, the player is a complicated object with 15 skills with percentage scores. Monsters are much simpler, but many have special abilities that don't have to fit the mold.

        I can afford to make the player much more complicated because the UI is designed to show all that info easily.

        For monsters I prefer binary abilities like armored/not armored. Binary stats are easy to memorize. Having to 'l'ook at monsters all the time is boring.

        If you are supposed to make constant combat decisions based on things like monster's evasion and armor rating, those scores should be visible all the time. That's a serious UI design challenge. I prefer to keep things asymmetric instead.

        Comment

        • Derakon
          Prophet
          • Dec 2009
          • 9022

          #5
          Regarding the v4 combat system, I think that it could still be used if we're willing to sacrifice some degree of granularity. For example:

          Each weapon is classed into one of three categories: light/medium/heavy. Light weapons are finesse weapons; heavy weapons are prowess weapons, and medium are balanced. All weapons roll 1 die on hit (e.g. 1d4, 1d12, 1d20).

          For each point of DEX, you get one additional blow with a light weapon, .5 additional with a medium weapon, and 0 with a heavy weapon. For each point of STR, you get an extra die roll with a heavy weapon, .5 extra rolls with a medium, and 0 with a light. Round down.

          Thus a rogue with a 1d6 rapier and 4 DEX would get 4x 1d6 blows; a paladin with a 1d6 hammer and 4 STR would get a 4d6 blow; a warrior with a 1d6 shortsword, 2 DEX and 3 STR would get 2x 2d6 blows.

          Slays would be like guaranteed STR bonuses. I think it'd also be interesting to have weapons that don't do extra damage against a given "race", but do give other bonuses, like never missing or causing the race to take a penalty on skill checks (e.g. orcs being afraid of Orcrist). I'm not sure what to do about crits.

          Enemy "weapons" would work similarly, but they might have multiple weapons to choose from. For example, a dragon's claw attack could be a light-weight weapon while its bite would be heavy, so if it chooses to bite you, you have to take one big blow, while the claws would be two lesser blows. Of course different effects might be attached to those blows as well. You'd show the monster memory as e.g.

          Code:
          Mature Red Dragon ('d')
          STR: 4
          DEX: 2
          CON: 3
          INT: 3
          WIS: 4
          Bite (heavy, burn) 1d8
          Claw (light) 1d6
          Of course, I expect that any changes along these lines would quickly be rejected by the player base as straying too far from Vanilla.

          Comment

          • Scatha
            Swordsman
            • Jan 2012
            • 414

            #6
            Originally posted by Derakon
            Of course, I expect that any changes along these lines would quickly be rejected by the player base as straying too far from Vanilla.
            I don't know what to say to this. Status quo bias is well documented, so it's likely some people will always be change averse, and I'm sure that a small fraction of the player base would reject it for this (however old versions will still exist). If it genuinely makes the game better, however, I'd be pretty confident it would increase the size of the player base in the long run, from a combination of increased retention of new and existing players, increasing recommendations, and perhaps enticing back players who tried the game and rejected it.

            Comment

            • Mikko Lehtinen
              Veteran
              • Sep 2010
              • 1246

              #7
              I really like that simplified combat system, Derakon.

              Comment

              • Nick
                Vanilla maintainer
                • Apr 2007
                • 9637

                #8
                It's hard not to agree with everything everyone's said in this thread. But I'm going to try.

                I think that for some people the opacity and complexity is the attraction. The whole thing is not just a game. It's a puzzle to solve, and an unfolding mystery. And I'm not talking about mystery in the pretend-there's-a-Santa-Claus fake-retention-of-innocence sense; it's more like there's so much complexity you can't get your head around it all. For these people, it's the mastery of all that that is the challenge, not getting individual game wins.

                For those of us posting in this thread that mystery is well and truly gone, but should we take it away for new players?

                (Note: That last is not rhetorical - I am undecided)
                One for the Dark Lord on his dark throne
                In the Land of Mordor where the Shadows lie.

                Comment

                • Therem Harth
                  Knight
                  • Jan 2008
                  • 926

                  #9
                  I actually object to the original thesis, on the grounds that I've always had more fun playing ToME and other zany variants than Vanilla Angband.

                  Don't get me wrong, I think V's simplicity is in some ways a strong point (e.g. no wilderness = more focus on gameplay). But I've felt for a while that V suffers from a serious Lack Of Interesting Stuff. I want a game that's complicated and crazy and self-contradictory. I want to play weird classes with weird capabilities. I want more monsters, more item types, and more spell effects than I can shake a stick at. Simple games can be habit-forming, but it's hard to make them involving.

                  In other words... YMMV.

                  Edit: to be a bit clearer, I would say I prefer complexity and depth not just to simplicity and shallowness, but also to simplicity and depth. I like games where I can't keep all the rules in my head at the same time.

                  Comment

                  • fizzix
                    Prophet
                    • Aug 2009
                    • 3025

                    #10
                    Originally posted by Derakon
                    Of course, I expect that any changes along these lines would quickly be rejected by the player base as straying too far from Vanilla.
                    Honestly this doesn't bother me at all for pyrel. The bigger question is whether the people working on the code can come into agreement and make a finished game together (perhaps very different from V) or whether we'll split off and make our own games individually once the base is complete.

                    The biggest question I have with combat is how to handle multiple blows for both players and monsters. Right now the player gets X multiple blows for one turn of combat and a monster gets N (possibly) different blows. I don't like this for a lot of reasons. Mainly, I don't like multiple blows and shots because if there's one thing that very quickly becomes complex (and life or death crucial) it's trying to evaluate complicated fractional action speeds. In other words, for simplicity all actions including attacks should take the same amount of time. Later we can talk about increasing only movement speed, but I think global speed increases, as occurs in V, is absolutely out of the question if simplicity is desired.

                    I do think it's worth it to set out some basic guidelines for ranges of hit points and damage amounts. Then we can figure out what we need for granularity. Perhaps the Sil folks can give guidance?

                    (I'm going to drop all discussion of stat potions, we can have that talk in another thread.)

                    edit: @Therem: At the end this comes down to a design choice. For ToME (i'm talking about DarkGod's tome here, not sure if you are also) I find that the skills and abilities that have a clear and obvious effect are good, and the ones that have an obscure mechanic (i.e. spell crit %) are bad. There's obviously a balance here, but if I had my druthers, I would start with a simple system that gets progressively more complex as the game or player's abilities progress. So you start with a simplified dungeon game and then you go to a variant/campaign with more abilities. You make sure that the simple game is a complete experience.
                    Last edited by fizzix; January 16, 2013, 21:31.

                    Comment

                    • Derakon
                      Prophet
                      • Dec 2009
                      • 9022

                      #11
                      Originally posted by Therem Harth
                      I actually object to the original thesis, on the grounds that I've always had more fun playing ToME and other zany variants than Vanilla Angband.

                      Don't get me wrong, I think V's simplicity is in some ways a strong point (e.g. no wilderness = more focus on gameplay). But I've felt for a while that V suffers from a serious Lack Of Interesting Stuff. I want a game that's complicated and crazy and self-contradictory. I want to play weird classes with weird capabilities. I want more monsters, more item types, and more spell effects than I can shake a stick at. Simple games can be habit-forming, but it's hard to make them involving.
                      I think this is sort of orthogonal to the division between depth and complexity. To my mind, you're talking about amount of content, not about the rules for how that content interacts. For example, Magic: the Gathering has oodles of content, but very few cards introduce entirely new rules for how that content works. I wouldn't say that MtG is a simple game, but it has a fairly strong depth-to-complexity ratio, and that's the thing you really want to strive for in designing a game. Frankly Vanilla has a crapton of content too, but it's often not very well-differentiated. I mean, sure there's over 500 monster races in the bestiary, but is fighting a snaga really all that different from fighting a cave orc?

                      Aside: one of the design goals behind Pyrel's engine is to make it as easy as possible to add well-differentiated new content to the game.

                      Originally posted by Nick
                      I think that for some people the opacity and complexity is the attraction. The whole thing is not just a game. It's a puzzle to solve, and an unfolding mystery. And I'm not talking about mystery in the pretend-there's-a-Santa-Claus fake-retention-of-innocence sense; it's more like there's so much complexity you can't get your head around it all. For these people, it's the mastery of all that that is the challenge, not getting individual game wins.

                      For those of us posting in this thread that mystery is well and truly gone, but should we take it away for new players?
                      This is a fair point, and I do fondly remember exploring dungeons where I had no idea what the rules of the game were or what I might stumble across at any moment. That kind of mystery has a huge impact on the gameplay...until you master the game, anyway.

                      Put a different way, novel content is what creates that sense of mystery, and when you run out of novel content, the game becomes just a system to optimize. You can create novel content by fundamentally changing the rules, but that increases rule complexity. Better is to find new ways to use the existing rules.

                      So for example, if midway through the game, you find a monster that gains power from being surrounded by his minions, say, that's a brand-new interaction that creates a completely different experience of play. The way you approach this fight will be completely different from any other fight you've done up to this point. But the rules for this new content can be simply rendered as "monster's skill += (number of adjacent minions) / 2". The player quickly understands the rules of the game, but where things get difficult is in figuring out how to turn those rules to their advantage.

                      In other words, a game that has depth has complex play, but needn't necessarily have complex rules. To the extent that rules inhibit accessibility while not improving depth, then, they should be modified or discarded.

                      Comment

                      • Magnate
                        Angband Devteam member
                        • May 2007
                        • 5110

                        #12
                        Originally posted by Nick
                        It's hard not to agree with everything everyone's said in this thread. But I'm going to try.

                        I think that for some people the opacity and complexity is the attraction. The whole thing is not just a game. It's a puzzle to solve, and an unfolding mystery. And I'm not talking about mystery in the pretend-there's-a-Santa-Claus fake-retention-of-innocence sense; it's more like there's so much complexity you can't get your head around it all. For these people, it's the mastery of all that that is the challenge, not getting individual game wins.

                        For those of us posting in this thread that mystery is well and truly gone, but should we take it away for new players?

                        (Note: That last is not rhetorical - I am undecided)
                        Well I'm glad someone posted something sensible.

                        For me, the magic went out of D&D when all the stats and stat bonuses and skill checks were homogenised in 3E. It certainly made the game less complex but for me and a lot of players I knew it lost a lot of charm too.

                        I get the same feeling reading most (but not all) of the suggested changes. Linearising stats and re-working elements to be more consistent are both things that have been on the to-do list for a long time, but I don't buy the combat simplification at all unless we're just going to have three weapons: the rapier, the big hammer and the balanced one. If you think that having only three weapons in the entire game loses something in flavour, perhaps it's also possible to see that having loads of weapons which all boil down to the same three dice also loses something.

                        I actually think symmetry is nice, but I think we could do that without chucking everything out. I see no reason why monsters shouldn't have balance and heft scores for natural weaponry.

                        (I know I usually agree with Derakon and rarely agree with Nick, but this is not a joke post!)
                        "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                        Comment

                        • Magnate
                          Angband Devteam member
                          • May 2007
                          • 5110

                          #13
                          Originally posted by Derakon
                          For example, Magic: the Gathering has oodles of content, but very few cards introduce entirely new rules for how that content works. I wouldn't say that MtG is a simple game, but it has a fairly strong depth-to-complexity ratio
                          I don't agree with this claim. Every single block (trio of sets) of magic cards introduces at least one new mechanic, often three or four. There have now been, what, 15 blocks or so? (I'm about five years out of date but they're still producing a block per year IIRC.) That's at least three dozen extra mechanics on top of the basic rules - that's a crapton of complexity, once you consider the interactions *between* all these different mechanics.

                          Of course, there are tens of thousands of *cards*, but that's not really the point. If it's not a bog-standard 2/2 beastie for 3 mana then it's got some degree of complexity above the basic rules.

                          (I'm not disagreeing that it's a fantastically deep game, but it is hugely complex.)
                          Last edited by Magnate; January 16, 2013, 22:02.
                          "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                          Comment

                          • Magnate
                            Angband Devteam member
                            • May 2007
                            • 5110

                            #14
                            Originally posted by fizzix
                            Honestly this doesn't bother me at all for pyrel. The bigger question is whether the people working on the code can come into agreement and make a finished game together (perhaps very different from V) or whether we'll split off and make our own games individually once the base is complete.
                            I don't rate its chances if we don't get some sort of consensus!
                            The biggest question I have with combat is how to handle multiple blows for both players and monsters. Right now the player gets X multiple blows for one turn of combat and a monster gets N (possibly) different blows. I don't like this for a lot of reasons. Mainly, I don't like multiple blows and shots because if there's one thing that very quickly becomes complex (and life or death crucial) it's trying to evaluate complicated fractional action speeds. In other words, for simplicity all actions including attacks should take the same amount of time. Later we can talk about increasing only movement speed, but I think global speed increases, as occurs in V, is absolutely out of the question if simplicity is desired.
                            Ok, my position is:

                            1. I'm totally in favour of making monster attacks operate on the same rules as player attacks. To-hit, damage, blows, whatever.

                            2. I don't have any problem with multiple blows. Humanoid monsters can use exactly the same blows calculation as the player, for whatever they're wielding. Non-humanoid monsters can have balance and heft values assigned to their 'weapons'. The current system of monsters having up to four different attacks can easily stand to be replaced by on-hit procs. If we want a carbon copy of V we can use procs in order, otherwise we can choose at random or use any other system.

                            3. I do understand your concern about global speed increases, though I don't share it. I think the game engine ought to support them, but am not going to die in a ditch over them. If you wand 'speed' rings to separate into rings of movement and rings of extra attacks, that's fine with me.
                            I do think it's worth it to set out some basic guidelines for ranges of hit points and damage amounts. Then we can figure out what we need for granularity. Perhaps the Sil folks can give guidance?
                            I think we should stick with roughly where we are, normalising player hp to monster hp (not the other way round). This way we limit the amount we need to change - we can leave weapon dice alone for a while, for example. I suspect we'll need to reduce top-end monster hp, as Leon did in O and S (where Morgoth has 10k hp rather than V's 20k).

                            So we're talking about roughly 10x the current scale of player hp.
                            "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                            Comment

                            • Derakon
                              Prophet
                              • Dec 2009
                              • 9022

                              #15
                              For reference, I don't plan on Pyrel having any remotely different gameplay mechanics compared to v4 until after 1.0 gets released. Of course things will be different if only because different algorithms are being used (as in fizzix's new dungeon generation system), but certainly I won't be setting out to change the fundamental rules, and I'd ask any developer who wants to do that to please wait until we finish the engine first.

                              Also and again, I want to draw a line between an intricate game with many interacting entities, and one that has complicated rules. ToME 2, Kamband, ZAngband, and so on all had a heck of a lot going on, but most of the game used basically the same rules as Vanilla did. They're, for the most part, good examples of adding depth (through additional content) without adding complexity (through additional mechanics).

                              The goal is not to have a sterile game where everything is basically the same. Far from it! The goal is to have a game where the player is constantly encountering new scenarios and has to adjust, adapt, and push their skills. What we don't want is for the player to feel lost and helpless, like they're blindly pushing buttons and pulling levers on a gigantic black box, hoping that a good result comes out the other end. Ideally, each new scenario should follow something like this outline:

                              * What is that? I've never seen that before.
                              * Whoa, it does <A new thing>! That means that when I do <X, Y, or Z>, they'll have <different results than usual>!
                              * Now I have to completely rethink my strategy!

                              In contrast, the bad version of the above would look something like this:

                              * What is that? I've never seen that before.
                              * Whoa, it does <A new thing>! Uh, how does that work? I'll try doing <X>.
                              * Uh, that might have been less effective than usual, but it's kind of hard to tell. Let's try again a few times.
                              * Okay, yeah, X isn't working very well. So now what do I do? Try Y?
                              * Etc...

                              You can certainly have games where the goal of the game is to understand and characterize a complex system. And those games can be quite fun! But the problem with that kind of game is that once you've finished characterizing it, you're done -- there's no more game, you've found the solution. A game that wants to have replayability will need to find ways to challenge the player that aren't just figuring-out-the-system. Either that, or it needs to procedurally generate new systems, but that level of meta-game-development is a daunting task.

                              Comment

                              Working...
                              😀
                              😂
                              🥰
                              😘
                              🤢
                              😎
                              😞
                              😡
                              👍
                              👎