Randomness

First of all apologies for the long break since the last blog update. Unfortunately the realities of game development, or really the crunch mode where we have been for the past months, has meant that we had to sacrifice updating the blog in order to concentrate fully on development. Now as we are gearing towards beta and finally the launch, we’d like to get to blogging more often… Well, let’s see how that goes!

Ok, that thing sorted out, let’s talk about today’s subject, which is randomness as a game design concept and how it affects Druidstone. Randomness can be found in many places and in many forms in a game. For example, are levels fixed or randomly generated (tried that, didn’t work for us)? Are combat values such as hit chance, damage, damage reduction and so on random numbers or fixed? Are enemies in levels randomized? What about loot drops and items? Is enemy AI based on random behavior or do they follow strict deterministic rules? Each of these questions can be answered independently, so you end up with a design space with a large number of different combinations, each with their own feel and effect on gameplay.

Even if it would be feasible to test every possible combination (it’s NOT), it’s not clear cut which particular combition is the best. So at this point it’s the job of the game developer to put the game designer hat on and apply some good game design principles… which usually really means making “intelligent guesses” based on the game designer’s preferences and experiences!

One interesting thought experiment is how far can you push on the extremes. What if everything was purely random? That would probably be a very chaotic experience, and a poor match for our goal of making a deeply tactical game. A more appropriate question in our case would be: what would a game without any random factors be like, where everything except the players input is basically predetermined? On the surface several games seem to be like that. For example, games like Into the Breach (an absolute masterpiece btw!), chess and Solitaire seem to have no randomness. But looking deeper even these games have randomness. In Into the Breach enemy moves seem to be randomly determined, which leads to surprising moments. In chess the decisions of the opponent, how he or she moves the pieces, while not necessary determined by a random process, provide unpredictability for the other player. In Solitaire the deck of cards is in a random order. The point of randomness in games is to produce unexpected events because unpredictability and being surprised is fun. I believe all games have some sort of randomness built in. If they don’t they cease to be games and become pure puzzles. In fact, a definition of a puzzle could be “a game without random elements” (this definition is problematic though: defining a game is even harder problem).

Ok, what does this all got to do with Druidstone? Hold on, we are getting there! For Druidstone the most important design decisions we have to make regarding randomness are:

1. Are the levels fixed or randomly generated?
2. Combat values (hit chance, damage, etc.): fixed or not?
3. Fixed or random loot?
4. Should enemies follow strict rules or be based on random numbers?

There are others but I think these are the most important ones, which have the biggest impact on gameplay.

Random level generation we have already scrapped and this has been covered in previous blog posts.

For the combat rules, we have actually tried both random and fixed variations. The initial design, following our initial gut feeling, was to make combat values, like damage and to-hit, randomly varying like in most RPGs. But once we tried constant values and set hit chance to always be 100%, the nature of the combat changed. Most importantly combat without random modifiers support planning and tactics better and using hero abilities in combos is more practical because you know the outcome of your actions. Druidstone does not have an initiative system, so you can activate your heroes in any order and interleave actions of your heroes any way you want. This combined with the no random numbers approach to combat rules turns the battles into sort of mini-puzzles, which we find more interesting than statistical approach. Using your limited resources and abilities becomes an integral part of solving these puzzles. For example, the thought process while playing could be “Ok, gee, there’s no way I can defeat that Dark Knight with high armor value… Hmm… maybe if Leonhard first charges and pushes him to Oiko’s range, then Oiko can teleport the Dark Knight on that trap, which explodes at the end of heroes round. But wait! To do that Aava needs to clear these critters first because they are blocking Oiko…” And so on. Written like this it may sound complicated, but with aids such as visualizing the outcome of attacks, enemy statistics being open information and being able to see enemy reaches, it becomes intuitive and natural.

I’ll leave the question on “fixed or random loot” for another blog post because explaining the design process of the items warrants a blog post of its own.

Finally should enemy behavior be deterministic or random? Currently enemy behavior in Druidstone is pretty much deterministic, because of the way how the AI is currently structured. And I actually think this is not ideal and we made a wrong decision somewhere along the way when designing enemy AI. Enemies should do unexpected things (the enemies are monsters, not robots following directives!) and ideally you’d have to react to and change your tactics based on what the enemies do. So this is something we are still going to fix. Fortunately the fix isn’t necessary that involved — adding randomness here and there to the decision making should do wonders. We look at board games for inspiration (more than computer games actually), and many co-op board games use cards to implement their enemy AI. So what we’re currently thinking is a system with a small random deck of monster actions per monster type. Each turn the enemy AI would draw a card for each monster and use that action or tactic this turn. Essentially we already have all those actions, it’s just a matter of making changes to the high level system which chooses when to use these actions. This could be the right ingredient we are missing to make the enemies even more interesting and varied.

This brings me to another great design tool for randomness: cards vs. pure random numbers. Both can be used to generate random values. A random number generator is pretty much like a die: every time you roll the die you get an independent random value. But a deck of cards has memory: as you draw cards the options will be gone until all the cards have been drawn, at which point you shuffle the cards to form a new deck. Most often this is exactly how you’d like randomness in games to work: you don’t want a long stream of misses or a long stream of hits, after all. For this reason, Druidstone is using virtual ‘card decks’ internally for many things.

So there you have it. What do you think? Are these kind of game design topics interesting or are we getting too detailed? Back to the grinder!

Petri Häkkinen

Developer

29 Comments:

  1. Sounds really interesting.

    I am glad the random hit/damage element isn’t there, whilst it works for many games I always feel frustrated with tactical games where I lose simply because the the RNG wasn’t in my favour that try.

    Will be interested to see what the loot outcome is, as I commented on one of the earlier blogs there is some joy and frustration in different elements of random loot.

    • Yep, me to too! It’s actually pretty weird playing some games now after having worked on Druidstone without RNG in combat for so long. While I play them I often think this game could be even better by toning down the RNG. Some RNG can still be a good thing but you don’t need it all over the place.

      • I absolutely agree with your decision to forgo RNG in combat.

        I could never understand the appeal of it in computer games. All it does in the end is make you reload, sometimes multiple times in order to beat a difficult fight or maximize the number of attribute or hit points gained on level-up.

        I honestly can’t think of a downside to a fixed numbers system. Too predictable? Why is it a bad thing? Shorter gameplay time? Better than a pointless timesink. Lack of excitement when barely winning a fight due to a lucky roll or crit? Encounters could be still preset in such a way to almost exhaust player’s resources or require creative thinking.

        As far as loot RNG goes, it’s similar. Does anyone really like it when they find an almost perfect item with 1-2 useless properties. A better system would be to offer the player a number of items to choose from, e.g. A Staff of Freezing or a Sword of Alacrity or Wand of Invisibilty. Perhaps, a DoTA – style shop with various gear choices and upgrade paths (minus the damage or status chance RNG).

    • I play many board games, and I noticed I very much like randomness, but when situations are random while action outcomes are deterministic. In Druidstone I would like to see randomized enemies and loot (for example using point system, where each monster is worth a number of points and each level/encounter has X or Y points). Games like that give me feeling of being in control, and that my actions matter, but also lots of variety.

  2. Question about level design:
    1) will your game have elevations? For example, some enemies on higher plateau could be unavaiable for melee but only could get hit with spells and bow

    2) will you have secret/hidden walls and areas

    • Good questions!

      1. There are some elevations but they are mostly cosmetic (graphics look better if everything is not laid out on a flat plane). The gameplay happens on a 2D grid. We love grids and they make it much easier to estimate line of sight, see the reach of enemies and count movement, for example.

      2. Not really. The missions are designed so that all essential information is open. In the early days we tried to mix combat with secrets, but it just wouldn’t work. The reason is that when playing you are so focused on the battle mechanics, so looking for secrets at the same time felt distracting. That said, there are a few non-combat puzzle missions for variety.

  3. I am an AI programmer for 12 years and have also seen some best practice source code like New World Computing’s AI for Homm3.

    The first thing that comes to mind that may help you is that a deterministic AI design will greatly ease debugging, for your internal testing as well as beta feedback if you autosave all battle parameters at the start of combat.

    For example, Homm5 used a RNG which results changed with the context, i.e. different actions taken in battle, but it was deterministic for the same action sequence, i.e. it always produced the same result if you took the same steps in battle. A stack of cards can work as well, but again, it has benefits if the drawing is deterministic.

    In general, debugging an AI that is non-deterministic is a nightmare.

    You can still have randomly different challenges for a player taking the same battle again, if you for example make the battlefield, obstacles etc. dependent on the specific tile from which the player initiates combat, the time of day in the game and so on.

    On the subject of having all members of the party move at once, i.e. no individual initiative, the rule is that this design tends to a more brutish, less intricate combat experience, because the damage your party dishes out in one go, before the opponent can counter, is significantly bigger. Shadowrun Returns used this design and the experience was ok, but I always felt they missed an opportunity.

    Into The Breach made it work by designing an asymmetric combat system and made it brilliant by adding an UI that gives you tons of layered information and adding many features that made using it convenient. It’s not easy to pull off a feat like that. But the weakness of the endgame showed that even this was lacking at least one more twist.

    Having monsters not advertise their moves for their next action in advance has the benefit that the tactical battles revolve around the play of threat and response, i.e. any participant threatens multiple possible actions, which requires more proactive thinking from the player and the AI.

    Individual initiative coupled with an initiative bar that shows the player the turn order can lead to highly tactical battles with feats and status effects, as well as their counters, gaining elevated significance. Homm3 and Homm5 are excellent examples for how this is done right.

    My vote would go for a combat system with individual initiative, but everything depends on what a game you want to design.

    The design of combat feats, status effects, damage and so on should be done, once you have made your design choice for the combat system.

    • Thanks for the insightful comments!

      We have thought about various initiative systems a lot. In the end the alternating turns system won us over, because it supports the kind of gameplay we prefer — ability combos and team tactics (interleaving actions of the heroes).

      I think the key to avoiding the “brutal combat” issue you mentioned lies with level design and asymmetric goals. For example, the heroes should have other goals than just wiping out the enemies. Also there is nothing wrong with wiping out a large group of enemies in one turn occasionally, as long as you can’t keep doing it all the time. The “brutal combat” aspect has a limiting factor to the number of heroes though. In Druidstone it seems that a team of 3 – 4 heroes is most fun and keeps the balance in check.

      Your other point about the predeterministic AI being easier to debug is spot on.

      • If you look closer at the experience of LoG, and most likely Druidstone as well, the combat is the tactile fundament of the game, and as such has possibly the biggest impact on what the player gets out of the game.

        Coming back again to Shadowrun Returns, the experience was ok for me but in the end it was little more than a nostalgia trip. But, if the combat would have been nuanced and driven by an excellent AI, it would have been an eye-opener. Not at least because all the game’s systems could have been linked more intricately.

        A well honed initiative system actually elevates combat feats, combos, status effects and so on because they become part of the overall texture, the interchange of action, threat and response. The initiative system adds depth. You can knock down opponents, inflict a concussion or stun, or cast something like blindness. I love Heroes of Might and Magic 5, in which you can do things like that and a clear UI tells you immediately about the impact and what it means for turn order.

        If you have doubts that you can pull off something of this kind with the required acuity in relation to the AI, at the very least I can tell you what it takes to get it done right for any combat system you choose. An advanced AI that I worked on is going to be published soon, so that you will have a reference and can judge yourself whether my guidance could actually improve what you are trying to do with Druidstone, maybe even in time, before you set your plans in stone.

        Four heroes sounds fine to me. Seven actors a side is typically the upper ceiling of what players can handle. As a good example of asymmetry done right and a well implemented combat system, Regalia comes to mind, which is worth checking out, if you haven’t already.

        Anyway, I am certain Druidstone will be worth playing regardless of what combat system you choose, but there is a big difference between a nostalgia trip and an eye-opener, not least for the returns. Going by your other dev blogs, Druidstone is a game with many strengths though the way you design the combat will possibly decide how it is received. Your approach of not rushing and instead deciding Druidstone’s features step by step based on your vision is in many ways the way to go.

        • Combat has definitely a big role in Druidstone, bigger than in Grimrock games, which were 33% puzzles and 33% exploration and 33% combat.

          You are right about initiative systems that they open up design space for related abilities. For example, abilities that move units up/down on the initiative track.

          Then again alternating turns system also has its own merits: the major one being able to interleave actions of your characters in a natural way. Tactics that rely on careful positioning of heroes works better with this system, and since Druidstone is a grid based game we want to emphasize tactical positioning and movement on the battlefield.

          Thanks for your insightful feedback. Much appreciated!

          • A little sidenote.

            It just realized, since we’re mentioning HoMM, in the mid-late game almost every battle would start with either Mass Haste or Mass Slow. That essentially turned the initiative based gameplay into side turn one.

            Yes, I realize there were counters to that beyond the first turn.

          • @Futility
            The reason that Mass Slow/Haste are prevalent in Homm is that these are technically overpowered. You get a big impact at low cost. The problem is that the cost does not scale, and the bigger your army the more of a gain you get (for free). Compared to other spells, like direct damage or resurrection, that is clearly an imbalance. The better you understand these systems and the deeper you dig, you realize how intricate tactical turn-based combat truly is.

            The key is to arrive at simple and elegant solutions that don’t suffer from such flaws. If you find these, your game gains tremendously.

            @Petri
            Homm3, Homm5, Regalia, and the newer King’s Bounty games are all grid-based.

            While Homm and KB have stacks, you can still apply the same design to a game with individual heroes and monsters, if you make the damage output dependent on health/stamina. Or you can forgo this, it’s simply a design choice, but as explained above to Futility, the entirety of your design choices together shapes the combat experience, everything counts. That’s the reason why Into The Breach is so good.

            What you appear trying to do is more in line with the latest Age of Wonders. The grid is not spelled out, but it plays like it is there. It has also alternating turns. Obviously AoW has way more units, except of the dungeon battles which are comparable, but if you look closely you can see that the alternating turns created a formidable challenge for the devs to get the balance right. They did a fairly good job, but ultimately it doesn’t feel as satisfying as it could. I can’t imagine Divinity OS2 could have been as satisfying as it is, if it had alternating turns.

            “Tactics that rely on careful positioning of heroes works better with this system, and since Druidstone is a grid based game we want to emphasize tactical positioning and movement on the battlefield.”

            I don’t know. In Homm5 you have a combat setup phase, when the participants enter the grid-based battlefield, and proper positioning is key to winning the game. You will set slow and stalwart or nimble defenders on the grid fields next to your ranged attackers to protect them. But again, if you suspect your opponent has for example powerful fireballs or dragons with breath attacks, which attack multiple tiles, you will want to avoid setting up your forces too close together. So it’s a game in which you have to use your wits and best guesses to figure out what works best. It’s way more intricate that AoW, but not at a cost for the player, because the gameplay is fairly intuitive.

            And we haven’t even talked about AI here. A good AI has to reflect all these intricate elements in its decision making process, because if it does not the game feels flat. That’s technically the reason why we don’t see that many stellar turn-based games, because the hurdles to get it right are formidable. First the design, then the AI. In practice for me, it was always so that developing the AI helped me to understand what the combat truly needs to be streamlined (not taxing the player with needless fluff), intuitive (you don’t need to dig to understand what’s going on) and empowering (leveraging your intelligence) all at once. Easy to understand, hard to master.

          • By the way, Mass Haste/Mass Slow balance is a regression in Homm3. Homm2 has better spell balance because it lacks magic school skills and there’s no “Expert Slow” or “Expert Haste”. The spells are powerful in Homm2, but they’re appropriately priced and appear at high levels. Mass Haste is level 3, Mass Slow – level 4 (same as in Homm4, and rightly so).

            In constrast, Homm3 they are level 1 spells and any hero can learn expert magic secondary skill. That’s why savvy players play might heroes – attack/defense stats are inherently percentage based, and scale much better. You get enough magic points over time anyway. It doesn’t matter if you have spell points for 20 rounds of combat if it’s going to be decided in 5 (Knowledge lets cast more spells, Spell Power – makes enchantment last longer). Also, direct damage spells have roughly logarithmic growth, because level ups are roughly logarithmic. Armies grow linearly. Direct damage spells were arguably quite frustrating in Homm2 because HP/week was lower, but overall homm3 spell system is much more flawed. Investing resources in Mage Guild (for higher level spells) felt like gamble, in Homm3 it started feeling like a f2p loot box game.

          • @b0rsuk
            In general your observations are spot-on. I believe that the changes were made to reinforce the gameplay loop that makes HoMM so addictive. It still works.

            The issue is bigger of course, it also applies to Mass Shield, Mass Endurance, Mass Curse, Mass Righteous Might and so on.

            There ways to mitigate this, like you mentioned to get the balance between cost and impact right. Magic resistance (creatures & artifacts) and magic counters (hero skills) offer also interesting routes.

            Essentially your observations show how intricate turn-based combat truly is. If there is one feat that you can exploit, it can easily undermine the entire game.

            There are tools that can help you assess the overall balance of your combat systems. But it is never easy, NWC used lots of maths and invested tons of time to tune H3. But a few changes to spells, feats, skills or the damage formula, and you have to rework the balance.

            In an upcoming game, we use an AI (no neural network nonsense, but hard-wired and functional) to assess the possible combat flows and check these for overpowered elements that could be exploited. In theory this can be done by human labor (QA) but this is expensive.

  4. Excellent article, as always!

    Very interesting to read your approach to RNG. Definitely not too detailed. You can never go too detailed on these things!

    So, if there is little randomness in enemy encounters (basically only the planned AI decisions will be somewhat random), does that still leave enough room for multiple ways to beat the mission? Or is it more about finding the one perfect way?

    • Thanks! There’s definitely more than one way of playing through a mission (when designing a level we don’t plan ahead how each mission should be played). Also heroes abilities and equipment affects the optimal strategy, if there really is one.

  5. I have been following the development of the game, both here and on twitter, and I am quite happy. I already put the game on my wish list on steem. And even if I no longer have my computer (after he died a few months ago, and could not afford to buy another). As soon as the game comes on sale I can guarantee that I will buy it in the same way that I bought and loved your previous games. And I know the hard work that you are having in the development that will be a wonderful game.

  6. If you do not mind, I have a question. What would you do with saving throw? If you exclude the random element, is it an always success?

    • There are no saving throws in Druidstone, but certain enemies are immune or weak to certain effects. If there’s no saving throws can’t I just spam my abilities on enemies? No, the key here is that you have to carefully consider when and on which enemies to use your special abilities — the most powerful abilities have a limited number of uses. You also have to consider how to handle enemies that cause status effects.

  7. I really like the deterministic ruleset in combat, so go for it. Especially if you want to give the fights a sort of puzzle taste.
    I’m not totally convinced on the absence of an initiative system, but again, this could combine well with a “puzzle-fight”. And games like the already mentioned Into the Breach demonstrates that you can do a great game also with this system.

    You said the loot will be discussed in a later post, but I can’t wait to tell you: please, do not go full random, Diablo-style like Divinity: Original Sin. I love that game, but the loot system is such a mess of anonymous garbage continually changed for the slighty better garbage dropped minutes later.
    Unique items must be perceived as special and lasting. I strongly prefer a handful of characteristic, hand-crafted pieces of equipment, instead of tons of random junk. Even more when the rest of the game is so deterministic, to have consistency over all the mechanics.

    Anyway, I’m really looking forward the release of Druidstone, good work guys!

  8. Hi Petri & Team,

    Great to see your new project is close to release.
    Hope your next project is a “Fairy Tale” clone 🙂

    BTW steam list it as 18/2 is this wrong?

  9. Hey guys. Im very much looking forward to be playing your next game since im a big fan of your previous work!

    First off I wanna say im happy about not going with random levels. It does work for some games, Sword of the stars: The pit is one of those and one of my favorite games. Its just that having played your previous games, I think that you have a talent for making interesting and fun environments and you would have less a chance to show us that if your levels are randomly generated. That talent for design and integration played a huge part I think for LoG1 & 2.

    About combat values: randomness can work there too and be fun especially if you have good information to make your decisions. Im thinking about Final fantasy tactics, before deciding on your planned attack you could see the percentage chance you had to hit. This way you can trade certainty for higher damage depending on your situation. But im also thinking if all attacks are certain to hit you could put more focus on different kinds of tactics, like seeing the battles as puzzles(your example of teleporting a dark knight to a trap). Im curious what you will choose!

    Lastly I wanna say that I really hope the loot wont be randomized. Again im thinking back on your previous work LoG and LoG2. There were a lot of thought behind every item in the game and some of them felt they had a personal touch too. I love that. Random loot can be fun of course.. But even then Its more fun if a item seems to have a story how it got there and perhaps even having reference to old school games/movies etc.

    Whatever your choices will be… Again im psyched! Thrilled! To see what kind of game you are making this time =)

    • Thanks for your feedback Kogo!

      One thing to consider when talking about randomness and predeterminism is why random numbers are used in games. The simple answer, of course, is that randomness in games is fun and that’s because people want to be surprised. This may sound like a no-brainer, but the point is that random numbers for hit & damage is just one way to implement these surprises. Examples for other sources of unpredictability would be unexpected monster behavior (wait what! what did that guy just do?), or a surprising event — in the middle of a battle a door blasts in and new enemies appear.

  10. P.S Im loving the homage to Orco 😉 Forever standing out in my childhood <3

  11. If you haven’t seen this, it’s worth watching:

    http://www.gamebanshee.com/news/121954-operencia-the-stolen-sun-developer-diary-combat-puzzles.html

    It’s really about reality checks and balance. It can help to ground devs after long stretches of development. You can’t have too many critical and constructive questions, as the biggest risk for a game to be successful is simply not questioning one’s assumptions any longer.

    So, kudos for you to give us glimpes of how Druidstone shapes up here.

Leave a Reply to Maicon Sales Cancel reply

Your email address will not be published.