MuttStudio / ProjectRPG

0 stars 1 forks source link

[Feature] Quest System #42

Closed ruba1987 closed 9 years ago

ruba1987 commented 9 years ago

@ProjectRPG/thinktank Hey guys, here is the questing system. Let me know if it works the way you would expect or if it needs a little more work. I think I have everything that we need here to really get going with it.

The only things we are going to need to add to this will be different objective types but those are really easy to implement with the framework I have in place for them. As an example, I implemented the location objective first (find the hammer) so I had something to work with as a base and to make sure the quest system was working as a whole. From there, to implement the collection objective (get an axe) it took about 15min. Take a look at ProjectRPGCollectionObjective.cpp on the files changed tab to see just how simple it is.

Anyway, where is the vid:

https://drive.google.com/file/d/0B1dKeBFXLg0rcUZjcnBPd2JjUDA/edit?usp=sharing

dakdaros commented 9 years ago

Looks great to me. I think we can merge this one.

walterthearchitect commented 9 years ago

MERGE THIS PIECE OF GENIUS

ruba1987 commented 9 years ago

@ProjectRPG/thinktank Ok guys, so I did some updates to this. I was just going to do some simple refactoring on the code I wrote but I decided that it could use a bit more love than that. This now supports objectives that are dependent on each other. Meaning you have to complete part 1 in order to complete part 2. In many cases the quests can be split into more than one quest and I think that's how some of them will work but there are some valid cases for having dependent objectives in the same quest.

Examples:

ex1: Here is a scenario I would put into two quests:

"Go find all the pieces to this awesome object and put it back together" I would split this into one quest that has you go find all the pieces (this would have multiple objectives but it doesn't matter what order you do them in) and then a second quest that has you bring them to the blacksmith to put them back together.

ex2:

Here is something I would make all one quest that has multiple parts that need to be done in order.

"Rescue this person and escort him back here safely". That's one quest with two objectives but they need to be done in order. Logically this seems impossible to do out of order but technically it could be possible to do out of order if there is a game glitch or something (but I wrote the code so there can't be a glitch :-)).

I also upgraded the game to support 4.3. They have features in there that I really need and have been waiting for.