AI seemingly broken

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

Dracion

New Member
May 29, 2008
1
0
0
Hi,

I recently downloaded this mod on the recommendation of a friend, however, whenever I play on practice, the AI never seems to work properly. The bots always seem to get stuck, or try to crash into one another. Is there any way to fix this, or is this just a common place bug.

I'm using the UT2004 version of the mod.

Thanks, Dracion
 

RacingCoyote

New Member
Jul 27, 2008
27
0
0
About the only thing the AI is good for is playing rabbit or wrecker. They'll automatically try to bash themselves into your car so at least you can get some basic practice at that. Otherwise it's pretty useless... :(

Now off I go on a crazy tangent. Since we're talking about bots... yes the AI for the bots in UT2004 is pretty useless. How many of you guys know that UT2004 is actually being used in the mobile robotics research community as a simulation testbed for real robots? Check out USARSim:

http://usarsim.sourceforge.net/

It's a mod for UT2K which basically lets you connect an external "brain" to simulated robots modeled as vehicles using the Karma Physics engine. There are international research competitions devoted to furthering autonomous robotics research that make use of this simulator. RoboCup Rescue, which is a league in the RoboCup Federation (yes, RoboCup is all about robots that play SOCCER!!!... check it out: http://www.robocup.org) uses USARSim as the environment: http://www.robocuprescue.org/virtualsim.html

So here's the idea... UnWheel is modified to allow you to create USARSim "agents" as the drivers of the bot vehicles. Then you start up an UnWheel server and then on a separate computer or something (or else just use a dual or quad core machine lol) you start up a few of these bot "brains" and then suddenly you have full control over how smart these bots are. All it takes is a fair amount of work and research to create intelligent racing AI... hmmm... It's not too crazy though. The USARSim stuff works really well and there's been other researchers in the past doing the same kind of external brains for the original CounterStrike (see Flexbot: http://www.cs.northwestern.edu/~khoo/research.htm#Flexbot as an example).
 
Last edited:

ProjectX

Nicholas 'ProjectX' Udell - UnWheel Maps
Jan 9, 2004
1,223
0
0
Right behind you.
I would bet you large quantities of shiny moneys that they had an engine license - ergo access to the source for the engine.

I doubt that was added on in the same way a mod is done
 

RacingCoyote

New Member
Jul 27, 2008
27
0
0
Really? I honestly don't know the first thing about editing or creating mods for UT. You could tell me that it was done by feeding UT DVD ROMs to shiny monkeys and then having them regurgitate mods and I'd probably believe you.

So... MODDING NOOB QUESTION ALERT!!!

Is it possible (w/o the engine source) to create a mod for UT which would let me have bots that had a TCP socket interface which I could connect to via telnet (to use a simple example) and then control that bot by pressing keys in that telnet session? Or does the mod facility in UT not allow OS-level interfaces like that?
 

ProjectX

Nicholas 'ProjectX' Udell - UnWheel Maps
Jan 9, 2004
1,223
0
0
Right behind you.
TBH your monkey idea has a lot going for it...

Joking aside, I don't know whether it's possible or not. I'm not a coder, merely a programmer (I know how to program, but nothing specifically related to UT)
 

RacingCoyote

New Member
Jul 27, 2008
27
0
0
Well, I feel like less of a NOOB now... sortof... ;p

It turns out that USARSim is built on an old project to develop a general AI interface for UT bots called Gamebots. Their old site is here:

http://gamebots.planetunreal.gamespy.com/index.html

which has a lot of useful links (though a bit outdated) for ut script programming. Their new sourceforge site actually has the full source for the gamebots mod in subversion:

http://gamebots.sourceforge.net/

It would seem, however, that all development on this has halted completely. I think they got it to where it does what they need it to do and moved onto different things. It was an academic project mainly and I know that a few of the authors graduated and moved on to other jobs and whatnot.

Anyway, I was curious to see if I could answer my own question regarding network sockets and so I dug around a bit in the unreal script and found that a few of the classes extend a parent class called TcpLink. I then looked this up in the official documentation for Unreal mod developers:

http://udn.epicgames.com/Main/WebHome.html

and poked around in the 2004 section a bit and found the class!

http://udn.epicgames.com/Two/UnrealSockets.html

It would appear that UnrealScript allows you to open arbitrary sockets and do whatever you want to with the data as a server or a client. UDP sockets are also supported (duh). Neat!

So, in summary, UnrealScript allows network sockets. They're just built in! The USARSim guys built upon an older project called GameBots and no special licensing was involved! It was just good old fashioned mod hacking and the source code is there plain as day for all to see how it's done. :D

It's cool... I've been a C++ developer for about 10 years now and have noodled around with Java and Python (the latter I use as my primary scripting interface at work now) and I really appreciate the effort that Epic put into what appears to be a very comprehensive object-oriented language specification (disclaimer: this opinion has been formed by skimming a chapter in the language spec for about 5 minutes... weight it accordingly...)
 
Last edited:

RacingCoyote

New Member
Jul 27, 2008
27
0
0
Okay... big question time.

Steven tells me that the bots in UnWheel are technically the identical bots that one would find in any UT2k4 game. Thus it stands to reason that since those bots weren't programmed to be able to follow UnWheel tracks or know how to aggressively race against other cars, the AI is functionally useless for this mod.

So... the obvious follow-on question is: why not just create custom bots that actually know how to race? Is that a really difficult thing to do? Did nobody really care enough to do it since it was more fun to have human players? What if someone actually spent time creating bots that were solely for UnWheel? Are there any serious technical hurdles to accomplishing it or is it just a matter of finding someone with the creativity and time necessary to code up really good bots? I just really don't know and am curious...
 

ProjectX

Nicholas 'ProjectX' Udell - UnWheel Maps
Jan 9, 2004
1,223
0
0
Right behind you.
They are customised a tad.

They are built to head directly to the next checkpoint, following something called UWPathNodes on the way.

However if the path is not correctly set up, or checkpoints are improperly placed then the AI will go a bit wacky.

Check out UWRC-Face for an example of almost-working bots. They don't turbo though.

As for us fixing them, that is unlikely. We have a bigger (suffixed with 2) fish to fry.
 

RacingCoyote

New Member
Jul 27, 2008
27
0
0
Thanks, ProjectX. Yes, I certainly don't expect anyone working on UW2 to try to fix the bots in UW. I'm just glad that it's technically feasible to replace the bots with something else since that suggests that UnWheel could be paired with something like USARSim where the "brains" actually exist as processes that run off board as a different process.

What's the plan for bots in UW2? Having something intelligent to race against in practice would go a long way to getting more people excited about the mod. For an example check out TORCS: http://torcs.sourceforge.net/
 

ProjectX

Nicholas 'ProjectX' Udell - UnWheel Maps
Jan 9, 2004
1,223
0
0
Right behind you.
We definitely have plans for real bot support in UW2.

We lack a coder atm (AFAIK Steve's doing it all himself, which is a quite epic undertaking) so I can't say how we're planning on implementing it, but it will certainly be in and certainly better than UnWheel 1.
 

JACK SH!T

Evil Genius in a Nutshell
Sep 2, 2004
575
0
0
Why is the Rum always gone???
Oh, guess I should have issued a Troll alert....:D