cz.cuni.amis.pogamut.ut2004.agent.navigation.loquenavigator
Class LoqueRunner

Package class diagram package LoqueRunner
java.lang.Object
  extended by cz.cuni.amis.pogamut.ut2004.agent.navigation.loquenavigator.LoqueRunner
All Implemented Interfaces:
IUT2004PathRunner

Deprecated.

@Deprecated
public class LoqueRunner
extends Object
implements IUT2004PathRunner

Responsible for direct running to location.

This class commands the agent directly to the given location. Silently tries to resolve incidental collisions, troubling pits, obstacles, etc. In other words, give me a destination and you'll be there in no time.

Precise jumper

Most of the incident running problems and troubles can be solved by precise single-jumping or double-jumping. This class calculates the best spots for initiating such jumps and then follows jump sequences in order to nicely jump and then land exactly as it was desired.

Pogamut troubles

This class was supposed to use autotrace rays to scan the space and ground in from of the agent. However, results of depending on these traces were much worst than jumping whenever possible. Therefore, no autotrace is being used and the agent simply jumps a lot. Some human players do that as well. See runToLocation(cz.cuni.amis.pogamut.base3d.worldview.object.Location, cz.cuni.amis.pogamut.base3d.worldview.object.Location, cz.cuni.amis.pogamut.base3d.worldview.object.Location, cz.cuni.amis.pogamut.base3d.worldview.object.ILocated, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPointNeighbourLink, boolean, boolean) for details.

Speed

The agent does not ever try to run faster than with speed of 1.0 as it is used by most of body.runTo*() methods. Anyway, speeding is not available to common players (AFAIK), so why should this agent cheat?

Focus

This class works with destination location as well as agent focal point. Since the agent can look at something else rather than the destination, this running API is also suitable for engaging in combat or escaping from battles.

Author:
Juraj Simlovic [jsimlo@matfyz.cz]

Field Summary
protected  AdvancedLocomotion body
          Deprecated. Agent's body.
protected  UT2004Bot bot
          Deprecated. Agent's bot.
protected  Logger log
          Deprecated. Agent's log.
protected  AgentInfo memory
          Deprecated. Loque memory.
protected  Senses senses
          Deprecated. Base agent's senses.
 
Constructor Summary
LoqueRunner(UT2004Bot bot, AgentInfo agentInfo, AdvancedLocomotion locomotion, Logger log)
          Deprecated. Constructor.
 
Method Summary
 void reset()
          Deprecated. Initializes direct running to the given destination.
 boolean runToLocation(Location fromLocation, Location firstLocation, Location secondLocation, ILocated focus, NavPointNeighbourLink navPointsLink, boolean reachable, boolean forceNoJump)
          Deprecated. Handles running directly to the specified location.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bot

protected UT2004Bot bot
Deprecated. 
Agent's bot.


memory

protected AgentInfo memory
Deprecated. 
Loque memory.


body

protected AdvancedLocomotion body
Deprecated. 
Agent's body.


log

protected Logger log
Deprecated. 
Agent's log.


senses

protected Senses senses
Deprecated. 
Base agent's senses.

Constructor Detail

LoqueRunner

public LoqueRunner(UT2004Bot bot,
                   AgentInfo agentInfo,
                   AdvancedLocomotion locomotion,
                   Logger log)
Deprecated. 
Constructor.

Parameters:
bot - Agent's bot.
memory - Loque memory.
Method Detail

reset

public void reset()
Deprecated. 
Initializes direct running to the given destination.

Specified by:
reset in interface IUT2004PathRunner

runToLocation

public boolean runToLocation(Location fromLocation,
                             Location firstLocation,
                             Location secondLocation,
                             ILocated focus,
                             NavPointNeighbourLink navPointsLink,
                             boolean reachable,
                             boolean forceNoJump)
Deprecated. 
Handles running directly to the specified location.

Pogamut troubles

Reachchecks are buggy (they ignore most of the pits). Autotrace rays are buggy (they can not be used to scan the ground). Now, how's the agent supposed to travel along a map full of traps, when he is all blind, his guide-dogs are stupid and blind as well and his white walking stick is twisted?

There is only one thing certain here (besides death and taxes): No navpoint is ever placed above a pit or inside map geometry. But, navpoint positions are usually the only places where we know the ground is safe. So, due to all this, the agent tries to jump whenever possible and still suitable for landing each jump on a navpoint. This still helps overcome most of the map troubles. Though it is counter-productive at times.

Specified by:
runToLocation in interface IUT2004PathRunner
Parameters:
fromLocation - location we're running from, may be null
firstLocation - Location to which to run.
secondLocation - Location where to continue (may be null).
focus - Location to which to look.
reachable - Whether the location is reachable.
navPointsLink - if we are traveling between two NavPoints connected by a link, we will receive the link with movement information here
forceNoJump - runner MUST NOT jump
Returns:
True, if no problem occured.


Copyright © 2015 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.