Mission System
Post 1: Gatz · 2010-05-10 13:37 UTC
The Mission System would replace qbit/abit for the -main- style of scripted quests, obviously abit/qbit will still be used for somethings. Mainly the goals of the system would be to allow for ease of dynamic mission creation and ultimately a second component to allow generic rules to be able to generate missions automatically, to bridge the gaps in implementing scripted quests.
System will work like......
(Who knows? Post your thoughts and I'll update this as we come up with things.)
Rough Draft:
Builder command(s):
makemission "Mission Name" # (# is an ID)
setmission "Mission Name"/#ID field options
Possible fields:
Rank - D-S (Should be considered -very- carefully before setting)
Experience - # (Amount of experience to reward for completing)
RewardRyo - # (Amount of Ryo to award for completing)
RewardItems - Item Vnum Item Vnum Item Vnum etc(Item to reward for completing, can have multiple items or just one)
Nickname - #NickID (Nickname reward for completing a mission)
Description - Desc (Description of the mission that players can view in their log)
Short Descr - Short Description (Short Description that players see in a quick view of their log book)
Change - "Misison Name"/#ID (Mission can be changed to another mission, for example Naruto's mission to escort Tazuna in the first arc of Naruto changed from an escort mission (D Rank) to a protection mission (C or B Rank))
Concurrent - Yes/No (Can this mission be done if other missions are pending?)
Victory - Options Below (Used if mission can be won via the following conditions, optional)
- Victims - #NPC #NPC #NPC(NPC(s) player must kill to satisfy mission, optional.)
- NeededItems - #Item #Item #Item (Item(s) needed to satisfy mission, optional.)
- NeededRyo - # (Amount of Ryo required to satisfy mission, optional.)
- Support - #NPC #NPC #NPC (NPC(s) players must keep alive to satisfy mission, optional.)
- Qbits - #Qbit #Qbit #Qbit (Qbit(s) players must be set with in order to satisfy mission, optional.)
- Abits - #Abit #Abit #Abit (Abit(s) players must be set with in order to satisfy mission, optional.)
Mob Prog Commands:
mpAssignMission $n "Mission Name"/#
mpFinishMission $n "Mission Name"/#
mpChangeMission $n "Mission Name"/#if missionComplete($n) == "Mission Name"/#
if missionFinished($n) == "Mission Name"/#
if missionInProgress($n) == "Mission Name"/#if totalMissionComplete($n) == #
if totalMissionFinished($n) == #
if totalMissionInProgress($n) == #
Post 2: Gatz · 2010-05-10 18:33 UTC
Basic thoughts on what this system needs to do...
Be able make missions via an interface like making gnotes, but have a lot more options. My first thought is:
makemission "rescue the hot dog"
Title: "Rescue the Lost Hot Dog!"
Rank: D
Summary:
A poor girl from Hitokurou lost her hot dog to a Riyoku bandit. This bandit was seen around a bridge somewhere, bring that girl's hot dog back!
So, you'd get this:
if hasmission($n) != "rescue the hot dog"
' Hey wanna rescue this hot dog? It is lost and stuff.
mpsetmission $n "rescue the hot dog"
endif
And players could go:
missions (Only ranks of missions they have done or have will be shown)
Rank D 2 complete, 1 in progress
missions in progress
"Rescue the Hot Dog"
missions "Rescue the Hot Dog"
Title: "Rescue the Lost Hot Dog!"
Rank: D
Summary:
A poor girl from Hitokurou lost her hot dog to a Riyoku bandit. This bandit was seen around a bridge somewhere, bring that girl's hot dog back!
Anyways, thoughts?
Post 3: zetsuke · 2010-05-12 19:34 UTC
As a builder, this sounds like it could be pretty cool and probably cut down on a lot of time. I just wouldn't be looking forward to replacing all the old missions.
As a player, I think this sounds incredibly awesome.
Post 4: Gatz · 2010-05-12 19:51 UTC
I'm not sure we'd replace all current missions with this setup...that could take awhile...but maybe if we just had 2-3 builders change over 5 missions a week, we'd slowly have them all replaced and then put in the commands for players, so they'd see how cool missions now there.
However, how about some ideas for the UI and maybe automatic misisons? I think there can be a super clean way to do everything, but I don't know about auto-missions.
Post 5: Gatz · 2010-05-25 20:36 UTC
What sort of features would you want the system to be able to handle? Is the above enough? Would you guys want more?
Post 6: Ichiro · 2010-05-27 23:50 UTC
I think we need to figure out some way for missions to actually be rewarding, interesting, and kinda difficult. Most of the missions currently in are either waaaay easy or waaaaaay hard, and most of the rewards are really not that interesting....I think one thing that could potentially be accomplished pretty nicely though with a new set up would be the ability to really develop some kind of actual story and push players through it with quests (and more varied quests would actually give players things to RP about)....Maybe we could even have some RP quests of sorts.
Post 7: Daizaburo · 2010-05-30 01:25 UTC
I agree that a sort of story quest would be nice, especially in getting players to move from area to area with purpose. I also think that "repeated" quests like finding the Uchuukage's hat in each area would be a decent way to keep people interested.
Nakamura and I were talking about a way to improve the mission system. We were thinking of a system inspired by Elder Scrolls IV (Oblivion), wherein a table of status messages is made for each quest/mission and the qbits reference which of those should be shown to a player when he checks his mission status. Each one would remind the player of what needs to be done for the mission(s) they currently have. It would be nice to be able to keep track of multiple missions at once.
For example, if I have taken on a mission to find the Uchuukage's hat and another to kill a bandit leader, I could check my mission status and it would show me both statuses. Once I got the hat, the status would update to tell me to whom I should give the hat. A mission could also have multiple stages with this system, like having to find a key to gain access to the bandit encampment in order to kill the bandit leader.
Post 8: Ichiro · 2010-05-30 15:28 UTC
I'm not sure that having more qbits involved in missions is a good idea. It can work, but it can also seriously not work (i.e. Isamashii village quests). I know there are definitely some quests that would already be pretty conducive to that, but I don't know that all quests should necessarily be changed to work with that. I think a better way of saying it is that the missions that do have multiple stages would work a lot better with missions like this, and also make it more viable to put in multi-stage missions.
Post 9: Daizaburo · 2010-06-03 00:54 UTC
Ichiro wrote:
I'm not sure that having more qbits involved in missions is a good idea. It can work, but it can also seriously not work (i.e. Isamashii village quests). I know there are definitely some quests that would already be pretty conducive to that, but I don't know that all quests should necessarily be changed to work with that. I think a better way of saying it is that the missions that do have multiple stages would work a lot better with missions like this, and also make it more viable to put in multi-stage missions.
You wouldn't necessarily need to keep the part of the code that allows the removal of qbits, but if you're coding the mprogs properly in the first place that shouldn't happen.
Post 10: Gatz · 2010-06-23 17:52 UTC
Updated the first post with a rough draft of the mission system.
Post 11: Nakamura · 2010-06-25 06:22 UTC
On the whole this system looks wonderful, the change function is a good way to "update the mission" like Daiza and I were talking about. and the concurrent function is also handy, if a mission would require the full attention of the player.
Another addition could be a timer function. So for a mission, there could be time limits to finding a missing object, or to deliver a package. Another fun thing to add on to victory would be a hidden field, so the player, when looking up the mission, couldn't see the parameters of completion.
On the player end, how would this mission system be shown? Maybe through a shiny list, with mission name, ID# and rank? And when the player enters "mission " the mission name, desc, rank, and victory conditions pop up?
some thing like: (command: missions)
<------------Missions List-------------> <----Rank---->
| Ryo's Knife (ID#: 12) | | D |
| Shinai Parts (ID#: 7) | | E |
<--------------------------------------> <------------>
and (command: missions Ryo's knife / missions 12)
Mission Name: Ryo's Knife Rank: D
Description: Ryo has tasked you with retrieving
his order from the blacksmith. Ask
the blacksmith about the knife.
Victory: Talk to the blacksmith about Ryo's knife.
Just a thought :)
Finally, what would the difference be between:
Gatz wrote:
if missionComplete($n) == "Mission Name"/#
if missionFinished($n) == "Mission Name"/#
Post 12: Gatz · 2010-06-25 14:13 UTC
Nakamura wrote:
Finally, what would the difference be between:
Gatz wrote:
if missionComplete($n) == "Mission Name"/#
if missionFinished($n) == "Mission Name"/#
One is missions finished and the reward is received from the mission office, the other is a mission which is complete but not finished because the player has yet to return to the mission's office.