Content:DB Milestone
- Last edited 10 years ago by Vlash Nytefall
Contents
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:
- Process packet logs using the PacketParser tool
- Analyze RAW data to ensure accuracy
- Verify RAW data (zones, prepare for populate)
- Populate World Database with the raw data (packetparser -populate command)
- Initial "population control" pass through zone using spawn Clean Up scripts (DB Editor)
- Enable RAW Zone for content team to enter (otherwise, RAW zones are *locked*)
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
Task: Server Data
There is data the server will not function without. We refer to this as "Core Data". Without this data, appearances or effects will not work, players will not have skills and etc. Below are the categories of Server Core Data, with pages linking to the many different types.
General Server Core Data
This Core data is crtical data that the server will not even start up without. While there are no real checks that the data provided is valid, without this information, EQ2World.exe will die.
This Core data affects the game experience, whether it be appearances, commands the player can utilize, merchant lists, etc. While not mandatory, the gaming experience will be uneventful without this data.
This Core data provides the newly created characters with the proper information on first-world entry. Things like default factions, items, spells, and where the player starts based on race/class combinations. These are otherwise known as "Starting Data".
This Core data are merely pre-configured NPC setups for things like NPC gear stats, spells and skills, furthering the customization of your NPCs. This is not NPC appearance data! See details within this link.
(this document is incomplete)