Difference between revisions of "Content:DB Milestone"

(Created page with "==INTRODUCTION== '''DB Milestone 2''' is an effort to take all the knowledge we learned from data in Milestone 1, all the features we implemented, and advancements in log parsing...")
 
Line 1: Line 1:
==INTRODUCTION==
+
== Introduction ==
'''DB Milestone 2''' is an effort to take all the knowledge we learned from data in Milestone 1, all the features we implemented, and advancements in log parsing and design a much more thorough database for release. This development cycle will be extremely process-oriented, controlled, and monitored for accuracy by our development staff and Beta Testers. Our goal is to achieve the best gaming experience possible for the features currently implemented.
+
'''DB Milestone 2''' is an effort to take all the knowledge we learned from data in Milestone 1, all the features we implemented, and advancements in log parsing and design a much more thorough database for release. This development cycle will be extremely process-oriented, controlled, and monitored for accuracy by our development staff and Beta Testers. Our goal is to achieve the best gaming experience possible for the features currently implemented.  
  
 
While the Content Design team is building the World, the C++ developers will continue to implement new features, with respect to how it impacts the Content being worked on. Ie., we will not globally change entire systems after you have finished a zone.
 
 
 
==TASKS==
 
 
The Tasks of DB Milestone 2 will be more detailed than in previous content design, because now we are more sure of what we want. Adherence to these processes is absolutely mandatory -- no "renegade" zone building will be allowed. Do it how we instruct, or please don't do it at all.
 
The Tasks of DB Milestone 2 will be more detailed than in previous content design, because now we are more sure of what we want. Adherence to these processes is absolutely mandatory -- no "renegade" zone building will be allowed. Do it how we instruct, or please don't do it at all.
 
Details on each of these tasks can be found in their associated KB Articles, but here is the overview:
 
  
  
===RAW DATA===
+
== Task: Database Designer ==
Raw Data is what we pull from the collected packet logs. This data is 90% accurate and will be used as-is. However, there are many, many duplicates and other forms of redundant data that are unnecessary in the packet log collections that must be cleaned up. This is the job of the Database Designer (John Adams). By the time the Content Design team enters a zone, most of the Raw Data cleanup should already be done, and what you are left with is a workable, functioning zone filled with raw content.
+
Raw Data is what we get from the collected packet logs. This data is 90% accurate and will be used as-is. However, there are many, many duplicates and other forms of redundant data that are unnecessary in the packet log collections that must be cleaned up. This is the job of the ''Database Designer''. By the time the Content Design team enters a zone, most of the Raw Data cleanup should already be done, and what you are left with is a workable, functioning zone filled with raw content.
  
  
 
'''Data Designer tasks are''':
 
'''Data Designer tasks are''':
*Collect packet logs and process with PacketParser.
+
*[[DataDesigner:RAWData#Processing_Packet_Logs|Process packet logs]] using the PacketParser tool
*Analyze RAW data to ensure accuracy
+
*[[DataDesigner:RAWData#Analyze_RAW_Data|Analyze RAW data]] to ensure accuracy
*Clean up any inconsistencies (key violations in database)
+
*[[DataDesigner:RAWData#Verify_RAW_Data|Verify RAW data]] (zones, prepare for populate)
*Populate the World Database with the raw data (packetparser -populate command)
+
*[[DataDesigner:RAWData#Populate_World_Database|Populate World Database]] with the raw data (packetparser -populate command)
*Verify data in destination database
+
*Initial "[[DataDesigner:RAWData#Initial_Cleanup|population control]]" pass through zone using spawn Clean Up scripts (DB Editor)
*Enable spawn names, targeting, and other flags to ensure content team can "see" all non-static zone content
+
*[[DataDesigner:RAWData#Enable_RAW_Zone|Enable RAW Zone]] for content team to enter (otherwise, RAW zones are '''*locked*''')
*Initial "population control" pass through zone using spawn Clean Up scripts (DB Editor)
 
*Enable cleaned, Raw zone for content team to enter (otherwise, RAW zones are '''*locked*''')
 
 
 
  
===CONTENT DESIGN===
+
== Task: Spawn Design ==
 
A Content Designer (aka, Zone Builder) must take the raw content that remains, and turn an otherwise lifeless zone into a functioning playground.  
 
A Content Designer (aka, Zone Builder) must take the raw content that remains, and turn an otherwise lifeless zone into a functioning playground.  
  
  
====NPCS====
+
=== NPCs ===
 
NPCs are the humanoid, interactive spawns in a zone that players communicate, accept quests from, and engage in combat with. The Content Designer's tasks for NPCs are:
 
NPCs are the humanoid, interactive spawns in a zone that players communicate, accept quests from, and engage in combat with. The Content Designer's tasks for NPCs are:
  
Line 46: Line 36:
  
  
====OBJECTS====
+
=== Objects ===
 
Objects are things like Statues, Rocks, Fences, generally objects in the zone that are not interacted with. Along with verifying most of the same information as with NPCs regarding placement and appearance:
 
Objects are things like Statues, Rocks, Fences, generally objects in the zone that are not interacted with. Along with verifying most of the same information as with NPCs regarding placement and appearance:
 +
  
 
*Verify position, [u]size[/u], heading of all Zone objects
 
*Verify position, [u]size[/u], heading of all Zone objects
Line 54: Line 45:
  
  
====SIGNS====
+
=== Signs ===
 
Signs are usually found on sign posts, hanging over doors, and are the main triggers for zoning in EQ2Emulator (ie., click on a door which is actually a "sign" and you zone to a new location).
 
Signs are usually found on sign posts, hanging over doors, and are the main triggers for zoning in EQ2Emulator (ie., click on a door which is actually a "sign" and you zone to a new location).
 +
  
 
*Verify Sign text/descriptions are accurate
 
*Verify Sign text/descriptions are accurate
 
*Check the sign "type" is set (Generic = a sign on a wall/post, Zone = a zone point)
 
*Check the sign "type" is set (Generic = a sign on a wall/post, Zone = a zone point)
*Verify heading/location information is set properly
+
*[[DataDesigner:Signs#Heading_.26_Location|Verify Heading/Location]] information is set properly
 
*Remove duplicates, or spawn new signs where one may be missing from the collection
 
*Remove duplicates, or spawn new signs where one may be missing from the collection
 
*If a Zone sign, verify zone_id and destination x,y,z coordinates
 
*If a Zone sign, verify zone_id and destination x,y,z coordinates
  
 +
=== Widgets ===
 +
Widgets are interactive objects in the world, such as Doors or clickable objects for quests/triggers, etc. The biggest issue with doors is the open/close coordinates are off, or backwards. Due to a math flaw in the parser/population routines, 50% of our doors are wrong and must be fixed.
  
====WIDGETS====
 
Widgets are interactive objects in the world, such as Doors or clickable objects for quests/triggers, etc. The biggest issue with doors is the open/close coordinates are off, or backwards. Due to a math flaw in the parser/population routines, 50% of our doors are wrong and must be fixed.
 
  
 
*Verify open and close heading of doors.
 
*Verify open and close heading of doors.
Line 73: Line 65:
  
  
====GROUND SPAWNS====
+
=== GroundSpawns ===
 
The tasks for Ground Spawns are the same as all the above, with NPCs, Objects, Signs and Widgets. Ground Spawns can not only be harvesting nodes, but also quest items you pick up from the ground.
 
The tasks for Ground Spawns are the same as all the above, with NPCs, Objects, Signs and Widgets. Ground Spawns can not only be harvesting nodes, but also quest items you pick up from the ground.
 +
  
 
*Evaluate ground spawn requirements for a given area (ie., 10x10 space)
 
*Evaluate ground spawn requirements for a given area (ie., 10x10 space)
Line 83: Line 76:
  
 
   
 
   
====LOOT====
+
== Task: Loot Design ==
 +
 
 +
 
 +
== Task: LUA Scripting ==
 +
LUA.
 +
 
 +
*SpawnScripts
 +
*SpellScripts
 +
*QuestScripts
 +
*ItemScripts
 +
*ZoneScripts
 +
 
 +
 
 +
== Task: Spells Designer ==
 +
Spells.
  
====SCRIPTING====
+
*Spell Data
 +
*Spell Effects
 +
*Spell Scripting
  
  
 
(this document is incomplete)
 
(this document is incomplete)

Revision as of 19:39, 5 August 2011

Introduction

DB Milestone 2 is an effort to take all the knowledge we learned from data in Milestone 1, all the features we implemented, and advancements in log parsing and design a much more thorough database for release. This development cycle will be extremely process-oriented, controlled, and monitored for accuracy by our development staff and Beta Testers. Our goal is to achieve the best gaming experience possible for the features currently implemented.

The Tasks of DB Milestone 2 will be more detailed than in previous content design, because now we are more sure of what we want. Adherence to these processes is absolutely mandatory -- no "renegade" zone building will be allowed. Do it how we instruct, or please don't do it at all.


Task: Database Designer

Raw Data is what we get from the collected packet logs. This data is 90% accurate and will be used as-is. However, there are many, many duplicates and other forms of redundant data that are unnecessary in the packet log collections that must be cleaned up. This is the job of the Database Designer. By the time the Content Design team enters a zone, most of the Raw Data cleanup should already be done, and what you are left with is a workable, functioning zone filled with raw content.


Data Designer tasks are:

Task: Spawn Design

A Content Designer (aka, Zone Builder) must take the raw content that remains, and turn an otherwise lifeless zone into a functioning playground.


NPCs

NPCs are the humanoid, interactive spawns in a zone that players communicate, accept quests from, and engage in combat with. The Content Designer's tasks for NPCs are:

  • Verify spawns are in their proper positions (static spawns, x,y,z,heading)
  • Verify spawn appearances - that their colors/equipment are reasonable to what is in EQ2 Live
  • Move wandering spawns into a logical "starting position"
  • Delete duplicates of those wandering spawns that might have been re-captured across multiple packet logs
  • Consolidate spawns that have level, size, or appearance differences*
  • Build Spawn Groups (multi-spawn parties) of 2-6 NPCs and/or Boss encounters
  • Verify the right-click "entity commands" for each spawn ID is accurate to it's tasks
  • Build entity command menus for spawns that have alternate options
  • Assign NPCs special Equipment, Skills and Spells so they behave according to EQ2 Live standards
  • Assign Spawn Scripts (see SCRIPTING below)


Objects

Objects are things like Statues, Rocks, Fences, generally objects in the zone that are not interacted with. Along with verifying most of the same information as with NPCs regarding placement and appearance:


  • Verify position, [u]size[/u], heading of all Zone objects
  • Delete duplicates of static Objects, like tents, sign posts, statues, etc.
  • When object placement/correction is done, disable name, attack, targeting, level, etc.


Signs

Signs are usually found on sign posts, hanging over doors, and are the main triggers for zoning in EQ2Emulator (ie., click on a door which is actually a "sign" and you zone to a new location).


  • Verify Sign text/descriptions are accurate
  • Check the sign "type" is set (Generic = a sign on a wall/post, Zone = a zone point)
  • Verify Heading/Location information is set properly
  • Remove duplicates, or spawn new signs where one may be missing from the collection
  • If a Zone sign, verify zone_id and destination x,y,z coordinates

Widgets

Widgets are interactive objects in the world, such as Doors or clickable objects for quests/triggers, etc. The biggest issue with doors is the open/close coordinates are off, or backwards. Due to a math flaw in the parser/population routines, 50% of our doors are wrong and must be fixed.


  • Verify open and close heading of doors.
  • Elevators/Lifts are not parsed properly, and must be setup.
  • Verify coordinates (x,y,z), location and heading settings of all doors/clickables
  • Build functionality of levers and switches


GroundSpawns

The tasks for Ground Spawns are the same as all the above, with NPCs, Objects, Signs and Widgets. Ground Spawns can not only be harvesting nodes, but also quest items you pick up from the ground.


  • Evaluate ground spawn requirements for a given area (ie., 10x10 space)
  • Setup balanced nodes using spawn combine, and spawn offset locations
  • Build Ground Spawn Items sets and attach to ground spawns
  • Item sets are the 1,3,5,10,rare,imbued and bonus configs
  • Setup node "despawn" timers


Task: Loot Design

Task: LUA Scripting

LUA.

  • SpawnScripts
  • SpellScripts
  • QuestScripts
  • ItemScripts
  • ZoneScripts


Task: Spells Designer

Spells.

  • Spell Data
  • Spell Effects
  • Spell Scripting


(this document is incomplete)