Author Topic: Quest/Progress Journal  (Read 1683 times)

Ralleyon

  • Hydlaa Citizen
  • *
  • Posts: 304
  • Protector in the Survivors of Vaern
    • View Profile
Quest/Progress Journal
« on: January 04, 2007, 10:43:29 pm »
[Edit by neko] The following was split from http://hydlaa.com/smf/index.php?topic=4606.0 per request of the poster. [/edit]

* Ralleyon casts Resurrect on the thread


This was the first one I found, so it gets where I want to add my ideas in. So... a lot of thing can still be improved, and this Journal part, on the client side I find a very neeat idea. Both for organizing things, and being able to do it in character, and keeping track of one's actions.

As it stands now, we can do that server side, bit we all know how well it goes when the server crashes. For the client, I'm sure the saving time can be tweaked and used in a much better way. Being able to cast that Journal into a book would be even more interesting, but let's not blend in with other wishes too much.



Now, I also wish for another tipe of Journal, this time in the server side - quests. What I mean is, I want journalizing. Let me explain a bit... Right now the quest system altough has a lot to be improved on the NPC-player communication part, has very solid foundations, and with proper wording, quests can be solvable and fun to do. But sometimes they get all messed up, NPC's don't keep track of individual actions, when someone finished a quest, in which stage it is, several ways to do it and so on.

What we need is something more than a quest script, we need to keep track of various steps somehow. I know there is one such system in place, but there is room for improvement. Yes, this also involves auto-notes for quests, but we all know how much we need them if we don't want to write in those quest notes, which I seldom use, to tell you the truth because I can't copy/paste information there anyway so I have to open a document OOCly and put all I receive in my log that is relevant to the quest in there. We need to start changing that badly.


Here's my suggestion (which springs from the way Morrowind handled this sort of stuff):


Use a global quest identifier TrTef for example to define Trasok's tefusang teeth and a number after it to represent the various stages, thus changing the quests and quest_scripts tables in the database accordingly. Of course, some code has to be changed to adapt this too... questmanager.cpp to be precise. This Stage part is what the journalising is all about and which can be interrogated for every player and see what he has accomplished, also rendering the quest repetability under more control than as it stands now.

Addition to the quests table (rough sketch):

e.g.

Identifier |   Value                       |  Stage

TrTef      |  "Tefusang Teeth"      |  0             -> this representing the title always

TrTef      |  "Trasok asked you     |  10
                   to bring him 2
                   tefusang teeth"

TrTef      |  "Now that you got     | 20
                  the teeth, you
                  decide to go back
                  to get a reward.

TrTef      |   "Trasok gave you 20  | 100   -> always signalling the end of a quest
                  trias as reward but
                  you notice he is kinder
                  towards you now.


Intermediary values, or other values > 100 can be a convention for alternate courses of events which one can take, but that can be controlled from the quest script (as it is now), the convestion simply being in accordance to the script.


Addition to Quest_scripts table:

Where we had once: "complete zzz_quest step 2" and "require completion of zzz_quest step 2" we can use more advanced techniques which are known globally via their identifier and stage from the quests table, by adding some keywords which refer to that table.


quest script bla bla........

You got a quest.

Journal TrTef 0

.......................

Discussion with NPC what you have to do

Journal TrTef 10

........................

You have 2 teeth, need to give them back to Trasok

Journal TrTef 20

---------------------------------------------------------------------------------------------------

and so on....


For the Characters table we also need something where to signal all of these things repectively how they relate to one character. So, I'd suggest adding two additional fields (on top of the existing ones, yes I know it's huge) named quests_identifier and quests_stage in which to store the progress for every character individually. How that can be done in an efficient way, I'll leave up to the devs... I'll admit I'm having trouble with offering a valid solution for this part of the puzzle too.


Anyway, all in all this is pretty much what I would add and what I believe would be a definite improvement for the quest system. Please review this idea and if you understood what I meant by all of this, comment on it and tell me if its feasible. If it's still too quirky, I'll try to be more explicit and ellaborate on some more parts, this was written in a hurry.

For players reading this, vote for the idea if you like it :)


/Later edit:

On a closer look in the CVS I saw that the last problem about character quests and their tracking is already partially solved, character_quests table would only need minor tweaking. (and of course, questmanager.cpp)
« Last Edit: January 19, 2007, 02:28:44 pm by Ralleyon »
To see the world in a grain of sand
And Heaven in a wild flower,
Hold Infinity in the palm of your hand
And Eternity in an hour.
     
   [William Blake - Auguries of Innocence]

Jeraphon

  • Hydlaa Notable
  • *
  • Posts: 717
    • View Profile
Re: Quest/Progress Journal
« Reply #1 on: January 05, 2007, 12:10:49 am »
So you'd have to link the inventory to the quests table.

What would happen if you got the necessary number of items, then gave them away to another player or sold them? Would your quest information revert? I'm not saying it's a bad idea, I'm just saying that it could get complicated.

Karyuu

  • Forum Legend
  • *
  • Posts: 9341
    • View Profile
Re: Quest/Progress Journal
« Reply #2 on: January 05, 2007, 12:18:41 am »
Not at all complicated, as every other MMO I've ever played shows quest steps in my log/journal. This is a very solid idea.
Judge: Are you trying to show contempt for this court, Mr Smith?
Smith: No, My Lord. I am attempting to conceal it.

Ralleyon

  • Hydlaa Citizen
  • *
  • Posts: 304
  • Protector in the Survivors of Vaern
    • View Profile
Re: Quest/Progress Journal
« Reply #3 on: January 05, 2007, 01:58:28 pm »
So you'd have to link the inventory to the quests table.

What would happen if you got the necessary number of items, then gave them away to another player or sold them? Would your quest information revert? I'm not saying it's a bad idea, I'm just saying that it could get complicated.

No, it doesn't really need to keep track of everything. What I mean is, if you need apples and you buy them, there's no real need for the quest note to be updated. If you need a special item from a NPC and you fulfill his request, then you should probably get a quest note about it.

No need to track everything really... as in no real need to overcomplicate this with quests - inventory link. All can be done from the quest script. Besides, what a player does with his quest items is his business, but the quest may remain unfinished if he sells or gives away his item and cannot get another one back. That's his problem, his choice.


As to _why_ the whole Journalizing idea, other than those already stated, auto quest notes can also give the player a record of what he's done and perhaps some small hints once he's in the middle of the quest and has no idea where to turn to. For example, say Merrinez tells you that he needs some items to write a letter. The quest note can be something like "You should probably buy some ink and paper from someone... perhaps a librarian." Quests don't have to be cryptic, they have to be fun. Now how much of a hint a quest note can give, is up to the questmaster who writes it.
To see the world in a grain of sand
And Heaven in a wild flower,
Hold Infinity in the palm of your hand
And Eternity in an hour.
     
   [William Blake - Auguries of Innocence]

Ralleyon

  • Hydlaa Citizen
  • *
  • Posts: 304
  • Protector in the Survivors of Vaern
    • View Profile
Re: Quest/Progress Journal
« Reply #4 on: June 14, 2008, 07:49:57 am »
Please excuse the double post.

Resurrecting the old wish, because I still feel this is needed. It's not so much because of quest notes, everyone can keep those himself, but rather the auto-journal might give the player some hints as to what he is supposed to do or see sometimes, when it is not clear from the quest itself. It would function as an in character, game mechanics supported hinting.

It's interesting sometimes how I am able to find solutions to quests of all sorts when I know what to do and who to see, and quite another thing when I supposed to guess. It's not a matter or lore here, I mean those quests which give you 0 hints on who to see and what to ask of them. You just have to asks quests from random people  until you get something useful for another quest which you have no idea about.

Note to moderator: Please move to wishlist.
« Last Edit: June 14, 2008, 09:25:32 am by Ralleyon »
To see the world in a grain of sand
And Heaven in a wild flower,
Hold Infinity in the palm of your hand
And Eternity in an hour.
     
   [William Blake - Auguries of Innocence]