Author Topic: Quest implementation example  (Read 2550 times)

Noisy

  • Contributor
  • Hero Member
  • ***
  • Posts: 1568
  • Dreams dont work, unless you do
    • View Profile
Quest implementation example
« on: December 10, 2015, 13:39 »
Note!: files are shared via dropbox, it will offer you to log in for viewing it, but there is option to skip it.

This thread is meant to give rough idea of how quest implementation works.
Quests that have more then 5 lines of dialogue that is. things like shit shoveling does not take as much effort, but still there are some boring parts to it :)
Usually people do not realize the full scale of that process and abandon task not even getting half way through it.
So please do consider reading this and understanding what work needs to be done before deciding if you want to start doing it. ( that applies to Suggestions too ;) )

And Balthasars contribution is very good example of Job Well Done.

Ahtung! Documents and other examples are Final or Late versions. Those documents are not done in one sitting.. they grow over time. Between initial steps and those well formed documents there are a lot of changes/reforging/additions and so on.

Step 1: Expanding the idea.
 
  His first task was to expand the idea which was defined beforehand and was in a pile with lots other ideas.

  Initial Idea:
     Robin Hood had well planed scam. He was robing caravans and merchants as regular bandit ( not showing his true identity ), thus gaining reputation "Take from the rich" amongst fellow bandits. And later on gave belongings back to owner as Robin Hood, thus gaining good reputation "Give to the poor" amongst local populace... and some reward from victim for doing a good deed.
     Simpler - He robbed people and gained good reputation while doing it.

   Refined Idea:

    There’s a guy named Robin Wood (questgiver), standing around in NCR (Shady Sands). He tells player about some job he can offer. Basically it’s about some ambush on a caravan, coming from HUB to Shady Sands. The background storyline goes something like:
  --  trader organisations in HUB and NCR made some good deal(s) recently
  --  HUB traders are sending some unique/valuable items as present and to strengthen the good relationship for further trades
  --  Robin Wood somehow got the info about this caravan and now has an evil plan
  --  his gang shall ambush the caravan and rob the items
  --  later he wants to sell them back to the traders in HUB for caps and for a push of his own reputation
After player accepted the quest he will see a new location near Shady Sands. When he arrives there Robins gang will already be there waiting. After he quick-chatted with the gang leader the caravan will spawn ( Timed event is triggered via dialogue function call ).

Now there are like three possible outcomes:
  A) Player sticks to the plan and kills caravan guards + caravan leader, gang leader stays alive
  B) Player does nothing or messes it up in another way like exiting location or being killed
  C) Player instead attacks gang + gang leader, caravan leader stays alive

According to players reaction the quest will go on:
  A) Robin will offer the player a second job. This time he shall deliver the stolen goods to someone in HUB to sell them back. Player can accept or take some quit and take some few caps as reward
  B) Quest failed
  C) Player talks to caravan leader after the fight and gets the info, to go to HUB to collect some reward for his help. If player returns back to Robin he will get knocked out and teleported to a special location, where he will be trapped in

2nd part of Quest will be about the delivery of the items. Player has to go/find a NPC in HUB and convince him that he managed to get the stolen goods back and now wants to hand them over to their owners as a sign of good will (and for some caps for the effort he took).

Robin will give him a hint, that he should change his appearance a bit before he meets the contact in HUB. Player needs to change his Skin (for example go to the barber or to skin change shop or beg some GM ) to successfully sell back the goods.

He also needs to answer the correct dialog nodes. However, he won’t be able to sell the goods if he didn’t changed his appearance (see 2.4 NPC(Jim) in HUB  for further details)

If everything went right he will get some exp and some caps. He doesn’t need to give back the share to Robin because thanks to the player he now can look forward to some more prosperous jobs.

Step 2: Dialogue documentation

   Of course One can simply start preparing the dialogue editor and so on, but its very far from ideal for numerous reasons. And becomes a pain in the ass.
   So before making dialogues Documentation needs to be prepared and reviewed by curator ( in this case it was my job ) and different modifications applied.

  Questgiver
      - initial dialog  :             RWQuestgiverInitial.pdf   
      - dialog for 2nd part  :   RWQuestgiver2ndPart.pdf
      - dialog for Option C) :   RWQuestgiverPlayerHelpedVan.pdf
      - dialog for last part :    RWQuestgiverLast.pdf

  Gang Leader
      - complete dialog :       RWGangLeader.pdf
   
  Caravan Leader
      - complete dialog   :       RWCaravanLeader.pdf

  NPC in HUB (Jim)
      - complete dialog   :       RWJimInHUB.pdf

  Dialog for trap location
      complete dialog:          RWTrapLocation.pdf

Step 3: Production

  After all documentation is prepared, reviewed and approved its time to start producing. There is no specific order in which things must be done. It all can be done at same time
  - Maps creation - Mouse worked on it
  - Dialogue creation - Balth did all dialogues himself
  - Scripting was the tricky part since Balth used Reloaded source which at some points can be problematic when it comes to final implementation.
  - Testing is crucial and is done all the time. But no matter how much you try to prevent every possible problem, in most cases some details will be missed. thats normal part of any development process ;)


Note: There is much more documentation involved, and I did not cover the scripting part which takes much more effort then dialogues
« Last Edit: December 11, 2015, 08:38 by Noisy »
^_^ http://46.101.233.161/timers/display

There are no unsolvable problems.

Success is the ability to go from failure to failure without losing your enthusiasm

SuperPolite

  • Hero Member
  • *****
  • Posts: 550
  • Demand Growth = Hell Ticket
    • View Profile
Re: Quest implementation example
« Reply #1 on: December 10, 2015, 13:48 »
is there SDK i could test it on for compatibility purpose?
                                                                                                                        
Looking for interesting ideas for cave maps, drawn and saved as bitmap(.bmp). I will pay 20 000 caps for good ones. Feel free to PM

Noisy

  • Contributor
  • Hero Member
  • ***
  • Posts: 1568
  • Dreams dont work, unless you do
    • View Profile
Re: Quest implementation example
« Reply #2 on: December 10, 2015, 14:00 »
is there SDK i could test it on for compatibility purpose?

Nope, compatibility issues are solved during final implementation by FO2 devs.
So basically you script something using Reloaded source and then it gets fixed so it can work on FO2
« Last Edit: December 10, 2015, 14:09 by Noisy »
^_^ http://46.101.233.161/timers/display

There are no unsolvable problems.

Success is the ability to go from failure to failure without losing your enthusiasm

SuperPolite

  • Hero Member
  • *****
  • Posts: 550
  • Demand Growth = Hell Ticket
    • View Profile
Re: Quest implementation example
« Reply #3 on: December 10, 2015, 14:01 »
that makes me sad :(

i have just old 2238 server sdk, would it work with that too?
                                                                                                                        
Looking for interesting ideas for cave maps, drawn and saved as bitmap(.bmp). I will pay 20 000 caps for good ones. Feel free to PM

Noisy

  • Contributor
  • Hero Member
  • ***
  • Posts: 1568
  • Dreams dont work, unless you do
    • View Profile
Re: Quest implementation example
« Reply #4 on: December 10, 2015, 14:09 »
i have just old 2238 server sdk, would it work with that too?

Never seen it, so cant tell how much it would be different.
Anyways, if you going to create something that was not reviewed and approved, there is little chance that it will be implemented just because you did it :)
So PM me if you are willing to stop playing the game and start improving it ;)
^_^ http://46.101.233.161/timers/display

There are no unsolvable problems.

Success is the ability to go from failure to failure without losing your enthusiasm

Wesan

  • Developer
  • Hero Member
  • *****
  • Posts: 2307
  • The one who smiled.
    • View Profile
Re: Quest implementation example
« Reply #5 on: December 10, 2015, 14:46 »
SDK you use doesn't matter. They are same in the core coding. Basically when your approved quest/something is ready for first test session For example with me and Balthasar it works this way: Meeting on skype, implementation, testing session. Shit ton of bug fixing :D then testing, fix, testing, fix and when we have it all working good it gets commited onto Fo2 SVN. Then it waits for Skycast's check and approval, because even with test we can miss critical bugs Sky always spots :D

When I was still contributor to Fo2 not dev I used TLA sdk of same revision that main server is. Balthasar Prefers Reloaded sdk, Noisy used mix of both. Rikers used original tla. In the end. It never did matter.

Lucek666

  • Hero Member
  • *****
  • Posts: 879
    • View Profile