The Pixel Bot World
The Pixel Bot world is the monitor screen; every pixel on it represents a
location in that world.
This world is the arena in which Pixel Bot's exist and is controlled by an
Arena Program with which Pixel Bots communicate to determine what they can
see and to let them move around the arena.
Each location ( or pixel ) of the Arena can be occupied by something; a Pixel
Bot, a wall or a finishing point for a Pixel Bot trying to navigate a maze.
By using such a simple representation of the Pixel Bot World, and by choosing
a simple colour scheme, it is easy to represent the Pixel Bot world in terms
that a user can perceive.
The Pixel Bot World Representation
When the Arena program is executed; the arena is drawn on the screen. It is
important to understand what the various coloured objects are that are drawn
on the screen ...
The Pixel Bot
The Pixel Bot is an entity that lives in the Arena and occupies a single pixel
on the screen.
Each Pixel Bot has its actions defined by a program that examines its
surroundings and takes action upon what it sees.
Pixel Bots may also clone themselves using either the same algorithm as the
original or they may follow a different algorithm or goal altogether.
The Pixel Bot's Goal
The goal of a Pixel Bot depends upon the Arena in which it exists.
In some Arena it may be that the Pixel Bot has to be the first to reach an
exit point in a maze, in others it may be to battle other Pixel Bots in order
to be the last one standing. It may also simply exist as an entity that just
wanders around the Arena trying to show how clever it is.
Pixel Bots may be designed for one particular task or they may be designed for
any number of tasks; the ultimate Pixel Bot will be one that is able to work
out for itself, without any help from the Arena program, what is is meant to
do and do it well.
The Arena program will stop when the arena scenario is completed; that is a
Pixel Bot finds a maze exit or it is the last Pixel Bot standing. Note that
any clones of a Pixel Bot are ignored in this determination of having
completed the scenario; only a non-cloned, or parent, Pixel Bot can complete
the goal set.
Observation
Each Pixel Bot is fitted with two sensors; a line-of-sight sensor that
will detect the nearest object directly in front, behind or to its left or
right and a long range scanner that can be used to determine the distance
to other Pixel Bots.
Movement
The Pixel Bot, if it is moving, can only move forward. It can however turn
through 90 degree intervals and can therefore travel vertically or horizontally
to any accessible place in the Arena by turning and moving forward.
A Pixel Bot can only move forward one pixel each time it is allowed to have a
go at doing smething.
If a Pixel Bot steps onto a teleporter ( if any exists ) then it will be
teleported to one of the pixels that is adjacent to another teleporter; where
the Pixel Bot ends up and the direction in which it ends up facing may be
entirely random.
Weapons
Each Pixel Bot is fitted with a line-of-site laser that can be fired only in
the direction that the Pixel Bot is facing. The laser can only be used to
damage other Pixel Bots and cannot damage walls, maze exits or teleporters; it
is not possible to fire the laser into a teleporter and out of another.
The laser has a power-cell that charges up over time and is zeroed when
the laser is discharged; the laser can therefore only be fired once every time
the Pixel Bot gets a chance to perform some action.
The range of the laser, and the damage done to any Pixel Bot attacked, will
depend upon the charge and how far away the attacked Pixel Bot was when the
laser was fired.
Pixel Bots that are attacked are informed that they have been attacked and can
determine which Pixel Bot undertook the attack; they may therefore take steps
to avoid that particular Pixel Bot or commence a retaliatory vendetta.
In some scenarios it may not make sense to allow Pixel Bots to attack each other
and, for those cases, the Arena program will prevent the lasers from becomming
charged, thus preventing their use.
In other scenarios the Arena program may permit lasers to become charged up but
their use will cause damage to the Pixel Bot discharging its weapon not what it
considers to an opponent.
It is up to each individual Pixel Bot to determine which type of scenaria they
are operating within.
Pixel Bot Health
Every Pixel Bot has a measure of its health, 0% to 100%.
Each Pixel Bot starts with 100% health and will retain that level unless it is
attacked and damaged by another Pixel Bot.
The Arena program may also cause damage to occur should a Pixel Bot walk into
a wall, another Pixel Bot or some other object without checking that it can
move beforehand.
Some Arena programs may chose to lay mines that will cause damage if stepped
upon.
Omce a Pixel Bot's health level falls below a certain threshold it will be
unable to move although it will be able to perform all other functions such
as scanning its surroundings, firing its laser and sending out messages to
other Pixel Bots ( "Help !", springs to mind ).
The health level of each Pixel Bot increases over time and a damaged Pixel Bot
will eventually recover providing it is not under a continuous barrage of
attacks. Each Pixel Bot is able to determine its own health level.
An Arena program may allow a Pixel Bot to continue to exist even if its health
level drops to 0% or it may chose to remove it from the Arena; this will allow
battle-to-the-death scenarios to be implemented.
A Pixel Bot that has been cloned is also able to kill ( and remove from the
Arena ) clones of itself if it so desires; this is useful if it has cloned a
droid that it wishes to hunt down and attack ( to see if the Arena program
allows the laser to be used or if firing the laser would cause damage to
itself ) and the clone's existence then becomes unnecessary.
Communications
A fairly complex messaging system exists that allows Pixel Bots to communicate
with each other.
Communications are done by co-operation; a Pixel Bot can elect to listen for
or ignore messages from a specified Pixel Bot and a Pixel Bot can attempt to
send a message to a specifed Pixel Bot. Unless the message sent from a Pixel
Bot to another is being listened for by the other; the message will not get
through.
There is also a Global Message Channel where any messages sent to this channel
is delivered to all Pixel Bots that are listening to that channel.
When a Pixel Bot is first registered it will not listen for any messages until
it specifically elects to do so.
Only the format for messages sent to the Global Message Channel is defined; this
must be a text string consisting only of printable and space characters.
Any other messages sent directly between Pixel Bots may be any format that they
choose to understand and can consist of simple text messages through to blocks
of data representing areas of the arena that they have explored.
Although this powerful messaging system exists; it will often be unnecessary to
use it as Pixel Bot clones will be able to commuicate with each other using
shared data within the Pixel Bot program itself.
|
The Euphoria Pixel Bot Project TM
|
© 1998, 1999, The Happy Hippy
|