CTP Design Document
Documentation and discussion on our releases.

Moderators: Winterhawk99, Mermut, Bannor Bloodfist, Black Rider

Locked
User avatar
Bannor Bloodfist
Posts: 1309
Joined: Fri Oct 09, 2009 11:45 pm
ctp: Yes
dla: Yes
TBotR: Yes
nwnihof: Yes

CTP Design Document

Post by Bannor Bloodfist »

Special Thanks to Banshe for compiling this documentation together from all sorts of initial planning documents for the CTP Project:
---------------------------
Note: Some changes have been made to this document since it's initial creation as changes to the CTP project required them.
---------------------------
[center]CTP DESIGN DOCUMENT
[/center]
OBJECTIVES:

1) To compile a selection of custom content created by the NeverWinter community into a standardized selection of Tilesets to be universally employed by the community.

2) To provide quality content to the community and to reduce to the greatest possible extent the potential for conflicts with other custom content.

3) To allow users the ability to customize this content to better suit the needs of their particular project. Furthermore, to make that customization manageable by less experienced toolset users.




DESIGN PHILOSOPHY:

The Community Tileset Pack was founded in order to mirror the efforts of the Community Expansion Pack by extending the range of universally used community made content to include NeverWinter Tilesets.

In doing so, we wanted to create as wide a range of Tilesets as we could to broaden the options available to the builder as much as possible. We attempted to create a list of Tilesets that encompassed the most popular Tilesets, an offering of unique and specific Tilesets and even a few obscure Tilesets from the NeverWinter Vault. Our goal has always been to provide the content and let the building community take this content to new levels.

Furthermore, with many new exciting projects on the way in the community (CODI , DLA, PRC), we tailored the layout and design of the CTP haks to best accommodate the unique requirements of the individual builder to the greatest degree possible. Not only have we constructed the CTP to allow for toolset users to customize our product, the CTP is also designed to allow for users to pick and choose which Tilesets they would like to use.

Therefore, to maximize our exposure to the building community we have attempted to make the CTP usable by as many categories of builders as possible. We have grouped the building community into the two most relevant categories that we had to consider when creating the CTP: builders who use their own Tileset haks and those builders who do not use Tileset haks. As this document will hopefully show, we have endeavored to make the CTP as user friendly as possible by both groups.

Luckily for us, the ?most? relevant factor is not the level of completion of a particular builder?s project as both an old established Persistent World and a newly created one can use our product. However, we do believe that the oldest and largest established Persistent Worlds will likely have the greatest difficulty assimilating the CTP so we have made every effort to alleviate their possible troubles.




DESIGN FEATURES:

Reducing Conflicting Resources:

We have attempted to eliminate the potential for conflict within our Tileset offering. Please see the ?Known Issues? section for a summary of conflicts that we are not able to resolve. Here are the steps we have taken to resolve some of the major issues we have encountered:

Naming structure:

We have incorporated what we hope is to be a unique naming structure for our files in order to reduce conflicts between CTP files, Bioware files and Custom Content files. Instead of the standard file naming prefix for Tilesets: "xxxNN" (x= Letters, N=Numbers), we have used "xxxxN".

As a further step, we have established the following:

All our files begin with "t" then "c". As in "tcxxN".

"t" for Tileset
"c" for CTP
?xx? a letter combination to reflect that specific tileset.
?N? a number, usually 0 (Zero) but may possibly be incremented higher

Instructions will be included for the benefit of the Custom Content community that will instruct them not to use this naming convention to prevent conflict.

No Interdependence between Tilesets:

As part of our quality control efforts, we have made every effort to reduce the interdependence of our Tilesets. Therefore, with the exception of the files in our shared hak (explained in the ?Hak List? section), each Tileset is independent from the other Tilesets in the CTP. This is best shown by example: Our Moria Tileset includes texture, model and wok files. All of these files have the prefix "tcmo0" (except minimaps which are "micmo0"). There are no other files in the CTP with this prefix (except the Moria set and itp files). A second example covers our expansions of Bioware Tilesets: SoU Desert. This Tileset contains all the Bioware original files (texture, mdl, wok etc.) with prefix "ttd01". Any other models, woks and textures included by us in this Tileset have the prefix "tcdt0" (and for minimaps "micdt0"). For potential conflicts within the Bioware Tilesets see the "Bioware fix? hak in the ?Hak List? section. The greatest benefit to us in making these Tilesets independent is that it enables us to add texture packs to the Tilesets.

Customization:

We want to accommodate those builders who have very specific needs when it comes to content that they may use in their projects. In order to do this, we have opted to use the most basic control files for the CTP. Rather than employing a ?.tlk? file to control the CTP, we are instead relying on the more basic ?.set? and ?.itp? files. We made this decision in order that the less experienced builders will only have to learn the rudimentary workings of the Tileset control files in order to make it suit their needs. To help these builders, we will be offering a separate optional download called the ?Builder?s Toolkit? which will contain files that they can use as well as tutorials on how to make their own files. All the builder?s custom files will be placed in their own hak file and placed at the top of the hak list. To give an example, we have four Rural Tilesets containing custom content made by the community (Rural Wilderness, Rural Village, Oriental Rural and DOA?s Rural/ City Builder Base). The content from each of these can be combined into a single Tileset which would be massive to the point of becoming almost unusable. (The DOA builder base has some restrictions on this due to height differences).

Another example would be a choice offered to builders with regards to our expansions of the Bioware Tilesets. Those who have an existing project and use their own hak expansions of the Bioware Tilesets can opt to make our expansion a separate Tileset (i.e. for Underdark: ?tcuk0?). Those with new projects can make our Tileset an expansion of the Bioware Tileset (i.e. for Underdark: ?ttu01?).

Lastly, a builder can remove content from our ?.set? and ?.itp? files by placing his own version of these files in an overriding hak. Our goal here is to make it simple for the user to modify the CTP to his liking.

Types of Haks:

We have two fundamental types of Tileset haks, those that have expanded the Bioware Tileset by adding more content and completely new custom made haks which include original Tilesets. In addition to these two fundamental types, we have texture pack haks which, when added to the Toolset Hak list, change the textures used by a Tileset and we have basic function haks used to control the CTP and to address certain issues.




Bells and Whistles:

In order to create excitement about our CTP project, we have gone farther than just collecting pieces of content from the NeverWinter Vault and assembling it together. We believe we have quite a talented and dedicated staff on board who have provided some unique content for our Tileset Compilation. Aside from the ?Builder?s Toolkit? which enables user customization of the CTP, we have also created a fair amount of content ourselves. This new content consists of:
  1. New Models: A number of CTP-only models are scattered throughout our Tilesets.
  2. New Tilesets: A few of our Tilesets were made by re-skinning and recombining existing content on the NeverWinter Vault that have produced completely new and innovative Tilesets for the building community.
  3. Texture Packs: As our Tilesets are completely independent of one another, we have produced a number of texture packs that create a completely different look for any given Tileset. This, in my humble opinion, is where the ?magic? of the CTP really lies. Not only can a builder change the appearance of a Tileset without affecting other Tilesets but they can also affect these changes in a live Persistent World.



Community Involvement:

It is our belief that by making the CTP as user friendly and customizable as possible, we hope to encourage members of the community to expand on our offering of Tilesets and texture packs. More specifically, we see this happening in the customization of the control files for the CTP (i.e. community members offering their own versions of the CTP ?.set? and ?.itp? files). Another area of community involvement is more custom content additions to our Tilesets. Lastly, we hope that members of the talented pool of artists within the community will create more texture packs for use with the CTP. In the future updates of the CTP, we will be doing all three of these.

CTP Bioware Fix: There are a handful of original NWN files that created some minor issues for us that we wanted to address. One of the issues would be textures. There are some City Exterior models that use Rural Tileset textures, for instance. As we are striving for mutually independent Tilesets, we have corrected these files ourselves as it is part of the CTP design mandate.

FUTURE UPDATES AND PATCHES: When the times comes to address updates and patches to the CTP, this is how we intend to do it (based on the type of update):

Additional Content: New Tileset: These will be delivered as a separate .hak file. The ?control? hak will also be replaced with a new ?control? hak containing the information files for the new Tileset.

New Texture Pack: These will be delivered as a separate .hak file.

New Content for an existing Tileset: We will not be replacing the existing hak for the particular Tileset with new content. Instead, all new content for all existing Tilesets will be bundled into a single hak. The ?control? hak will be replaced with a new ?control? hak containing the information files that include the new content.

Patches: The type of files in the patch will determine the manner of their integration into the CTP. Any fixed control files (2da, .set, .itp etc.) will be added into a new ?control? hak that will overwrite the user?s ?control? hak. Model, Wok and other files of this type will go into the ?patch? hak that can be added to the builder?s hak list.

After the initial version of the CTP is released, when we issue a ?ctp_patch? hak, it can be overwritten by each successive patch. Essentially the first time we have a model, wok etc file to be fixed.

Also, for new content for existing Tilesets we will be adding a ?ctp_addcont? hak which also can be overwritten by successive versions.

KNOWN ISSUES: Despite our best efforts, we know that we will have some conflicting resources between our Bioware expansion Tilesets and other content out in the community. As our Bioware Expansion Tilesets are based on the models, wok and textures used in the Bioware Tilesets, conflict is inevitable. We have found Bioware Tileset textures in CEP placeables, Bioware textures are also used throughout many of NeverWinter Vault?s Custom Content. Any modifications of Bioware models and woks will also be potential sources of conflict here. So this is certainly a vulnerability that we have identified. However, this issue can not be further resolved without either remaking every hak file on the Vault or redistributing our own copy of all the NWN Tileset files. However, we don?t expect this to be much more than a minor nuisance in the majority of cases where it may appear.

The second area of conflict that we have identified is 2da files. Our primary goal here is to make our 2da files compatible with the other larger projects within the community such as DLA, CODI and CEP as well as to update our 2da files with each Bioware patch.

These are our primary concerns as we hope our ?customization? feature will allow individual builders to overcome whatever issues they encounter specifically. Texture resource conflicts may result in some users being unable to use our Texture Packs.

Locked