The Euphoria Pixel Bot Project

The Pixel Bot Specification




Contents


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 ...

  • All walls of the arena are drawn in grey.

  • A maze exit point, if one exists, is a single bright green pixel.

  • A teleportation point, if any exists, is a single dark green pixel.

  • A bright red line indicates a laser attack from one Pixel Bot on another.

  • Pixel Bots are allocated a variety of other colours; usually a non-cloned or parent Pixel Bot will have a bright colour and any clones will have the same, but darker, colour. If there are a large number of Pixel Bot varieties in the arena at the same time then the colours may not match the scheme described exactly.

    Non-cloned and parent Pixel Bots will leave a trail of grey pixels behind them so they, and their progress, can be quickly identified.

  • A damaged Pixel Bot will be shown as a dark red pixel.


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




Site Navigation

  Home Page
  What's New
  Search
  Add Bookmark
  Have Your Say
  Guestbook



The Pixel Bot Specification © 1999-2003, The Happy Hippy


First published sometime before Tuesday the 16th of November, 1999
Last upload was on Tuesday the 23rd of September, 2003 at 19:28:45