Retrieving Bot location in UT map context

Hi again.

I was wondering whether it is possible to retrieve the planes that are in the UT map, specifically the plane that the bot is standing on or is hovering over.

I want to determine where the bot is relative to the ground underneath it. This I hope to use to determine crouching and jumping, etc. (With regards to Velocity Z parameter, I'm assuming that Z will be affected when the bot is running up or down a slope?)

I couldn't find anything that seemed useful to me in the Javadoc. Hopefully I'm just not looking closely enough :P
Thanks, amazing how fast you can get a reply in here, even on a Sunday :-)

I was hoping to be able to determine the opponents' info as well, though. Any way this is possible?

What do you mean by opponents info?

Anyway - what you're probably seeking is agent module Players, check it out at http://diana.ms.mff.cuni.cz/pogamut_files/latest/doc/javadoc/cz/cuni/amis/pogamut/ut2004/agent/module/sensor/Players.html

This module is specialized on 'players' (that means everybody else - not the bot) information. You have to initialize it inside prepareBot() and use it since botInitialized() method is called.

Next release will bring revolutionary UT2004BotModuleController that will have this (and many more) modules instantiated automatically ;-)


Sorry, that wasn't very clear.

I'm already using the Players class, it is sweet :-)

But I'd optimally like as many of the extra info in the Self class for the opponents as well.
In this case, things like an opponent's FloorNormal is what I'm looking for.

(Again, I'm trying to do behavior imitation and want to know as much about the opponents as possible. Not trying to cheat :-))
Great :-) nice thing to hear that people are using the modules!

This question is more suitable for Michal who is out GB2004 chief (message about UT2004 environment exporter).
He will probably reply in next 24 hours.


Hey, just wondering if Michal has any comments on the latter part of this topic or if I'm out of luck concerning opponent position determination relatively to map geometry.

Sorry, I've overlooked this thread completely last few days. :-)

FloorNormal is currently exported just for the bot himself and not for other players/bots he sees. To get FloorNormal we need to trace a ray in UnrealEngine that is rather costy operation (roughly around 1 ms for one ray) - it is a question if it worth adding to Player message or not.

Now, there are two ways how to get to this variable concerning other players and bots. First way is to connect with ObservingConnection and there you get Self message for the player/bot you are observing. Unfortunately observing connection is not supported much at the moment (although it should be possible to use it, but noone has tried yet). :-/

Second way is to launch a ray for yourself with Trace.class command with TraceActors set to false. You would launch this ray from player current location to somewhere beneath him and get TraceResponse class message as a response holding also a normal of the plane the ray hit (it should be floor under the player). The biggest disadvantage of this is the lag you get by issuing a command and waiting for response. But sinse synchronous batch delay is 250ms it could be probably ok.

Thanks for the intel :-)

That's too bad. I was hoping that it was somehow possible to access other player's Self information in UTscript inside GameBots, exporting only the information that we as persons would be able to derive ourself about other persons in a real-life situation. I guess that's not possible.

I'm not too fond of the ray tracing approach, although I suppose that is somewhat similar to how we might derive the information ourselves, in an abstract way. I'll just let this problem be for the time being and probably return to the Observer approach at a later stage.
Thanks for the help.



News RSS RSS feed for News link


Quarterly RSS RSS feed for quarterly reports


This work is supported by GA UK 1053/2007/A-INF/MFF (2007-8), GA UK 351/2006/A-INF/MFF (2006-8), the Ministry of Education of the Czech Republic (grant MSM0021620838) (2008-9), by the Program "Information Society" under project 1ET100300517 (2006-9), and the project Integration of IT Tools into Education of Humanities (2006-8) and by the project CZ.2.17/3.1.00/31162, which are financed by the European Social Fund, the state budget of the Czech Republic, and by the budget of Municipal House Prague.