wiki:ProtocolOne

Version 14 (modified by jherwitz, 13 years ago) (diff)

--

wiki:ProtocolOne is the Java API which abstracts the Quagents game engine to a simple Java interface. The underlying clientside structure maintains data transmission, reception, and storage, while providing an API of all possible Quagent actions. Currently implemented functions are described below. It is important to note that these functions mirror those defined in wiki:ProtocolZero, with slight syntactic differences. For all functions, a priority '1' indicates a "now" command and a priority "0" indicates a "then" command (this will change to a more intuitive format soon). All server commands and queries return the "commandid", which references the wiki:Command? structure. Compound functions return values as specified.

Live Functions

ProtocolZero Actions

move(double dir, double dist, double speed, int obstacles, int priority)

Moves by dist towards the dir direction at speed quickness. obstacles indicates whether the bot automatically maneuvers past simple obstacles.

move(double dir, double speed, int obstacles, int priority)

Moves indefinitely towards the dirdirection at speed speed. obstacles is as above.

jump(double dir, double speed, int priority)

Jumps in the dir direction at speed speed.

rangeFinder(int type, int range, double rot, double azi, int priority)

Uses the wiki:rangefinder? at a limited range, in the direction specified by the rotational angle and the azimuthal angle. The rangefinder is of the given type (for more information, see wiki:rf).

rangeFinder(int type, int priority)

Uses the wiki:rangefinder? in the current direction, with no limit on distance. Uses the specified type.

rangeFinder(int priority)

Uses the wiki:rangefinder? in the current direction, with no limit on distance. Uses type #1.

rotate(double rot, double azi, int priority)

Rotates the bot by a rotational angle rot and an azimuthal angle azi.

Command Queue management

forgetAllTasks(int priority)

Clears Quagent command queue, acts as a soft "reset".

pause(int time, int priority)

Pauses command queue execution.

pop(int priority)

Pops action off command queue.

skip(int priority)

Skips the next AI game frame. For more information, see wiki:sk.

ProtocolZero Queries

currentHealth(int priority)

Returns Quagent's current health.

maxHealth(int priority)

Returns Quagent's maximum health. Kind of useless.

currentArmour(int priority)

Returns Quagent's current armor. British spelling adds class.

maxArmour(int priority)

Returns Quagent's maximum armor.

canSee(int entityid, int priority)

Returns true if entity can see specified wiki:entityid?. Also returns distance, yaw, and pitch to target.

facing(int priority)

Returns the Quagent's current direction vector.

ProtocolOne Actions (compound functions)

rotateMove(double rot, double azi, double dist, double speed, int obstacles, int priority)

Rotates by rotational and azimuthal angles to face a new direction, then moves in that direction for dist.

rotateMove(double rot, double azi, double speed, int obstacles, int priority)

Rotates by 'rot' and 'azi' to face a new direction, then moves in that direction indefinitely.

rotateFireWeapon(double rot, double azi, int priority)

Rotates by 'rot' and 'azi' to face a new direction, then fires weapon.

moveFireWeapon(double dir, double dist, double speed, int obstacles, int priority)

Moves dist distance in the specified dir direction, then fires weapon.

findMaxiumumDirection(int priority)

Returns the deepest direction as detected by the type 1 wiki:rangefinder?. This values is directly returned by the function.

faceMaximumDirection(int priority)

Finds the maximum direction, and then rotates to face it. Returns nothing

findEntityDirection(int entityid, int priority)

Directly returns the direction of the specified entityid. Returns -1 if nothing found.

faceEntityDirection(int entityid, int priority)

Finds the direction of specified entity, then rotates to face this direction.

showImage(int priority)

Displays a depth mapping representing the bot's current "sight".

Example behaviors