MBB_block_complex - SUD Solutions

Document Sample

```					Minecraft - Molecular Binder Block (MBB) Idea 1                                            (note: this spreadsheet should be open
Created by DrRobster (02/03/11)

Proposal: create a new type of block which increases the resistance level of other blocks within a given radius of the new bloc
Binder Block, or MBB). The block would have a new property called a Binding Coefficent which is a measure of how much the
the world around it (measured via the Binding Field Intensity in any given location). The Binding Coefficient can be increased
MBBs, thus increasing the field intensity, and also the radius of the area affected).

It is suggested that the area effect follow an inverse square law type of relationship. This will allow for 'pockets' to be created
level of blocks will be enhanced but the volume of space affected will be limited (thus preventing large parts of the world from

Possible formula for calculating Binding Field Strength at a given location
(Inverse square law, compare to Newton's law of Universal Gravitation)

At any given location the strength of the Binding Field can be calculated using the following formula:

y
BFS = BC / r                    Where:                BFS = Binding Field Strength
BC = Binding Coefficent
r = distance from Molecular Binding Block (measured in blocks)
y = exponent (i.e. the power to which r is to be raised)

And the resistance of any block within the volume of space influenced by an MBB can be calculated using:

Enhanced block resistance = Default block resistance + (Default block resistance * BFS)

Therefore the effect the MBB has is effectively as a resistance multiplier, the effect of which is inversely proportional to to th

Example
The following example demonstrates how the MBB algorithm would work in the game.

Enter the Binding Coefficient value here                 1,000      (Table of block resistances updates automatically)
Enter the value of the exponent y                         1.5       (Table of block resistances updates automatically)

Table showing Binding Field Strength with distance r
(based on user-defined values for BC and y above)

r values
1                  10           100        1,000      10,000
BFF         1000            31.6227766        1       0.031623     0.001

Table of Block Resistances - existing and enhanced
Note that the data below relates to 1 MBB block only. Composite MBBs would increase the enhanced resistance effect
Enhanced resistance vs. distance from MBB (distances in blocks)
Default   Resistance value when r =
Block     Resistance         1              10           100      1,000       10,000
Cobblestone         30          30,030           979            60        31          30
Glass         4           4,004           130            8          4           4
Sandstone          3           3,003            98            6          3           3
Obsidian      6000        6,006,000        195,737        12,000    6,190       6,006
etc

The graph below demonstrates the effect of the MBB on the resistance level with increasing distance from the MBB
The graph shows that at close distances the resistance of blocks is greatly enhanced, however this effect quickly diminishes
with distance and can effectively become zero very quickly (note that the results are plotted on a log-log graph in order to ke

Graph
Log-log graph showing variation of block resistance with distance

10,000,000

1,000,000
Block resistance

100,000

10,000

1,000

100

10

1
1            10             100            1,000          10,000
Distance r from MBB

In order for this system to work in the game the designers would have to tweak the values for the Binding Coefficient and exp
in order to derive a system that gives sensible results (i.e. that add to rather than detract from the gameplay. However the fo
given above should be flexible enough to allow the field effects of the MBB to be tweaked in order to give satisfactory results

Implementing the system in-game
It many not be practical for the game server to constantly calculate the MBB field strength constantly for all x,y,z coordinates
so a more economic method might be to wait until a player places a block at a given x,y,z coordinate and then to calculate th
at that specific coordinate at that moment in time. This value is then assigned to the block (say to a variable called MBB_field
value is then used to calculate the resistance of that block should someone try to mine/destroy it.

MBB_field_strength is also updated whenever the nearest MBB is upgraded or degraded, i.e. the server scans the surroundin
spreadsheet should be opened using Excel 2007 or later)

given radius of the new block (called a Molecular
a measure of how much the block is able to affect
Coefficient can be increased by creating Composite

w for 'pockets' to be created in which the resistance
large parts of the world from becoming indestructible).

ured in blocks)

versely proportional to to the distance from the MBB

s automatically)
s automatically)

nced resistance effect
ance from the MBB
s effect quickly diminishes
log-log graph in order to keep the scaling sensible)

Cobblestone
Glass
Sandstone
Obsidian

e Binding Coefficient and exponent y
e gameplay. However the formula
er to give satisfactory results).

antly for all x,y,z coordinates in the game world
ate and then to calculate the field strength
o a variable called MBB_field_strength ). This

server scans the surrounding area for blocks that are
Minecraft - Molecular Binder Block (MBB) Idea 2

The previous idea might be somewhat complicated to implement in the game due to the non-linear nature of the MBB field e
A simpler version based on a boolean variable stored within each block. The principle would simply be that when a player pla
block the server determines whether or not that block is within the area affected by the nearest MBB. If it is then the a block
multiplier is activated. If not then the block resistance is left at the default value.

When/if MBBs are upgraded/degraded then the server scans the area affected by the MBB field and updates any blocks with

In the simplest implementation of this method there would be no decrease in MBB field strength with distance, it would simp
to a given distance and then zero after that. The field is simply a way of activating the higher resistance values of any block w
Several examples of how this might work in-game are given below

Example 1 - placing blocks
Blocks placed here is within MBB field and
has higher resistance

MBB Here

Blocks placed here are outside the M
field and have default resistance

Purple area = field effect extent

Example 2 - extending the extent of the MBB
MBB Here

Block is now inside field affect and

Original extent of field effect

Enhanced extent of field effect

Example 2 - decreasing the extent of the MBB

MBB Here

Block is now outside field affect and

Reduced extent of field effect

Previous extent of field effect

The algorithm which calculates the extent of the field could be much simpler in this version, i.e. just take the current leve
and multiply it by a given amount (could depend on the existing level) which then determines how many blocks in any di
field effect extends for.

How much to increase resistance by?
The increase in resistance could either be based on an algorithm, e.g. default resistance squared or some such approach,
Pre-defined values might work best as it would all the system to be tweaked in terms of playability. For instance you mig
such as sand, cobblestone etc to be affected as this would make mining difficult, but you might want manufactured block
Players could then choose to construct any permenant buildings out of only those blocks that are affected by the MB fiel
nature of the MBB field effect.
be that when a player places a
B. If it is then the a block resistance

updates any blocks within that field accordingly.

th distance, it would simply be the same value out
nce values of any block within the field

MBB field and

ed here are outside the MBB
d have default resistance
inside field affect and has

ow outside field affect and has

just take the current level of MBB block
ow many blocks in any direction the

d or some such approach, or on pre-defined values.
ity. For instance you might not want basic blocks
want manufactured blocks such as stone to be affected.
e affected by the MB field.

```
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
 views: 0 posted: 2/26/2012 language: pages: 8
How are you planning on using Docstoc?