Jump to content

[Concept] Dynamic Quests/Objectives - Phase II/III


Recommended Posts

Please note that this is a Phase II feature and will not have much work done on it at the present, but is one of the major stops on the road to a completed Phase II and beginnings of Phase III.  As a result it also going to be subject to a lot of refinement as development goes on, decisions are made and new ideas come forth and does not in any way represent a final decision.

 

Using mainly LUA based scripts, we will transition away from using hard coded game modes for objectives as is done in JKA (eg: TFFA, CTF, Siege) to complete a matches objective.  There will be primarily two game mode types: Free Play and Versus Play.  The difference between the two is mainly whether or not they are short term or long term.  See below for more details on each.  Each game mode will have dynamic quests/objectives which can be completed within the larger frame work of the match goal.  These may also be a whole game mode in of themselves, but are technically underneath accomplished via only completing lua objectives.  Currently the game hard codes certain actions, such as transporting a CTF flag from an enemy base back to your own in order to score points.  This will no longer the case with Dynamic Objectives.  This means that where you should be delivering the flag to can change on the fly, as well as the method of delivery (you might have to actually give it to an npc through dialogue actions, rather then just standing on a flag dropping area).  Using scripting we'll be able to also modify objectives as you progress through a "quest".  As an example consider the following (note again, this doesn't represent an actual quest being implemented in JKG, but an example of one):

 

 

 

You start a quest called, "Steal the Imperial Deathstar Plans".  You can begin this quest by talking with a rebel npc named "Rebel Quest Giver".  He will ask you if you'd like to begin the "Deathstar Plan Quest".  If you select yes, this changes the Quests status to "Stage 1" (quests by default are set to stage 0, meaning you haven't started them).  The NPC will then inform you that you need to go the Imperial base and take the deathstar plans off of the Imperial General's desk in his office.  He also tells you he'll give you some map data with the bases location.  When the quest moves to Stage 1, the game adds an objective goal marker on the imperial base (such as a flag) to your map.  In addition your Datapad journal reveals the Steal Imperial Deathstar Plans quest and reveals the Stage 1 data (a brief summary of what Rebel Quest Giver told you).  The game normally hides all datapad journals not yet started, unless you begin the quest and that quest's stage is set to a stage > 0. 

 

 

If you reach the Imperial Base on the indicated location, upon coming within a certain distance of the coordinate marker, the game will move the quest to the next stage (Stage 2).  For stage 2, the lua script is supposed to spawn an npc named "Thief" just inside the doors of the imperial base.  It will then show him running out of the building and into the distance.  A few second later, a pair of stormtroopers will also be spawned and follow him and disappear.  Finally an npc named "Imperial General" will move from his usual location in the base to the doorway, look at the player and open up a dialogue.  He will tell the player that thief just stole some very valuable data from them, and he will pay you to bring it back to him and give you a bonus if you kill the Thief too.  You can then choose to accept or decline his offer.

 

If the player accepts, the quest will set the stage to "Stage 3 - ACCEPT".  If the player declines, the quest will set the stage to "Stage 3 - DECLINE".  If set to Stage 3 - ACCEPT, the game will change the objective marker to the npc "Thief"'s location and update your datapad with "Looks like a thief stole the deathstar plans from the General's desk before I could get there, I've been offered credits if I bring it back to the Imperial General along with proof of killing the Thief."  Otherwise it is set to, "Looks like a thief stole the deathstar plans from the General's desk before I could get there, I better take it back from him somehow and bring it to Rebel Quest Giver".  etc.  As you can see things will vary depending dynamically on the player's decisions.  I won't bother finishing the quest here, but you can imagine where it might go.  Maybe the thief offers to let you join his guild if you let him go, or the thief is really attractive and you decide to start attempting to woo them, or you kill them and take it, or pay them credits for it, etc.  Each decision tree will have an eventual "Final Stage" point at which point the quest ends and you are awarded something (credits, xp, items/equipments, etc.)  This also marks it as complete in your datapad.

 

 

 

This example is obviously targeted at one particular player, but Quests could easily include other players.  We could for example reimplement traditional game modes like capture the flag this way.  (Bring flag y to x location, get awarded when you do so).  Some of these types of quests would obviously loop and never be "completed".  Datapad quest completion data would be stored by the server you are currently playing on, and eventually in later phases (Phase 3 and 4) this will be transitioned to being stored on the master/account server, rather then just on the planet server.  This will allow quest data to be persistent and will tie into an account system and character database.

 

LUA Objectives can also be used to track simpler things such as "Kill 10 players in a row without dying".  These could be implemented as achievements, or kill streak rewards, or both.

 

To give you more of an idea to expect from both gamemode types here's a list:

 

Free Play

  • Open world.  Largish maps, the first to likely be featured will be Mos Eisley.  Hoping to get day/night cycles as well at some point.
  • No goals (this mode is mostly to test game features and new objectives/quests)
  • No teams (All players are neutral by default).
  • Various scattered NPCs with dialogue and some quests (this includes things like shopkeepers/vendors, Jabba the Hutt, Training Droids, Mentors, etc.)
  • Beginnings of a crime system (killing other players/npcs will put you on a team hostile to everyone)
  • Party system (create temporary groups/join groups of players)
  • Character creation (Very very basic, similar to base JKA to begin with)
  • Long term storage (eg: Warehouses/Banks for putting your loot in)
  • Emulate eventual PVE combat
  • Eventually different zones (eg: Cities will be relatively safe, outside of cities will have dangerous creatures/npcs wandering around you can kill)
  • These types of matches represent the typical LMO world the characters live in.

 

Versus Play

  • Based on Phase I Gameplay
  • More game mode options such as Assault, CTF, Faction Wars, VIP, etc. Implemented via LUA, rather than hard coded in
  • Time Limits
  • Teams
  • Achievements???
  • Mostly emulate future PVP combat here
  • Most Server will probably host these types of matches.
  • These types of matches represent "End Game" style conflicts in the eventual LMO, that leveled characters and guilds will participate in.

 

As you can probably tell the two modes will eventually be merged into one, but keeping them separate in Phase II allows us to test various features more easily and focus on building specific parts of the game.  Things will be implemented gradually, and progress will likely be slow, but steady.  Note most of the focus WILL be on Versus Play for Phase II and then shift to Free Play for Phase III.

Smoo, Evian and hleV like this

JKG Developer

Link to comment

Ya i agree completly futza and i would love to develop quests. the best systems i noticed that did something to what you saying was the JEDI RP servers and some lugormod servers. Which would be cool if we can implement features comparable to them, quest design is going to be an amazing thing.

 

In free play i would think that quests should be contested over by opposing teams or players, or something along those lines, but also at the same time having quest zones that are reasonably safe (close to spawn). While more contested zones would give more lootz depending on size and scale of the map. Thats all tenative of course.

I was mentioning to eez a few days back and that i think that having his AI workshop ported into JKG would unlock the possibilities of the quest system (think hostage, and escort quests with the possibility of npc/player skirmish fights). While I know that phase 2+ is a long way off, its gud to be thinking about the debuggin tools first, along with the expansion of the GLUA system when we enter the phase 2 cycle.

To give a bit of a concept of how questing should be I think we should look to other games and what quests do there, here is a small list inspired of what i could think of from games like WoW and ToR (along with few others). I think the glua system + ai workshop should be able to handle these cases in due time.

Quest Types
Multi Slay - Kill npcs (glua spawn, and ++ till count is met)
Boss Slay - kill 1 particular npc ( kill npc with designated name/class)
Gather - collect something meaningful for the npc or yourself (possibly something simular to scizco's credit system in atlantica)
Escort - way pointed npc with possible additional npc spawns/encounters while on route (ai workshop PLZ!)
Race - get to a certian point as fast as possible (with and without veh usage, possibly something like JApro? Eternal + Loda/Videop WHERE YOU AT!?)
Deilvery - bring a package of some sort to destination (can we set "spawn with mins+max" trigger_questcomplete zones with glua? speed hampering with item type in (aci) inventory to make quest more challenging or ally dependant?)
Hostage - protect an npc from onslaught (if npc->name == dead = gg)

Infiltrate - get to an enemy  defended/contest point and return alive with intel/package (similar to delivery but 2 way)

The current system might already be able to handle some cases, but im just throwing low level ideas out there to help further implementation. All gud things come in time : )

Smoo likes this
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
×
×
  • Create New...