Difference between revisions of "MB Sharing"

From WikiManual
Jump to: navigation, search
(still trying to figure out how to post bot code)
m (Fixed typos)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Share commands
+
A bot can share substances with another bot if they are connected a through tie. There are DNA commands that allow sharing of energy, slime, shell, and waste.  These are called ''sharing commands''. They can be useful for multibots trying to keep the members of their multi-celled organism alive and well.
  
A bot can share things with another bot if they are connected through tie. There are DNA commands that allow sharing of energy, slime, shell, and waste.  
+
== The commands ==
 +
Share commands and the effects
 +
*sharenrg - This lets bots share [[energy]]. There is no need to address a specific tie reference number, since I'll be sharing from all bots I'm permanently tied to. The number stored in here becomes the percentage of total energy that I receive. The values possible are in the range [1,99]. This command is commonly executed by parasites and tiefeeders. Although the command says 'share', in the case o tie feeders and parasites, it is more like 'steal' than 'share'.
 +
*sharewaste - This lets bots share [[Waste]].
 +
*shareshell - This lets bots share [[shell]].
 +
*shareslime - This lets bots share [[slime]].
  
 +
== Example ==
  
--------------------------------------------------------------------------------
+
Suppose there are two bots connected by a tie. First bot has 40 waste (or any other shared material) and the second one has 60. If first bot executes command
 
 
Share commands Command Effect
 
sharenrg This lets bot share energy. There is no need to address a specific tie reference number. The number stored in here becomes the percentage of total energy that I receive.  
 
sharewaste This lets bot share waste.  
 
shareshell This lets bot share shell. Individual bots within multibots are allowed to have twice as much shell as singlebots.
 
shareslime This lets bot share slime. Individual bots within multibots are allowed to have twice as much shell as singlebots.
 
 
 
  
Example
+
10 .sharewaste store
  
Suppose there are two bots connected by a tie. First bot has 40 waste (or any other shared material) and the second one has 60. If first bot executes command
+
Then the total amount of waste (100) will be redistributed so that the first bot receives 10% of that total. The final outcome is that the first bot will have 10 waste and the second bot will have 90 waste.
  
10 .sharewaste store
+
== Uses ==
then the total amount of waste (100) will be redistributed so that the first bot receives 10% of that total. The final outcome is that the first bot will have 10 waste and the second bot will have 90 waste.
 
Uses
 
  
 
A useful way to use these with combat bots is shown below.
 
A useful way to use these with combat bots is shown below.
  
cond
+
cond
 
+
*.multi 1 =
<nowiki>*</nowiki>.multi 1 =
+
start
 
+
99 .sharenrg store
start
+
.sharewaste inc
 +
stop
  
99 .sharenrg store
+
In this gene 99% of the total energy is taken by a bot. This is useful to feed in case a bot accidentally becomes a MB while tie feeding.
  
.sharewaste inc
+
The code ".sharewaste inc" forces the enemy to take 99% of the attacker's [[waste]], which is useful to dump waste without having to shoot it away.  Also, plants will convert this waste to energy over time, allowing bots to recoup some energy.
  
stop
+
Optionally, you can selectively force inverse sharing through certain ties:
  
In this gene 99% of the total energy is taken by a bot. This is useful to feed in case a bot accidently becomes a MB while tie feeding.
+
cond
 +
*.trefeye *.myeye !=
 +
start
 +
.sharenrg .tieloc store
 +
1 .tieval store
 +
stop
  
The code ".sharewaste inc" forces the enemy to take 99% of the attacker's [[waste]]. Useful to dump waste without having to shoot it away, also plants will convert this waste to energy allowing the bot to recoup some energy.
+
This code will check if the tied bot is non-friendly, and then store the value 1 in its .sharenrg memory location.

Latest revision as of 21:41, 14 February 2014

A bot can share substances with another bot if they are connected a through tie. There are DNA commands that allow sharing of energy, slime, shell, and waste. These are called sharing commands. They can be useful for multibots trying to keep the members of their multi-celled organism alive and well.

The commands

Share commands and the effects

  • sharenrg - This lets bots share energy. There is no need to address a specific tie reference number, since I'll be sharing from all bots I'm permanently tied to. The number stored in here becomes the percentage of total energy that I receive. The values possible are in the range [1,99]. This command is commonly executed by parasites and tiefeeders. Although the command says 'share', in the case o tie feeders and parasites, it is more like 'steal' than 'share'.
  • sharewaste - This lets bots share Waste.
  • shareshell - This lets bots share shell.
  • shareslime - This lets bots share slime.

Example

Suppose there are two bots connected by a tie. First bot has 40 waste (or any other shared material) and the second one has 60. If first bot executes command

10 .sharewaste store

Then the total amount of waste (100) will be redistributed so that the first bot receives 10% of that total. The final outcome is that the first bot will have 10 waste and the second bot will have 90 waste.

Uses

A useful way to use these with combat bots is shown below.

cond
*.multi 1 =
start
99 .sharenrg store
.sharewaste inc
stop

In this gene 99% of the total energy is taken by a bot. This is useful to feed in case a bot accidentally becomes a MB while tie feeding.

The code ".sharewaste inc" forces the enemy to take 99% of the attacker's waste, which is useful to dump waste without having to shoot it away. Also, plants will convert this waste to energy over time, allowing bots to recoup some energy.

Optionally, you can selectively force inverse sharing through certain ties:

cond
*.trefeye *.myeye !=
start
.sharenrg .tieloc store
1 .tieval store
stop

This code will check if the tied bot is non-friendly, and then store the value 1 in its .sharenrg memory location.