• entries
    154
  • comments
    388
  • views
    163474

Quest system and scripting thoughts...

Sign in to follow this  
O-san

390 views

Thank you for the replies, I'm sad to see dbaumgart's isometric project being on ice but I understand his reasons. His new project sounds pretty interesting.

Now... back to Nimrod. I started last night to design how I wanted the quest system to work. The game I hopefully will develop with the Nimrod editor is not going to be a run-off-the-mill role-playing game. It's going to be more of an action adventure type game with a bit of freedom and quests (I'm a big fan of Another World and Flashback games). Well, that's the idea anyway. I think a quest should be able to have many different endings depending on how you complete the objectives. The ending is derived on the fly in a chain like fashion. The chain consists of nodes, each pointing to the resulting node of the actions done when the objectives of the node have been met. An example:













With this approach a quest can have many different branches and endings depending on your actions. The quest node class looks like this:

Quest Class{
* Node name
* Node description
* Node completion status
* Previous node
* Next node
}

If previous node is null that means it's the root node. If the next node is null that means it's the tail node. The chain is built on the fly depending on the completions status of the node.

Does this idea sound like it could work? I thought I'd implement this using scripting to some degree. Creating the nodes from a script depending on how the player performs the objectives, a C-function which creates and handles all the current quests and nodes. Adding or deleting nodes whenever told to do so by the script. That was a bit hard to explain but I hope I got through ?

Right now a script can be created and executed within the main loop of the editor. I've begun to work on the GUI which will handle the scripts. The screenshot to the right shows the interface.
Sign in to follow this  


3 Comments


Recommended Comments

Looking great. I've always been a fan of this kind of freedom in RPGs. The really cool ones would have your actions taking effect on other characters as well (besides general reputation). But I imagine that'd be pretty complicated to script (you have to allow for all possible combinations of events and in whatever chronological order).

Share this comment


Link to comment
I think it's solid but I'd test it first out of the game in a sort of sand-box project where the pointers can be totally screwed up in a relatively safe way. :)

You'll need more than one "next" node for the multiple choices. So it's not just one pointer but actually a tree structure. Also you can use this for *all* of the fail conditions and side-effects, not just multiple-choice kind of stuff but also where when sneaking up to a castle the player is seen, then the objectives change and all. All in all a pretty flexible system.

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now