|
|
|
Project Overview
|

|
The DDPW (Database-Driven Persistent World)
Project was conceived as a response to the difficulties that were being
encountered by DnD (Dungeons and Dragons) fans who either lacked the
required technical knowledge or simply did not have the massive amount of
time needed to create a decent Neverwinter Nights module which would
take a short two (2) to three (3) hours to play through. A means of
creating adventures and even entire campaigns in a fraction of the time it
normally takes to build them would be an ideal tool to complement the NWN (Neverwinter
Nights) experience. Although the Aurora Toolset is an excellent
tool for module makers and allows for nearly limitless possibilities,
learning and using the toolset often proves to be prohibitively taxing in
both time and effort for most DMs (Dungeon Masters)
|
|
During the course of the project, it eventually
became apparent that the simple randomization of certain elements of quests
became the common pitfall of many "dynamic" quest systems that
have since been released for NWN. The problem with these systems is that
they necessitate the oversimplifying of plot and story lines to accommodate
for the limitations of randomization. Simply put, purely randomized quests
end up churning out stale and repetitive plot lines which lose their
initial attraction very rapidly.
In order to provide interesting and compelling
content, the creative talent of a DM is indispensable. The key is to
provide DMs with powerful tools they can utilize to bring their narrative
ideas to life within the NWN game with minimal investments in time and
effort. Through a great deal of thought and planning, certains tools were
required to achieve the project's goals:
|
|
DMs need to be
able to create conversations which do not only branch, but which can also
garner information from the players (ie Gender, Class, Level) as well as
execute a string of simple events (ie. Cast a Spell, Give Gold, Create a
Creature) without requiring the DM to write and compile additional
Neverwinter Scripts.
|

|
|
This first requirement is fulfilled through the DCE
(Dynamic Conversation Editor). As with all the systems, this is entirely
dependant on a database (specifically mySQL) which is a prerequisite to
utilizing all DDPW systems. The DCE also allows for designers to edit
conversations at runtime without requiring any modifications on the actual
module. This allows for dynamic changes to existing conversations and even
the creation of entirely new conversations without requiring a server
restart or actual access to make modifications to the module proper.
|
|

|
The manipulation
of objects such as the player himself, npcs, creatures, placeables, items,
area of effects, doors, stores, and area triggers is integral to create
plot-forwarding events. Objects must be able to change their function based
on their specific current use. An example would be a chest that a DM could
use to give players a magical dagger during one quest but which could as
easily transform into a black dragon in another mission. Different
blueprints with different scripts is the standard method for most module
builders but a system is needed to allow a more flexible way to assign
events and conditions to certain triggers on a specific object without
being forced to change the physical module.
|
|
This second requirement is fulfilled with the (OTEM)
Object Trigger Events Manager which allows objects to refer to database
entries to determine what events actually occur when certain conditions are
met. Since a database entry can be dynamically changed at runtime, object
events themselves can be easily altered. Take note that area objects were
not included in the list above since the OnExit and OnEnter triggers of an
area can be easily simulated through area trigger events anyway. Also, it
is important to note that heartbeats are not used in this system to avoid
bogging down the server with unnecessary database requests.
|
|
DMs require a
method of “creating” new areas temporarily as the setting for quests and
events. DMs should not be required to meticulously create new areas just to
house events in order to further their plot lines. Instead, DMs will set
specific parameters that will produce the mood and the general feel of the
area in which their events and quests will take place.
|

|
|
Area Generation is
tricky within the context of the Aurora Toolset. It is impossible to
actually generate an area on the fly and then destroy it. Games such as the
Diablo series took pride in their area generators which simply randomized
certain aspects of the map and placed the end destination (where the
objectives were located) at the farthest end of it. The key to simulating a
similar design was not to connect randomized tiles into a single cohesive
map but to create smaller areas which would then be connected dynamically
by selecting areas which fall under certain categories. This is done
through the Outland Generator which is not only responsible for linking
areas together in a cohesive manner but also sets the lighting, music and
sounds, and the decorative aspects of the quest areas. The Outland
Generator utilizes other subsystems such as mob generators, hostile
placeables creator, and the event and task generator to automatically
create the appropriate setting which DMs require.
Of course, these
concepts need to be concretized into a well thought out, user-friendly
front-end interface for DMs to actually use to create content. These tools
are already completed and each of these applications are listed below
together with a link to instructions on how to use them. However, before
learning the tools, it is important to understand the concepts behind
Object Trigger Sequencing Intelligence since it is the basis of the entire
DDPW toolset. After a good grasp of the OTSI has been achieved, it is
recommended that the rest of the individual systems be read up on in the
order in which they appear below to allow for a more structured learning
experience. A list of the Appendixes and their links and descriptions are
also shown below to serve as a reference guide for the various tools.
|
For inquiries
regarding the system, e-mail kosmite@yahoo.com.
The Core Package
containing the a fully functional Dynamic
Conversation Editor and Object Trigger Event Manager is
available for download here.
|
|
System Design and Implementation
|
Object Trigger
Sequencing Intelligence
|
The backbone of the entire DDPW toolset
lies within the simple concept that is referred to as the Object Trigger
Sequencing Intelligence. All the necessary systems that enables a
database driver persistent world to run are based on this simple but
powerful concept. In theory, with the ideal front end, any and all games
can be controlled exclusively through database interaction to the point
where any aspect can be changed at any given time without interrupting
gameplay. A strong understanding of OTSI is necessary before proper use of
the DDPW tools can be expected.
|
|
|
|
DDPW Interface and Tools
|
|
Consolidated DDPW Interface
|
As a result of the
numerous tools that were added during the life of the project, it became
inevitable to consolidate all these interfaces into a single application.
Thus the Consolidated DDPW Interface was born. Not only does it
house all the other DDPW frontend tools, it also integrates them into a
manageable account scheme. A user's account will enable only certain
aspects of the interfaces and assets depending on that account's security
level, hence allowing more designers to add content simultaneously without
administrators needing to worry about manual supervision.
|
|
Dynamic Conversation Editor (DCE)
|
The Dynamic
Conversation Editor is the primary tool in creating almost all dialogue
that will appear within the context of the world. This includes everything
from the local barkeep's descriptions of the local folk to the foreboding
warning of the deranged hermit. Conversations are also the catalyst for
both mundane or pivotal events from the opening of a merchant's store to
bestowing and a epic quest.
|
|
Outland Generator (OG)
|
The Outland Generator
organizes a massive amount of prefabricated areas, monsters, traps, and
decorations in order to create a setting for a grand adventure or to simply
create filler wilderness areas to simulate the players traveling to distant
lands. Within the outland, players can accomplish great feats by completing
dangerous Tasks or simply meet and speak with Dynamic NPCs.
|
|
Quest Allocator (QA)
|
After having created the
proper setting for quests and events, the Quest Allocator allows for
easy management of the connecting relationships between the static aspects
of the Database-Driven World and the procedurally generated outland areas.
|
|
Object Trigger Event Manager (OTEM)
|
Most objects within the
scope of the persistent world will be subject to the Object Trigger
Event Manager. It is the tool that allows for the creation of
dynamic links between creatures, placeables, items, and NPCs, allowing them
to alter their behavior to suit the current situation. With this, the same
floor lever may be made to reveal a secret door which leads to great riches
or cause the collapse of a great underground complex.
|
|
Advanced Task Manager (ATM)
|
The Advanced Task
Manager is used only if the template tasks that are available in the
Outland Generator are no longer sufficient for the needs of the designer.
Coupled with the Object Trigger Event Manager, the ATM allows the designer
to create a virtually unlimited range of custom events and tasks without
ever touching the module proper.
|
|
Decoration Set Manipulator (DSM)
|
Although playing a minor
role in the outland areas, the Decoration Set Manipulator allows the
designer to practice advanced management on placeable decorations that will
appear in outland areas. More importantly, however, the DSM is needed to
add interactive elements to the normally static decorations. With it
resources such as ore and herbs may be gathered by players from trees and
rocks. The more sinister side of the DSM allows for the creation of hazards
such as deadly exploding mushrooms and trapped statues which shoot out
poison arrows at play characters.
|
|
Settlement Assignment and Connector (SAC)
|
The Settlement
Assignment and Connector links connector outlands to the static parts
of the world. Where as the Quest Allocator makes a connection between a
quest and a NPC in town, the SAC allows the designer to designate a proper
"entrance" to the outland to give a seamless transition between
the predefined static areas and the randomized and dynamically decorated
outland areas.
|
|
Crafting Formula Editor (CFE)
|
A non-integral aspect of
the DDPW, the Crafting Formula Editor utilizes the databases
flexibility and ease of data management to create a limitless repository of
formulas which players may tap into to create almost any kind of item
available within the game world.
|
|
Enchantment Recipe Designer (ERD)
|
To complement the
Crafting Formula Editor, the Enchantment Recipe Designer stores a
single or a combination of enchantment properties to be applied to a item
of a specific type. This system was based on the material composition of
said items to add further customization and give added value to expensive
base items.
|
|
Token and Resource Referencer (TRR)
|
The first of two
added tools to supplement the rest of the interfaces, the Token and Resource
Referencer enables designers to quickly obtain special token numbers
which will be outputted based on other dynamic pieces of data that are
obtained through the game during runtime. It is also useful for rapid
look-up of resource references (ResRef) so that creatures, items, and
placeables can be used in the DCE and OTEM without wading through a long,
disorganized list.
|
|
Trigger List Calculator (TLC)
|
A more specialized tool,
the Trigger List Calculator will only be useful if designing static
objects that have dynamic behavior. Intended for advanced users, this will
automatically calculate the Trigger List number which will be read by the
DDPW system in order to efficiently decide whether a object requires a
database query to search for an appropriate sequence of events to execute.
|
Miscellaneous References and
Information
|
Appendix List
|
|
DCE and OTEM Conditional Types List (Appendix A)
|
Appendix A lists, according to type, the conditionals that
are available for both the Dynamic Conversation Editor and the Object
Trigger Events Manager. Information on the usage as well as limitations the
limitations of each conditional type along with any special information are
included in each description.
|
|
DCE and OTEM Event Types List (Appendix B)
|
Appendix B lists, according to type, the events that are
available for both the Dynamic Conversation Editor and the Object Trigger
Events Manager. Information on the usage as well as the limitations of each
conditional type along with any special information are included in each
description.
|
|
Spawner, Sentinel, and Traps Reference (Appendix C)
|
The images of spawners,
sentinels and traps are contained in Appendix C. These are organized
according to their ResRef.
|
|
Task Templates (Appendix D)
|
The Outland Generator
has a few built in task templates which can be used to quickly design the
more common types of objectives normally found in run-of-the-mill quests. Appendix
D describes each template and explains how to use each.
|
|
Special Boss Aura Types Reference (Appendix E)
|
Boss Monsters may or may
not have special auras which not only give them a special edge with the
player party but also add variety and color to quests and campaigns. Appendix
E lists and describes each aura type as well as their progression
details as they rise in Challenge Rating.
|
|
Trigger Types vs. Object Type Listing (Appendix F)
|
Each object type has a
certain list of trigger types which can be manipulated through the OTEM. Appendix
F lists which triggers are available for each of the object types for
easy reference.
|
|
Trigger Actors and Subjects Listing (Appendix G)
|
Each trigger type under
each object type has a default Actor and Subject which may or may not be
obvious to the designer, however, certain trigger types under particular
object types are customizable. Actors and Subjects can be changed for each
individual sequence in order to check information about accessible objects
(ie. The disturbing item when a placeable’s inventory is manipulated). The
information pertaining to this can be found in Appendix G.
|
|
Crafting Placeables Listing
(Appendix H)
|
Appendix H consists of the different crafting placeables,
their functions and some examples of what SHOULD be produced from them. Please
refer to the main DDPW document for a description of each function type.
|
|
Council Factions Reference and Guide (Appendix I)
|
Appendix I contains the twelve (12) factions that make up a
stereotypical fantasy “society”. They are called council factions to imply
multiple power bases that rule over the community, realm, or world that
player characters will exist. Generally, each faction has its own agenda
and its own resources which may play a major or minor role in the lives and
adventures of players. The point of this section is to give a starting
point for which world designers may craft political intrigue and power
struggles, whether declared or covert, within the scope of their campaign.
|
|
Consolidated Tools Account Type Reference (Appendix J)
|
Appendix J lists and describes each of the ten (10) account
types as well as describes the level of their access and what interfaces
they can use.
|
|
|
|