|
Design Document: Play With Fire
3.
Environment
3.1.
Components
3.1.1 Blocks
The environment is entirely constructed out
of 1 unit cubes (actually about 4 m per side,
therefore 1 unit = 4 m). These cubes have different colours, and are
textured to resemble specific materials.
3.1.2 Objects
Objects are simply clusters of blocks. For
instance, a vertical column of ten blocks is an object. Four such columns with
a flat plane of blocks across the top is a Table object.
Clearly, because objects are made of cubic
blocks, they are abstract in nature, but the player will still be able to make
out what these objects represent.
3.2.
Gravity
Gravity always pulls blocks and objects
downwards. The gravity value is 10 units per
second per second, with a terminal velocity of 5 units
per second.
Objects fall vertically downwards until any
one of their constituent blocks hits another block underneath then they stop.
This applies, even if the resultant structure would look physically impossible.
As long as there is a block underneath, the object will balance where it is.
3.3.
Types of Block
The following are the types of Block that
all objects are made of:
|
Block Type
|
Block Colour
|
Melt
|
Burn
|
Burn Time
|
Ignition Time
|
|
1:
Leaf |
Green |
No |
1: Yellow Hot |
10 seconds |
0.1 seconds* |
|
2:
Wood |
Brown |
No |
2: Orange
Hot |
15 seconds |
1 second |
|
3:
Coal |
Black |
No |
3: Red Hot |
60
seconds |
1 second |
|
4:
Plastic |
Pink |
2: Orange
Hot |
3: Red Hot |
15
seconds |
1 second |
|
5:
Metal |
Blue |
4: Blue Hot |
5: White Hot |
90
seconds |
1 second |
|
6:
Stone |
Grey |
5: White Hot |
No |
|
|
|
7:
Fire |
Red |
No |
No |
|
|
*In fact, ignites
slower except when exposed to extreme heat.
Note
No block may
ever be at a heat level higher than that shown in its Burn column or Melt
column (whichever is higher).
The following table shows the tints of
blocks when they are melted or burning:
|
Block Type
|
Block Colour
|
Melted Texture
|
Meted Tint
|
Burning Texture
|
Burning Tint
|
|
Leaf |
Green |
|
|
Burning
Leaves |
Yellow |
|
Wood |
Brown |
|
|
Burning
Wood |
Orange |
|
Coal |
Black |
|
|
Hot
Coals |
Red |
|
Plastic |
Orange |
Molten
Plastic |
Orange |
Burning
Plastic |
Red |
|
Metal |
Blue |
Molten
Metal |
Blue |
White-hot
Metal |
White |
|
Stone |
Grey |
Lava |
White |
|
|
3.4.
Burning
3.4.1 Ignition
The temperature at any point in the game
field (for the purposes of checking for ignition) is based upon the
temperatures of the surrounding blocks. The process of determining if any given
block ignites is as follows:
·
Check for neighbouring blocks
of the same material that are on fire, and have been
burning for at least as long as the ignition time. If they exist, the
current block catches fire.
If not, calculate the Effective Temperature
for that block:
·
Burning blocks within 1 unit (including diagonals which are technically 1.4 units away) provide 0.5 of their burn temperature.
·
Burning blocks within 2 units (including diagonals which are technically 2.8
units away) provide 0.1 of their burn temperature.
·
Burning blocks within 3 units (including diagonals which are technically 4.2
units away) provide 0.02 of their burn temperature.
Blocks are only counted
as Burning if they have been on fire for at least as long as the ignition time
for their relevant material.
If the temperature at any given point is
higher than the required temperature for ignition for any given block, it
catches fire (and then burns at the same temperature as its ignition).
Note
The three
parametric values above are the temperature radiation coefficients (TRC1, TRC2
and TRC3). The values given should be considered default values tweaking will
be required.
Ignition takes 1 second. During this time,
the block is considered to be at 0 temperature (not at its burning
temperature). Only once it is alight does it take on its new temperature.
For example, consider the following example
(in 2 dimensions):
0
seconds: The tree begins burning at the centre top
(as indicated by the 1 which is the temperature for burning leaves):
1
second: The neighbouring blocks immediately ignite.
The blocks around have temperature determined only by the originally burning
block:
|
|
|
(1) |
1 |
(1) |
|
|
|
|
|
|
|
0.1 |
(1) |
(1) |
(1) |
0.1 |
|
|
|
|
|
|
0.1 |
0.1 |
0.1 |
0.1 |
0.1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |