Difference between revisions of "Creating Large Worldspaces"

2,550 bytes added ,  16:12, 20 January 2011
Lots of fact fixes and readability improvements.
imported>Bruneauinfo
imported>Bruneauinfo
(Lots of fact fixes and readability improvements.)
Line 90: Line 90:
Save this .esp. You will probably want to name this .esp something similar to the name of the new worldspace. Now define your worldspace in the CS (World > World Spaces > New, give it a name and adjust the settings as desired within that window (you can change climate and water settings later, map will come last (none of these are covered in this primer))). Don't create any terrain for this worldspace quite yet, just have it defined. Save the mod again. Although this may seem a bit redundant, some aspects of the heightmap editor (notorious for being problematic as you probably know) don't work particularly well when working on a worldspace which has not been saved (it's a memory thing); saving the mod records the definition of the worldspace within the .esp, so it is more stable (or something). Now you can begin within the heightmap editor.
Save this .esp. You will probably want to name this .esp something similar to the name of the new worldspace. Now define your worldspace in the CS (World > World Spaces > New, give it a name and adjust the settings as desired within that window (you can change climate and water settings later, map will come last (none of these are covered in this primer))). Don't create any terrain for this worldspace quite yet, just have it defined. Save the mod again. Although this may seem a bit redundant, some aspects of the heightmap editor (notorious for being problematic as you probably know) don't work particularly well when working on a worldspace which has not been saved (it's a memory thing); saving the mod records the definition of the worldspace within the .esp, so it is more stable (or something). Now you can begin within the heightmap editor.


====Using the Heightmap Editor====
====Using the Heightmap Editor Part 1====


Below are some notes and methods to help make your new worldspace creation happen as efficiently as possible. The following took several weeks of testing and trials to discover and was written here to save you a lot of time. Keeping these points in mind will help get your mod finished with the least amount of time and frustration.   
Below are some notes and methods to help make your new worldspace creation happen as efficiently as possible. The following took several weeks of testing and trials to discover and was written here to save you a lot of time. Keeping these points in mind will help get your mod finished with the least amount of time and frustration.   


*During initial heightmap generation only work on 4 quads at a time. Blending between sets of quads can be done later. Plan your work as you go so that you can match your heightmap elevations between work sessions. But perfection is not required at this point.  
*During heightmap generation only work on 4 quads at a time. If your worldspace will be larger than 4 quads the blending between sets of quads can be done later. Still you should try your best to plan your work as you go so that you can match your heightmap elevations between 4-quad work sessions. Take notes on edge elevations if your heightmap will extend beyond the edge of a quad, where rivers will meet up in bordering quads, and where mountain ranges begin and end. Perfection is not required at this point as most errors can be resolved later. But the more care you take now the easier it will be to make these corrections later.  


*The greatest number of errors (rips) on a texture are created in the hightmap editor where land is not properly blended before saving the texture. Any large, abrupt changes in elevation are prone to tearing. These are indicated by hard lines between two colors. There should be no hard lines left on your texture in the hightmap editor when you save it. Make sure all hard lines are blended with either the blending tool or the noise tool. Your finished work should look like it was applied with a paint sprayer.
*The greatest number of errors (rips) on a texture are created in the hightmap editor where land is not properly blended before saving the texture. Any large, abrupt changes in elevation are prone to tearing. These are indicated by hard lines between two colors. There should be no hard lines left on your texture in the hightmap editor when you save it. Make sure all hard lines are blended with either the blending tool or the noise tool. Your finished work should look like it was applied with a paint sprayer.
Line 100: Line 100:
*Additionally, in reference to the above note tears can be prevented at the exterior perimeter of your New World by blending the last few cells into the water rather than having the land just suddenly stop and drop off. Blending can be done with the blending tool or with the noise tool depending on the terrain type you want at these locations.
*Additionally, in reference to the above note tears can be prevented at the exterior perimeter of your New World by blending the last few cells into the water rather than having the land just suddenly stop and drop off. Blending can be done with the blending tool or with the noise tool depending on the terrain type you want at these locations.


*If your worldspace is 4 quads or less you may not need to worry too much about blending the perimeter and so can neglect the edges of your worldspace. The edges can be hidden by leaving a buffer of about 3 cells between the edge of your quads and playable regions. However, you should still take note you may want to come back and generate dummy terrain so your world will have LOD terrain extending into the distance beyond your created worldspace. Also, when working on your worldspace with the landscape editor you may notice decreased performance as the Render Window tries to load terrain at the edges of your world where there are rips and other errors. It might be worth your time to go ahead and at least fix any errors that occur outside your playable worldspace with the Landscape Editor.  
*If your worldspace is 4 quads or less you may not need to worry too much about blending the perimeter and so can neglect the edges of your worldspace. The edges can be hidden by leaving a buffer of about 3 cells between the edge of your quads and playable regions. However, you should still take note you may want to come back and generate dummy terrain so your world will have LOD terrain extending into the distance beyond your created worldspace. Also, when working on your worldspace with the landscape editor you may notice decreased performance as the Render Window tries to load terrain at the edges of your world where there are rips and other errors. It might be worth your time to go ahead and at least fix any errors that occur outside your playable worldspace with the Landscape Editor. So to prevent these errors altogether just follow the previous bullet note and blend those edges in the Heightmap editor.  


*A common location for errors to occur in the heightmap error is at 0,0 as well as at the centers like 32,32 -32,-32 64,64 etc. These errors can show themselves repeatedly each time their heightmap area is saved.  
*A common location for errors to occur in the heightmap is at 0,0 as well as at the centers - like 32,32 -32,-32 64,64 etc. These errors can regenerate themselves repeatedly '''each time their heightmap area is saved'''.


*For World Spaces larger than 4 quads: When blending the borders between quads in the landscape editor it isn't necessary to to blend these perfectly to your finished specifications. Getting a good finished product can be just as time consuming in the landscape editor as it is in the heightmap editor with all of its seeming random error generation. Here is the suggested methodology keeping in mind the rest of the article's instructions:
*After finishing work on your first 4 quad heightmap you should save your mod in the CS and follow the directions in the following two sections.  


1 - Design and finish the layout of 4 quads <br /><br />2 - Save in the heightmap editor <br /><br />3 - Make error corrections in the landscape editor, save in the CS, and create .esm with TES4Gecko<br /><br />4 - Start new .esp and design/finish the layout of the next 4 quads <br /><br />5 - Save in the heightmap editor <br /><br />6 - Make error corrections in the landscape editor, save, and merge with the .esm <br /><br />7 - Repeat above steps designing additional quads following this pattern and merge <br /><br />8 - After all heightmaps are created and merged start a new esp <br /><br />9 - Edit the borders in the heightmap. Multiple esps will be required for large worlds. Merge each "border-edit" esp with the esm as they are created. Also as you edit the borders scan the heightmap you're working on for errors and fix them as you go. These will appear as sharply contrasted squares/rectangles. <br /><br />10 - After all borders are edited use the landscape editor to correct errors in conjunction with the heightmap editor. DO NOT make corrections with the heightmap editor at this time, and DO NOT save any more textures in the heightmap editor. At this time you will only use the heightmap editor for finding errors in your textures. Make the actual corrections using the landscape editor. Merge with the esm.
====Converting Your ESP to an ESM====


==== The World You Have Created ====
When working on large Worldspaces you should convert your .esp to an [[Glossary#E|.esm]] regardless of how you intend to release your mod. There are two reasons for this:


When testing your .esm, always have it loaded in the 01 index so that extra steps (in particular moving worldspaces and removing vwd references from trees) aren't needed in order to get an idea of what the terrain really looks like. If you don't know how to do this, you may wish to take a few moments with [[Oblivion Mod Manager]] or [[Wrye Bash]] to learn how to manage your load order. If placing your .esm in the 01 index interferes with other mods, you may just want to create a new character with only your worldspace active and just cheat your way to this space.
*Due to limitations in the CS, and potentially your system, working on too many cells can lead to instability and frequent crashing. The more cells a worldspace has, the more the CS has to load into memory while you're working. ESP files larger than 40mb (8 quads) usually cannot be loaded in the CS without some sort of error popping up. Even if you are only using 4 quads for your worldspace and plan to release an .esp, it is still suggested you use a .esm during creation so you can take advantage of the benefits this format offers.


As a sort of brief summary of this whole article so far - use TES4Gecko to convert the worldspace.esp mod to an .esm. As you continue to make modifications to your worldspace do so in the form of additional .esp files that are then cleaned and merged with the worldspace.esm file. When it comes time to create the ''content'' (quests, buildings, NPCs, items, dungeons, etc) this information will be saved in an .esp that is based on and requires both your worldspace.esm file as well as the oblivion.esm file loaded. If you are making changes to the vanilla worldspaces you will keep those changes in a separate .esp file that you will '''never''' merge with your .esm file. When you have finished work on the ''content'' .esp you will merge the ''content''.esp into the worldspace.esm with TES4Gecko.
*By using an .esm you always retain a backup of the worldspace at the last point of merging (more on merging in the next section). Your .esm file is after all just a series of .esp files merged together. So if you screw something up horribly while heightmapping, you don't have to start from scratch. This doesn't mean you shouldn't make backups of your .esm files. It's just a handy feature of .esm files.
 
Keep in mind that if your new worldspace project will make changes to a worldspace located within another .esm - like for example the vanilla Oblivion worldspaces located in Oblivion.esm - those changes must be kept in an .esp file rather than an esm. Otherwise odd errors and undesirable behaviors will occur in the game. (Essentially, not following this guideline wipes out all non-persistent objects in the edited worldspace.) So, if your worldspace will be saved in an .esm file, and your mod will makes changes in a worldspace in another .esm, your mod will require a separate and additional .esp for any changes you intend to make to any .esm-based worldspaces. An .esm CAN safely link to another .esm's interior cells, and it CAN include scripts to place objects/NPCs into another .esm's worldspace without using an .esp - '''as long as''' these changes do not actually make edits to the worldspace directly. Still to be safe you should try to make all these types of changes in an .esp that will remain an .esp at release time.
 
*Once you have trees and other content, you will also need to clear out all the VWD flags for your worldspace using TES4Edit in order for your worldspace to show correctly when loaded anywhere other than the 01 index. You would need to do this cleaning after every change which adds more trees, but thankfully, you only need to clean out those things which were added/moved. (Note: This final note has still not be verified in recent testing.)
 
====Using the Heightmap Editor Part 2====
 
For worldspaces larger than 4 quads when blending the borders between 4-quad sections in the landscape editor it isn't necessary to to blend these perfectly to your finished specifications. Your only goal is to fix tears - i.e. the errors. Getting a good finished product can be just as time consuming or more in the landscape editor as it is in the heightmap editor with all of its seeming random error generation. Here is the suggested methodology:
 
1 - Design and finish the layout of 4 quads <br /><br />2 - Save in the heightmap editor <br /><br />3 - Make error corrections in the landscape editor, save in the CS, and create .esm with TES4Gecko<br /><br />4 - Start new .esp and design/finish the layout of the next 4 quads <br /><br />5 - Save in the heightmap editor <br /><br />6 - Make error corrections in the landscape editor, save, and merge with your worldspace.esm <br /><br />7 - Repeat above steps designing additional quads following this pattern and merge <br /><br />8 - After all heightmaps are created and merged start a new esp <br /><br />9 - Edit the borders in the heightmap. Multiple esps will be required for large worlds. Merge each "border-edit" esp with the esm as they are created. Also as you edit the borders scan the heightmap you're working on for errors and fix them as you go. These will appear as sharply contrasted squares/rectangles. <br /><br />10 - After all borders are edited use the landscape editor to correct errors in conjunction with the heightmap editor. DO NOT make corrections with the heightmap editor at this time, and DO NOT save any more textures in the heightmap editor. At this time you will only use the heightmap editor for '''finding''' errors in your textures. Make the actual corrections using the landscape editor. Merge with the esm.
 
==== Testing the New Worldspace ====
 
When testing your .esm always have it loaded in the 01 index so extra steps (in particular moving worldspaces and removing vwd references from trees) aren't needed in order to get an idea of what your new worldspace actually looks like. If you don't know how to do this you may wish to take a few moments and read up on [[Oblivion Mod Manager]] or [[Wrye Bash]] and learn how to manage your load order.
 
If placing your .esm in the 01 index interferes with other mods you may just want to create a new character with only your worldspace active. Then create a temporary plugin that allows you to get to your new worldspace.  


=====Notes=====
=====Notes=====


*For a particularly large worldspace, you have no option other than using .esm format for release, and will need to make adjustments related to this as far as connections, quests, and LOD data is concerned.
*An example exploration plugin: create a door in the Imperial Prison cell where you start the game that teleports you to a door in your new worldspace. Just make sure you don't merge this .esp file with your esm. It might also be handy to drop a horse in your new worldspace using this same temporary plugin so you have something to explore the terrain with. Make sure you give ownership to the Player so the horse doesn't run off when you dismount.  
 
*Keep in mind that within an .esm you cannot have any changes to a vanilla worldspace (even placing a door in a vanilla exterior) without causing the landscape to get screwed up. In other words no .esm can edit anything from a worldspace located in another esm. Doing so will essentially wipe out all non-persistent objects in that worldspace. However, any esp can safely edit any worldspace that is located in any esm or any worldspace that is located in any esp. So, if you're going to make changes to a vanilla oblivion worldspace or a worldspace located in an esm from another mod it is safest to keep that content and those changes in an .esp file. It is okay, of course,  if these changes are intermixed with other functions and features of your mod. You just want to be sure you don't allow changes to a worldspace located in an esm to make their way into your .esm file. Keep them in an esp. Otherwise odd errors and undesirable behaviors will occur in the game.


*Once you have trees and other content, you will also need to clear out all the VWD flags for your worldspace using TES4Edit in order for your worldspace to show correctly when loaded anywhere other than the 01 index. You would need to do this cleaning after every change which adds more trees, but thankfully, you only need to clean out those things which were added/moved.
*Keeping this plugin handy can also help when testing regions later in this article. You can move your door and horse to various locations around your worldspace as you generate your region test areas.  


== Region Generation ==
== Region Generation ==
Line 161: Line 175:


This not the only way of generating dummy terrain, but is probably the most straight-forward. Another method likely exists if you are using several playable worldspaces within a non-playable parent worldspace, as a means of unifying them all together, but this can become rather difficult to manage.
This not the only way of generating dummy terrain, but is probably the most straight-forward. Another method likely exists if you are using several playable worldspaces within a non-playable parent worldspace, as a means of unifying them all together, but this can become rather difficult to manage.
====Article Summary====
As a sort of brief summary of this whole article so far - use TES4Gecko to convert the worldspace.esp mod to an .esm. As you continue to make modifications to your worldspace do so in the form of additional .esp files that are then cleaned and merged with the worldspace.esm file. When it comes time to create the ''content'' (quests, buildings, NPCs, items, dungeons, etc) this information will be saved in an .esp that is based on and requires both your worldspace.esm file as well as the oblivion.esm file loaded. If you are making changes to the vanilla worldspaces you will keep those changes in a separate .esp file that you will '''never''' merge with your .esm file. When you have finished work on the ''content'' .esp you will merge the ''content''.esp into the worldspace.esm with TES4Gecko. 




Anonymous user