The following describes what Tel'aran'rhiod behaves like. These
requirements do not necessarily mean we can code this.
Requirement Description
|
Implementation Note
|
The world contains no people except:
- Those who accidentally dream themselves there.
- Those who dream themselves there on purpose.
- Those who use ter'angrials to dream themselves there.
- Those who are there in the flesh.
|
This means that the world must be almost unpopulated and the people
who are there are most likely not in the location they are in the real
world. Code must be written to remove everyone from the world except
those desired for questing purposes.
Challenges for this coding will be:
1) We will not be able create non-unique characters like in
Morrowind, such as "Imperial Guard." Everyone will have to have a
unique ID. Approximately 617 NCP's in Morrowind are non-uniques.
In WOT, we would probably have a lot more.
2) When enabled, each NCP must be checked to make sure they are
not dead before re-enabling. |
| The world looks almost like the real world.
Objects that have been in the real world a long time are very stable and
look the same in the dream world. Objects that haven't been in the
real world long, like letters, vases of flowers, etc may or may not be
found in the same place in the dream world. They may flicker or
come and go. |
We have pretty much decided this will not be the way we have it.
All items will be exactly the same in Tel'aran'rhiod as they are in the
real world. |
| The entire world is located in Tel'aran'rhiod.
Possibly other worlds as well. |
We need our entire gaming world to be duplicated or used to create
an accurate picture of Tel'aran'rhiod. |
| The dreamer can think themselves to anyplace in the
dream world. |
This is obviously not possible. We will probably use the
gateway script and just open it up to all possible locations for
gateways instead of just the places the player is allowed to gate to. |
| The dreamer can walk around anywhere in Tel'aran'rhiod
just like in the real world. |
No special scripting for this. |
| A person can make themselves look like anything they
want. They can wear any clothes they want. |
We probably won't have a menu to allow them to change clothes or
faces. |
| When a person does not have very good control, their
clothing items will flicker and change. |
We can script that the more advanced a person is in the skill the
less clothes change. The less advanced, the more they do.
Clothes will obviously not be controllable, they will be picked by code. |
| A person may not affect anything in the real world by
what they do in Tel'aran'rhiod - except the injury or death of another
in the dream world. |
There are two possibilities with this: 1) we do not let
people pick up anything.
2) we let people pick things up but we don't let them take it
when they leave.
If we chose the second, we will not be able to make them drop it in
the same place they picked it up. We cannot program it so that
they do. Most items are not unique nor can we find the previous
location of an item. So, items may end up in different places.
We could use the function that checks to see if a player changed cells,
although I don't think that works for teleporting which is what we would
do half the time.
If we chose the first, some of the main reasons to go to
Tel'aran'rhiod will be missing. The reading of documents for
spying purposes. The opening of cabinets and drawers to locate
items. |
| Domesticated animals are not found in the dream world.
|
We cannot remove animals and replace them back. Animals do not
have unique names. We could create all domestic animals with
unique names but that would cause problems with respawning for any of
them. |
| Very few people may enter the dream world in the flesh.
Those who enter, usually enter during sleep or a waking trance.
When they wake, they are where ever their body is. |
Since the player can move around anywhere in the dream world, we
must record their location before they enter. Then we must
teleport them back to this location when they exit. Challenges:
- There are many cells in this game. Estimated of over
10,000 exterior and 2,000 interior. Script will need to
check for all the interiors and all the unique named exterior and
region named cells.
- Scripting does not allow for string variables so we must script
each location as a number. The code must go through each line
of code to find the location of the player and record the number in
a variable.
- The x, y, z locations of the player must be stored.
- Scripting must also be created for those cells to teleport the
player back to the right cell. Then they will be relocated to
the stored x,y,z locations.
Pros:
It may be the same code used to store user defined gateway locations.
Besides the fixed locations for gateways, we can also create a number of
slots for user defined locations where the user marks a place when they
are there and can later travel back there. |
| A person can create anything they want with just their
minds. They may create objects, change people's clothes, etc.
It is all non-existent in the real world. |
I see no way we can do this no matter how much code is written. |
| No fires are burning in the dream world. |
This cannot be done without each candle and fire being a unique ID. |
| Lighting is the same as in the world, day or night, but
muted somewhat. |
Proposed to cast a spell that affects the player's eyesight. |
Most likely this code will contain the most amount of scripts for anything in
our mod. Scripts can only contain a limited number of characters. IF
statements may only have so many ElseIf's. This may end up to be 40-100
scripts. Some of the actions, such as marking location, checking for
items, and enable/disable NCP's will require a lot of script to run through.
This may cause a large lag when the script launches.
Testing this will be imperfect. The final set of code for marking cell
locations and teleporting back cannot be finished until all the interior and
exterior cells are complete - at least created and named.
The following details what will be needed to make the world behave like
Tel'aran'rhiod.
Player activates an item that has a script on it. This script launches the
code.
The player will activate the item again. They will be asked if they want to
leave the dreamworld or go to another location. If the player ansers "Yes" to
leave: