Search Unity

Procedural quest generation

Discussion in 'Game Design' started by TonyLi, Nov 18, 2014.

  1. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    As with so many things, I think we seek the middle ground. The game should be player-centric; even novels, which don't allow the audience to do anything but flip the page, are designed to be "player-centric." In other words, you don't set out to tell a boring story. ;)

    Some players seek to exercise their skill in tactics and strategy, and these appreciate a play world with consistent rules and a level of complexity appropriate to the player. So a world with many realistically modeled factions and limited strategic resources would probably appeal to players who seek to establish dominance, or to develop / demonstrate competency, or to create a maximum effect with a minimum of carefully considered action.

    But that's not the only way to go with a game. Sometimes players just enjoy acquiring things, solving puzzles, completing things, expressing themselves, exploring, or combining things things in a pleasing way.
     
    Teila, AndrewGrayGames and TonyLi like this.
  2. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Nah. Everyone is allowed to have different dreams and targets.
     
    AndrewGrayGames and TonyLi like this.
  3. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    I was thinking more along the lines of a MOBA with a far more complex background simulation then is found in DOTA. And probably single player too.
     
  4. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Awesome stuff and exactly the direction I want to see games go. I often think that early computer games were heading in the right direction but lost their way as tech increased and the focus changed to "bright and shiny". I remember playing simple games on my C64 where you could negotiate with the shop keeper. If he said thou may hast this fine sword for but 60 silver. What dost thou offer? And you entered 40 silver he might respond with "Not so cheap but for you my friend just 56 silver." However, if you offered say 20 silver he may respond with "Dost thou take me for a dolt?" and I seem to remember him saying "BAH! Thou wouldst steal the food from my very children's mouths". Of course, if you made a reasonable offer to begin with such as 55 he would usually say "Done!" It was fun haggling with him.

    Anyway, what you describe is exactly the sort of thing I am after. To me this is all AI & Interaction. Fairly simple AI and interaction at that! Yet it has been missing for nearly 3 decades. I hope to capture some of this in my future releases. If I actually used Unity the way most people do I'd say if you want to bounce some ideas around or possibly knock out a little prototype together sometime in the future let me know.
     
    Last edited: May 16, 2015
  5. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    I might start a new thread detailing my thought patterns. Rather then further detailing this one.
     
    Last edited: May 16, 2015
    GarBenjamin likes this.
  6. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
  7. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    633
    I'm loving the talk in this thread. @TonyLi Quest Machine would definitely would be a welcome tool to my arsenal as my game world is procedural
     
    Teila likes this.
  8. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    As you might have read earlier in this thread, I went back and forth with prototypes that use a back-chaining planner (see the link to Bartle's article series earlier) and prototypes that just use human-written quest templates. Currently it's a mix of both.

    I'll post here when it's on the Asset Store!
     
    blueivy likes this.
  9. Tomnnn

    Tomnnn

    Joined:
    May 23, 2013
    Posts:
    4,148
    Society doesn't take kindly to calling people out on their victim complex, careful ;)

    Well, farmer joe can only have you go off and kill those innocent wolves so many times before they go extinct.

    Or... a competitor in the market. You go off to obtain the goods for your quest and return only to find that the client has taken another offer! :eek:
     
  10. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    That could spawn a different set of procedural quests. Perhaps wolf-loving druids will notice the wolf population decline and ask the player to stop the farmer, or relocate the wolves, or something else based procedurally on what quest design actions you give them.
    Richard Bartle's articles (linked much earlier in this thread) have a good discussion of this in multiplayer mode. I still don't know how best to handle multiplayer. Here are the challenges:
    • Say Player1 starts a quest to kill the Rabid Bear. Player2 is wandering the woods, comes across a Rabid Bear and kills it. Now Player1 can't complete his quest. How do we handle this? Instanced versions of the Rabid Bear that only the quest assignee can see? Or have the quest automatically fail?
    • If the Rabid Bear isn't instanced, what if Player2 finishes the quest first and turns it in? When Player1 returns, does the quest giver say, "Sorry, don't need you any more"? What if it's a long, multi-step quest and Player2 turns it in after Player1 is 90% done? Won't this frustrate Player1?
    • What if Player2 changes the game world drastically enough that the quest giver no longer needs Player1's quest? When Player1 returns after completing the quest, does the quest giver just say, "sorry, turns out I no longer need that item that you just risked your life for"?
    • If quests spawn new quest mobs, what if a player goes around starting dozens of quests and not finishing any? This will clog up the area with abandoned quest mobs. This is one of the reasons I'm leaning away from spawning in quests. Instead, quests currently work with what's already in the game world. This itself is a bit limiting, but it's the best I've come up with so far.
    What are people's thoughts on these multiplayer challenges?
     
    BackwoodsGaming and Tomnnn like this.
  11. Tomnnn

    Tomnnn

    Joined:
    May 23, 2013
    Posts:
    4,148
    Wolf ghosts come in the stead of wolves and pose an even greater threat than the wolves did :p

    Instance systems are great to avoid griefing, but in a living world, the NPC would probably thank the second player for killing the bear and then revoke the quest (not failure) from the first player, explaining that the threat has been dealt with. Maybe you could provide incentive to accept quests in groups / not grief quest bosses by having rewards only given by the NPC if the player was actively on the quest. So if player 2 kills the bear, neither player is rewarded.

    Here's a fun little idea in place of my previous one - make the NPC invincible and it can only be killed if the player possesses a sacred item obtained from either the NPC on accepting the quest or found from a part leading up to the final fight sequence :)

    Then you build up solid lore and prevent griefing. Destroy the item on kill, so the player can only ever attack that enemy if they go through the entire quest process again - and mayyybe have the quest granted for everyone if multiple people are on it. That should work for quests where you need to kill a unique monster.

    Sounds like a great way to initiate a unique event for player1. If player2 has done something like fortify the town so it cannot be attacked, that could put them at greater risk if they feel safe enough to disband other guard groups. Maybe player2's changes to the world have stirred a greater evil that puts player 1 & 2 on a quest together.

    The system could make a group out of every player who's quest was just interrupted by that other player. Sounds like a huge event, but so is a player making drastic changes to the world :p It sounds like it will happen infrequently, so it'll be awesome when it does.

    Pff, easy. Maybe...

    Player accepts quest 1 and then quest 2. Quest 1 spawns wolves in the forest. Quest 2 spawns goblins in the forest. This branches into either a special event of goblins that can ride wolves, or the wolves and goblins kill each other and the quests are revoked.

    The spawning of enemies from a quest places NPCs in a frightened state, and they do not give out new quests until the current monsters are dealt with.

    If this is a living world, the presence of a growing horde of monsters may inspire the NPCs of the town to raise a small army and deal with it themselves.
     
    BackwoodsGaming, blueivy and TonyLi like this.
  12. RockoDyne

    RockoDyne

    Joined:
    Apr 10, 2014
    Posts:
    2,234
    Why would these even be quests? There's absolutely no need for quests here and their presence seems like an excuse to keep the player from thinking. It's trying to shoehorn a dynamic state into a neat checklist item.

    Let's say the kingdom has a wolf problem. Every noticeboard has a bounty on it: "twenty gold per wolf pelt." It won't matter where the player goes, the can sell their pelts for around twenty gold. It's not a quest that goes in a log, but a manipulation of market forces that requires some observation. The real-life equivalent would be farm subsidies. It's not a demand, but a suggestion.

    Save the actual quests for when you have an audience with the king, where the player would actually do something bizarre and unique, traveling to the four corners of the world.


    Think about it, if you've got a system that is capable of being some kind of simulacrum of an ecosystem, why would it be restricted to only informing players through stick figures with exclamation marks over their head? Think about all the interactions that players make with the world. All of them can be avenues for informing the player about the world state.
     
    Kiwasi likes this.
  13. Tomnnn

    Tomnnn

    Joined:
    May 23, 2013
    Posts:
    4,148
    @TonyLi a bigger problem to worry about would be the immersion break of dynamically spawned quest targets for other players.

    Player 1 is walking around in a forest.
    Player 2 approaches an NPC with a wolf hunting quest.
    Player 2 accepts a quest from the NPC.
    Player 1 blinks and suddenly the forest is full of wolves that appeared from nowhere.

    Then you've got the walking dead tv series ;)
     
  14. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I have to agree with Rocko on this one. I would rather have quest generators that generate tasks for my players, such as delivering packages, collecting items (wolf pelts, herbs, etc.), or running some sort of errand for an NPC.

    Also, another cool idea for procedural quests are rumors. Your character is sitting at the local village tavern and he hears a couple of NPCs talking about some weird activity at a nearby abandoned mine. You ask them about it and get enough information to start seeking out this mine. Once you get there, you have an adventure. Inside the mine, the procedural generator spawns the bad guys, bandits hiding out, a secret cult, giant spiders, whatever. I imagine a secret mine would draw all sorts of unsavory characters and it won't stay empty for long...unless it can be destroyed I guess. :)

    Yeah, these get boring but I want my quests to be stories or adventures so prefer to write those myself (or have one of my writers do it.)

    These little quests can at least help people gain skills or earn some coin...or even develop a relationship with an NPC.
     
    BackwoodsGaming likes this.
  15. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Why can't you have the quest start in a specific location? The farmer says....The woods near my farm are full of wolves and they are stealing my livestock. Can you help me? You actually have to hike off to the woods near the farm, possibly with directions from the farmer.

    I have played games like this. You have to go find the spawn point rather than have it appear around you. The game I played uses waypoints that shine up the sky over the location and you could do that if you want, or a trail, or whatever. I would rather use landmarks...more challenging and less immersion breaking.

    Oh, and it doesn't have to be dozens of wolves...even one wolf can steal livestock. :) You could even scale the number to the player's level.
     
  16. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    That was a poor example. Let me define a quest like this:
    • A quest is an action that an NPC wants a player to perform to satisfy one of the NPC's goals.
    As a sort of corollary, NPCs have the ability to offer rewards to entice the player to accept.

    So if the NPC's goal is to keep his farm safe from danger, and wolves roam his farm, the action is to remove the wolves from the farm. If goblins roamed his farm, the farmer might ask the player to kill goblins instead. The point is not the wolves, but that the NPC wants the player to do something to further the NPC's goals.

    On the other hand, if the NPC's goal is "to have power" (taking Bartle's example), the planner breaks it down into these subgoals (out of many potential plans): join a religion, be the best candidate for leader of the religion, await a vacancy for leader of the religion, assume the position of leader of the religion. If the NPC is at the stage where he's awaiting a vacancy, he might ask the player to clandestinely assassinate the current leader. The action is to assassinate the leader, and this is what the NPC offers the player as a quest.

    My definition purposely says the player has to perform the action. You could generalize this to allow NPCs to perform the action. But apart from the excessive processing required, it takes the doing away from the player, which goes against my thinking that the game should be for the player's experience. This is just my personal view on game design. NPCs still have plenty of agency in the sense that they can make plans (quests) based on their goals and the state of the world. They just need the player to help them achieve those goals. This keeps the player engaged in the game.

    My first prototype (quite a while ago) was in LPmud, and it followed Bartle's ideas fairly closely. He sketched out plans for spawning and scaling quest-related mobs and other items such as rewards. Although I first ported that concept into Unity, I've since dropped it.

    Instead, if the wolves are in the NPC's farm, that's where the quest needs to be. If the goblins are in his cottage, the quest needs to be there instead. And the wolves (or goblins) aren't spawned just for the quest. They exist within the game world independently of quests. When the wolves affect an NPC's ability to satisfy its goals, the NPC makes a quest around the existing wolves.

    The challenge that originally prompted me to start this thread was rather different: How to make readable quest text that (1) wasn't an obviously repetitive template, and (2) sounds like human-written text?
     
  17. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I like this, very much. :)
     
  18. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Maybe a shift of perspective is what you need to pull this off. The assumptions all over this thread involve a quest log; let's leave that off to the side for a moment.

    The Player and NPC both have an objective - the Player wants phat loots and/or more detail on the game world, most of the time. The NPC wants something beneficial done for them in-universe. As a result, I think you really need two approaches for a pre-existing quest objective (for brevity, I'll take the Goblins in the villager's cottage.)

    Sometimes, quests reveal themselves by the player just exploring. The first case is the player is exploring and finds a bunch of Goblins in a cottage. Depending on your treatment of the player character, merely discovering them can provide a quest ("In Villageheim, you found a bunch of Goblins in a ransacked cottage! Defeat them before they can do any more harm!") - this assumes an assumption by you that players are dominantly reasoning about the game from a metagame perspective. In creating text like this, you're assuming the player is looking for tools with which to play more effectively, and framing the objective - killing the Goblins - as a way to obtain that. More interestingly, maybe you don't need quest text at all for such an event - something isn't as it should be, and doing something about it immediately yields some set of rewards. If the player doesn't interfere, something else happens as a result. This is why I say, "leave the quest log off to the side for a moment."

    Alternatively, there's the standard "questgiver" approach. The player is exploring, and finds a villager with some trait indicating they have a quest. When the player interacts with the villager, they tell the player about whatever circumstances ("I was trying on my sister's rocket-propelled ballgown when Goblins invaded my cottage! Defeat them before they shred her Promcrasher 1000 to ribbons!") This naturally sets itself as a clear, concise objective for the player assuming the player is reasoning about the game form an in-universe perspective. It's less clear what the reward is - do I get reputation with Vilageheim, or do I actually get the Promcrasher 1000 rocket-propelled ballgown? - but if the player is intended to be RPing anyhow, who cares!? It's more of a chance to interact with the world. It may be possible to engage a conversation tree and talk the Goblins down, which in turn provides more RP value ("Promcrasher 1000 dresses are made using Goblin Spleens as the primary powersource! But, you're first human who has thought to ask! So, maybe you can help both us and these humans...")
     
  19. RockoDyne

    RockoDyne

    Joined:
    Apr 10, 2014
    Posts:
    2,234
    Let's just compare these two for a moment though. One of these cases is highly unlikely to be resolved without an explicit quest, while the other is just a normal Tuesday.

    Another thing to bare in mind is that goblins being in the farmer's field is not actually his greatest issue, it's his lack of security. If he really wants to keep is farm safe, he wants walls or guards to keep his property secure. He needs a political solution, and now we finally get into territory for an interesting quest.

    If all the effects of a quest end after five minutes (including being forgotten), it probably isn't worth having.
     
    Kiwasi likes this.
  20. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @Asvarduil - I agree with your approach. You have to know what you're designing before getting into the weeds of implementation. My mistake was mentioning spawning in an attempt to discuss procedural quest generation more generally than just my project. This side-tracked things. In my case, Quest Machine no longer does any spawning.

    When it comes down to it, the quest log has a huge effect on design. If the game has a quest log (and I think it should), it needs to read like a human wrote the text. The hard part (I should say the other hard part :)), generating the quest requirements and rewards, is done. I'll describe it below the next quote. For the quest log text, I think I have a pretty good solution in place; I'm just tweaking it. But to get there I went through a couple approaches that completely changed the underlying design. For example, in one prototype, I used fully-written quest templates. This allowed a human writer to imbue motivation and personality into the quest. But this makes it less general-purpose, and if you use it frequently players will recognize the pattern. In another prototype, everything was planned from atomic actions (kill this, bring that), and the NPC's overall story or motivation didn't really come through when I strung together all the little texts for each action.

    @RockoDyne and @blueivy - Currently, this is up to the game designer. You define the NPC's goals (e.g., security, wealth, etc.), available actions (ask the player to kill something, ask the player to build something, ask the player to fetch something, etc.), and resources (500 gold, +1 sword). The NPC also has knowledge sources; for example, the farmer can know what's in his field, and a sorceress might know about magic items around the realm.

    When generating a quest, the NPC identifies its most urgent goal. For example, if goblins are nearby, security may become more urgent than wealth. Then it generates a quest plan using its available actions and its knowledge sources. If the sorceress knows of a magic goblin repellent somewhere in the realm, she could send the player to fetch it. If the town guard only has the "kill something" action, his plan would ask the player to kill the goblins instead. The mayor might have "escort" and "deploy builders to build wall" actions, which could be used to generate the quest @blueivy describes. Once the plan is made, the NPC offers resources to the player to do the quest.

    The custom editor for this isn't exactly where I want it to be right now. I need to revamp it. But that's a minor thing.
     
  21. Tomnnn

    Tomnnn

    Joined:
    May 23, 2013
    Posts:
    4,148
    I did say that, but I mentioned 2 players ;)

    player 1 initiates the quest that spawns the wolves, player 2 happened to be wandering around in the location where the wolves spawned.
     
  22. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Tomnnn's point is exactly why Quest Machine doesn't try to spawn or instantiate anything any more. As I've been giving more thought to multiplayer in all my systems, spawning ended up being more trouble than it was worth.
     
  23. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    633
    @TonyLi have you heard of versu by any chance? One of the designers was a lead on sims and they delve into a lot of things were talking about hear. From conversations to NPC motivations
    http://versu.com/about/how-versu-works/
     
  24. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Yes, it's very interesting technology. I borrowed some ideas from it for Love/Hate, but Versu is more sophisticated. (Though I think Love/Hate is sophisticated enough to get the job done while requiring minimal overhead.) It's really a shame it was bought and shelved, but I'm glad they shared their design papers.
     
    blueivy likes this.
  25. El Maxo

    El Maxo

    Joined:
    May 23, 2013
    Posts:
    177
    I do like the talk about the NPC's with needs and motivations and that they are manipulating the in game economy and effecting the quests. I did have a similar idea for one of my projects, and did have a minor implementation of this, my only real problem, other than a qwerky sales point, it didn't really add anything to my game at all, its cool, but unless done right, doesn't directly effect the player.
     
  26. Gigiwoo

    Gigiwoo

    Joined:
    Mar 16, 2011
    Posts:
    2,981
    Economies are hard. Especially with players coming and going. For sure, you can build a system that adjusts itself dynamically. There's good ideas above. The problem is what happens when more than one human interacts with it.

    Imagine you spend the time to design, build, and implement a perfectly balanced economy system involving 5 NPC's in NewbieZoneA. Now imagine what happens on release day. A bazillion players descend on NewbieZoneA, like locusts, slaying 100,000,000 wolves. Any semblance of balance is destroyed.

    TL;DR - When the rubber of design meets the road of real-players, the most likely result is a bad driving experience for most of your players. It's not for lack of creativity of money that few games do this.

    Gigi
     
  27. Tomnnn

    Tomnnn

    Joined:
    May 23, 2013
    Posts:
    4,148
    Good point. Where is all of that wealth coming from? The only solution I can think of would to have instanced versions of the world that could contain at most 4-64 players, or whatever it can handle without becoming ridiculous lol. You simply cannot balance thousands+ players without an instance of some kind.

    Imagine if the wolves had to repopulate because the first 500 players did nothing but kill them. Now there's 9500 players with nothing to do.
     
    Gigiwoo likes this.
  28. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Simple answer make it a single player game or perhaps a party of up to 8 people. Basically your instance. Who needs more than that anyway? If I was playing such a game and there were a total of 8 people there I'd probably be thinking that is 7 too many. ;)
     
    Kiwasi and Gigiwoo like this.
  29. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Tony, I have been thinking about the farm with the wolves quest example. So....the players go to the farm to get the quest? How do they know to go to the farm? Do they have a manual or a quest list that tells them which quests to do, sort of like the book my son has for Oblivion?

    While I get your reasoning in this, realistically, the farmer would go into town and look for someone to help him. He would either strike up a conversation with some guy with a sword, or a reputation for ridding the area of wolves, or he would ask someone who starts talking to him if they are interested in earning some money.

    I may not be interpreting correctly, but if in an open world or an MMO a player has to stumble upon the farm where the wolves are by chance, it seems like a quest that may never be played. Sure, someone will probably stumble upon it, but all that work setting up the farm for a few players? I would prefer to have someone in town who either mentions the farm or the farmer himself, coming to look for someone to help out.

    Maybe that is how it is being done and I am not getting it. Sorry if I am misunderstanding. Lots of domestic distractions these days. :)
     
  30. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @Teila - Quest Machine only generates quests and tracks their progress. It doesn't dictate when to generate quests or how to deliver them to players.

    Quest givers (like the farmer) generate quests on demand. Typically this is when you talk to it. If it doesn't already have a quest for you, it'll generate one. But this is up to you. You could generate quests hourly, or based on significant game events, or whatever you want to implement for your game. (I use "quest giver" instead of "NPC" to distinguish from non-quest-giving NPCs. Also, non-NPCs such as job boards or mission terminals can also generate quests.)

    When a quest giver generates a quest, it considers two things: (1) its goals and (2) what it knows about the world. As the game designer, you specify the quest giver's goals, available actions, and knowledge sources. A wizard might know about magic items all around the world. A king might know about all major battles. A farmer might only know about his own field. The farmer doesn't have to be in the field to know about the wolves (although you could make this a requirement if you chose); he just polls it as a knowledge source.

    If the farmer knows that wolves are in his field, his Security goal will rise in importance. If it's important enough, he'll generate a plan composed of the actions he has available to him, such as "kill threat" or "build fence". If "kill threat" is the cheapest plan, he may break it down into the atomic action "ask player to kill threat". If "build fence" is the cheapest plan, he may break it down into atomic actions "ask player to fetch item(wood)", "ask player to deliver item(wood) to NPC(carpenter)", etc.

    Beyond this, it's up to you to control the quest giver. Some other logic (e.g., Behavior Designer) could put the farmer on a daily schedule walking about his village, or cause him to run to the PC to beg for help, or teleport him to the town square.

    ^ I hadn't considered the possibility of someone else in town mentioning that the farmer has a quest. Currently only the quest giver knows about its quest. I'll have to give this some thought. Thanks!
     
    BackwoodsGaming, blueivy and Teila like this.
  31. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Maybe we're all (including Tony) giving him the wrong advice.

    Why exactly are you sticking with the tired enemy cliches, like Generic Redshirt Bandits, Generic Redshirt Doomsday Cultists, or Generic Redshirt Wildlife? It's been done, it's tried and true, sure...but it seems to me the more I read, these sorts of generic enemies are making your life significantly harder.

    Instead, what about a small number of predefined enemies who are trying new things? It's sort of a step above what I've been prototyping over the last few days with the Nemesis Party in Sara the Shieldmage. In my setup, there's a mirror party who is pretty much doing what they can to prevent the party from making any "social" headway, or failing that defending key points that will allow the player to win the game.

    Instead of having Generic Goblin Tribe #34621 and Dire Wolf Pack #5511389 menace Villageheim's residents, why not instead have your Quest Generator focus on a small number of enemies, modify their strengths, weaknesses, location, and "strategy", and then through some means tell the player about what might be going on, to force a more organic, but focused quest onto the player?

    Such a thing lends itself well to quest logs, which you've mentioned you're a fan of. Such a thing lends itself well a sort of "endless" game. Such a thing lends itself well to players having their own stories to tell ("Dude, last night Hrothgar the Merciless invaded Villageheim! He went and killed the armorsmith first, so that I couldn't get more armor! I had to spend some time leveling up my magery since I couldn't get decent armor anymore...")

    The end result would be a human-readable quest that feels more like you're the lead in an awesome TV show, instead of a glorified gopher.
     
    Last edited: May 18, 2015
    Teila likes this.
  32. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    @Asvarduil - Good points. Those generic wolves, generic goblins, etc., work well in a simulated ecosystem, for which I think procedural quest generation is a nice fit.

    But it's not the only fit. In Quest Machine, knowledge sources don't have a concept of generic anything, or a concept of predefined nemeses for that matter. A knowledge source is simply any kind of data point. It's up to you to define what those data points are -- number of generic enemies in a certain zone, presence of a nemesis near another NPC, whatever.

    You could make a game about a slacker whose parents nag him to improve. The data points in this case could be personality traits or habits -- sleeping in too late, drinking too much, skipping work, etc. In this case, the parents could generate quests such as "clean your room," "find a nice girlfriend,", "pay us rent," etc.
     
    AndrewGrayGames likes this.
  33. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Do you absolutely need a fully-factored ecosystem simulation, though? In what way is that helping the player have a more meaningful experience?

    That's an interesting way to take things; instead of needing "enemies" at all, instead you've got a DM. Your "Slacker: The Game" example would work just as well as "School: The Game" - the teacher is the Quest Generator-based DM, who based on the randomized student that the player rolls, gives quests like "Practice your mathematics" or "Pass a Quiz on The Awful Gatzby".
     
    TonyLi likes this.
  34. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Not that this has anything specifically to do with Quest Machine or procedural quest generation, but I think some players enjoy tinkering with ecosystem simulations. And this kind of simulation can have interesting gameplay effects. If you flush the orcs out of their cave, they might end up trying to make a new home out of the humans' village, with the resulting conflict that you're responsible for instigating.

    Or if you kill all the deer in the forest, the wolves might move into the farmer's field in search of alternate prey. This is where procedural quests come in. Because you've changed the ecosystem, you've created the conditions for a new quest to rid the farmer's field of wolves.
     
    Last edited: May 18, 2015
    blueivy, AndrewGrayGames and Teila like this.
  35. RockoDyne

    RockoDyne

    Joined:
    Apr 10, 2014
    Posts:
    2,234
    Players enjoy tinkering with anything that's around for them to tinker with. Fixed it for you.
     
    TonyLi and AndrewGrayGames like this.
  36. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    For some reason I never thought to look for a thread when we talked about this when you were testing Love/Hate.. Following now! Trying to go back and read through all the awesome ideas. I know one of the things I requested and I didn't see it mentioned here is using the system for initial quest generation to help populate a lot of the more basic quests and then saving them out to some kind of database similar to how Dialogue System stores its dialogues. Epic quests and storyline quests could still be written by lore authors, but filler quests could be generated and saved. I'll have to go back and look at our conversations for other ideas we talked about. But this is a big one that I'm looking for. Being able to use procedural quest generation when initially populating my quests to save some development time and then also implement methods for procedural dailies/weeklies/event driven quest that automagically create at different intervals around what is going on in the environment. Is that still something you are considering doing?
     
  37. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @Shawn67 - Procedural dailies/weeklies/event-driven are no problem. I can see the benefit of procedurally generating basic quests at design time, even though it wouldn't use what I think is the best feature of Quest Machine, which is creating quests based on the current state of the ever-changing game world. Right now, it generates quests at runtime. I'll look into generating quests at design time, too.
     
    BackwoodsGaming likes this.
  38. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Runtime generation would still work for what I'm talking about. I would just like a way to save them as static quest after the initial run. Having a hard time putting thoughts together at the moment.. Here is small snippet of conversation. I guess we didn't talk about it as much as I thought we did, but here is part where I described before:

    You responded that it should be possible to save them to a dialogue database. Hoping that might still be a good possibility. Although I'm leaning more and more away from a ton of static stuff the more I read about it, it might still be nice to be able to have a way to save off all quests, a group of quests, or a single quest to tweak or integrate into some of the larger static quest lines. Not something I'd put a lot of time if it takes too much coding if I'm the only one that wants it. But if it is something that could be easily added, it is something I would find useful.
     
  39. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    That should still work. The procedural quest generator no longer requires the Dialogue System (although it works well with it of course), so it will be a similar type of asset file but not exactly a dialogue database.
     
  40. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Cool.. Either way is fine by me since I already have DS.. But probably smart move for those just wanting the generator. Although they are missing out if they don't have Dialogue System too! (can't pass up on throwing out some free advertising for ya for the small handful of people in the thread that aren't familiar with DS... lol)

    At any rate.. Looking forward to what you come up with. Really hoping I get to a point that I can start digging into integrating Dialogue System, Love/Hate, and (eventually when it is done) this into my system. Long road before that point yet, but hoping to be able to start putting more time into the game!
     
    TonyLi likes this.
  41. EvilGremlin

    EvilGremlin

    Joined:
    Aug 12, 2016
    Posts:
    231
    /revive thread


    I am sad to see how old this thread is. I think this is a great idea and I hope you are able to come up with a random quest system for whatever (probably very well coded) project you are working on.

    You said you can't "find the fun" in random quests. In my opinion--in this case--the "fun" isn't about the dialogue or the objectives. It is about not knowing exactly what to expect, while still having some idea of what to expect. Take a look at Skyrim's radiant AI quests. Boring. Why? Because you do them once and you know exactly what to expect every single time.



    I am planning at least a couple of random quests for my project. This may not be totally applicable to what you are trying to do but it may help you figure out how to make it work. Here's an example...

    Template: Theft
    PC is assigned to steal an object (e.g. documents)

    Location: Procedural quest zone
    My game is set in a city. It will be broken down in to several large zones with entrances to smaller "quest zones." I intend for most of my quest zones to be at least partly procedural. This adds a small element of seeming randomness throughout the entire quest.

    Step 1: Building intrusion
    This can be accomplished using a selection of methods; disabling a security system, picking a lock, finding a hidden way in, climbing up to an open window (some or all methods may be available). Part of this may simply be dealing with the thugs on the street or a nasty dog, etc.

    Step 2: Spawns
    I'm going to have a bit of randomness in my spawning system, but generally it will be localized within the prefabs I'll be using for procedural quest zones. What I will have is thematic factions. So there may be more military groups or bodyguards or space kitten wizards, whatever... Each one will be somewhat different as far as how much of a threat they are or what tactics they will utilize (just like any other faction system). But the point is that will add a level of randomness/unxpectedness (not a word) to the missions.

    Step 3: PGC feature
    Any good story, even a random quest needs something to grab your attention. This can be a plot twist, a story element, some kind of architectural feature or enemy or who knows what else. The easiest way for me to offer this feature is through the process generation that I will already have in place. The trick will be having enough of these to keep it feeling fresh. I also like the idea of possibly having more than one feature occur (though seldom).

    Examples:
    1. In the middle of the building there will be a huge open stairwell that must be traversed where guards can easily spot the PC
    2. There will be some sort of unusual enemy (in my case I'll have at least one demonic dog with really strong hearing and vision... oh and fire and stuff)
    3. The PC will have to do something he/she didn't expect like rescue a hostage or disable a bomb etc.

    Step 4: Rare surprise
    This is something that doesn't usually happen. And it can be a lot of different things. But I think many of these types of things could be controlled through The Dialogue System.

    Examples:
    1. Upon returning from mission the quest-giver is deceased. The PC is suddenly attacked. Obviously, they are after the documents. This could lead to another quest.
    2. The documents aren't well sealed and if the PC looks at them he/she realizes that they are nuclear launch codes (or something more reasonable). Now what does he/she do?
    3. The documents are already gone when you get there... surprise! There is another thief climbing out the window...



    This may be a bit more complicated than what you are after. But I just thought I would post my random quest concept on the off chance it would help you. The point of a random quest system, in my opinion, is not to replace standard story-telling, it is to supplement it. Players aren't necessarily looking for great procedural quests. They are looking for quests that keep them at least somewhat engaged though. And, though there may be other ways, interest can be built within procedural systems themselves. I hope that helps give you some ideas.





    #keepthedreamalive
     
  42. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I hope you continue this too. The fun isn't about the quests, in our game at least, but a way to create simple quests for te players to gain money and learn about the game/lore. We planned to use your system to send players to various NPCs to gather things they need when they start the game or when they want to advance...or seek information about some puzzle. It would be perfect for that.

    Simple is good. And tied into a game and made to be useful, the player will find them part of the overall fun. :)
     
    BackwoodsGaming and JoeStrout like this.
  43. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Tell me about it! :) I give priority to supporting current customers, and with several large games by various studios nearing completion, an atypically large amount of time has been devoted to support for the Dialogue System and Love/Hate. However, recently I've been able to allocate substantially more time to the procedural quest generator, so development is back in gear.

    Part of "finding the fun" was a bit of insight (and lots of subsequent help from folks here on the forum) detailed in a Character Quest Motives thread. It still uses this concept. I think we're of the same mind, too, that procedural quests are best when they supplement standard storytelling rather than replacing it.

    As Teila writes, I can see that even procedural quests will let players learn about the game in various ways, from exploring different areas to complete quest objectives, to discovering what characters' motivations are, based on what quests they feel are important to ask the players to complete.
     
  44. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    So glad!! Also, happy that you were just busy and didn't abandon the project. Being busy is a good thing!
     
    BackwoodsGaming and TonyLi like this.
  45. Stevepunk

    Stevepunk

    Joined:
    Oct 20, 2013
    Posts:
    205
    If the player kills the wolves and the farmer witnesses it then the farmer could reward the player regardless of the player being on any quest or not.

    It's annoying when all quests follow the same structure as opposed to NPCs reacting realistically to the world around them.
     
    Last edited: Jan 11, 2017
    Xepherys and Teila like this.
  46. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    That's a good point. As I finish up getting the beta ready, I'll see if I can do something about this.
     
    BackwoodsGaming and Teila like this.
  47. Apparaten_

    Apparaten_

    Joined:
    Jul 9, 2013
    Posts:
    45
  48. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Absolutely. But it's the outliers who flip or rearrange the pyramid of needs that make narratives interesting, such as sokushinbutsu to take an extreme example. Any implementation (like the one I really am busting my hump to finish as soon as possible) should allow the designer to customize each agent's priority of needs.
     
  49. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    204
    A very good (in my opinion) solution to this was the Tome of Knowledge in Warhammer Online. A bunch of RL MMO buddies and I started playing the game at launch, and the ToK as a "hub" of sorts really struck me. To this day I'm shocked it isn't done more often, though Destiny has something akin to mini-ToK with their achievement books.

    The ToK kept track of quests, beastiary, gear sets, and even gave rewards for completing sections and unlocking pages. It was a mini game of sorts built into the daily gameplay of the main game.
     
    Teila and AndrewGrayGames like this.
  50. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    204
    There are games that do this, and frankly I think it's an important step. Sometimes not even requiring the NPC to see it so much as flagging a task completion on the player to potentially open a new dialog with the NPC.

    E.g. - player kills 100 wolves while picking alchemy reagents. Player runs into farmer and initiates dialog where farmer offers quest for killing 5 wolves. The flag allows the player to say "oh, I've already killed dozens of wolves today" and the farmer is happy, pays up, and the quest is complete.

    This could be expanded, possibly (with some added complication) where the player could lie about completing quests where no evidence is required. This could lead to all sorts of fun ramifications. This would also play well in an RPG where alignment mattered.
     
    Stevepunk and TonyLi like this.