.:: Bots United ::.

.:: Bots United ::. (http://forums.bots-united.com/index.php)
-   Half-Life 2 SDK (http://forums.bots-united.com/forumdisplay.php?f=62)
-   -   HL2DM bots... (http://forums.bots-united.com/showthread.php?t=3629)

DrEvil 30-09-2005 19:55

Re: HL2DM bots...
 
The lack of source bots is a direct result of the server plugin interfaces lacking some very critical functionality that is needed to make a fully functional bot.

My bots play HL2DM just fine, but with the limitations of the server interface they are lacking in some areas, and valve continues to ignore our requests for the added functionality.

KWo, can you get Bailopan to take a few minutes to post about how(and if) he got around these limitations? That's what I'm interested in more than downloading his bot.

Here's a thread with info on what is missing, and is the primary reason there are no fully functional 3rd party bots.
http://forums.bots-united.com/showthread.php?t=4026
and here's some screens of my unreleased hl2dm support for my bots.
http://www.omni-bot.de/e107/forum_viewtopic.php?4.375

Cyberwaste 03-10-2005 22:41

Re: HL2DM bots...
 
Hello everyone!
Dr. Evil I saw the screenshots ..would it be too much to ask for a compiled alpha release of your hl2dm bot? Me and other people I know have been waiting a long time for this. I presume it's playable offline.
Thank you!

DrEvil 04-10-2005 23:05

Re: HL2DM bots...
 
They can only use 1 weapon, and they spawn with it. There's not enough server plugin functionality to do any searching for items and stuff. And if you set their weapon too often the game bombs running out of entities, cuz the geniuses at valve had the SetActiveWeapon function or whatever its called create a new weapon every time you call it. And theres no way to get their current weapons(that I know of)

Lazy 04-10-2005 23:35

Re: HL2DM bots...
 
Wow, I didn't think it was _that_ bad.
But knowing valve it'll never get fixed, hell, theres still a bug in hlds which will let you read any file on the server provided you have rcon access.

MarD 26-10-2005 06:53

Re: HL2DM bots...
 
Heyyo,

Did you guys read the new steam update?

Quote:

After Lost Coast is released, we'll be working on getting some new content for both Counter-Strike: Source and Day of Defeat: Source, along with an update to the SDK, out the door. More info coming on that next week.
It does say update for the SDK... should we pray that it's better functionality for bots?

DrEvil 26-10-2005 15:29

Re: HL2DM bots...
 
I just sent another large post to the mailing list. Here's hoping for some sort of response. Please show support if you're on the list.

Iced_Eagle 06-11-2005 04:58

Re: HL2DM bots...
 
Hey, I just thought I'd post the important emails that is going in the HLCoders list in case people didn't catch it.

Original email by DrEvil
Quote:

I read recently that after Lost Coast is released there will be an SDK
update on the way. I'd like to ask that the missing functionality necessary
for server plugin based bots please be added as well. There is a good sized
community of bot coders that have strong desire to make bots for HL2, as we
could do with HL1. The server plugins are the only real way that is
possible, but there is some critical stuff missing from the currently
available bot functionality in order to make a fully functional bot.

A while back I got as far as I could creating a HL2DM bot, and it was
playable, but due to missing functionality it was very primitive in many
ways. Here is my list of things that are missing from the server plugins
that are pretty much necessary for a fully functional bot. HL2 has pretty
much crippled what was once a large and thriving community of bot authors
for HL1, and our attempts to ask for the missing functionality have been
largely ignored. So I ask and detail again requests on behalf of myself and
the rest of the Bots United community at
http://forums.bots-united.com/index.php?

Stuff missing for full bot functionality
* 1) *Check if a bot has a certain weapon or item. A bool
IBotController.HasWeapon(const char *) would be nice, as well as a
HasItem(const char *) that mods can implement for custom non-weapon
equipment(kevlar vests, helmets...)
* 2) *Access to an entities velocity? This is critical for some weapons to
calculate proper leading. I'd rather not hack around this by getting the
position each frame and calculating this myself, though I will if I have to
I suppose.
* 3) *Access to any entities position/orientation/velocity. Seems right now
we're limited to players, but any decent bot is probably going to want to
have perceptions of projectiles/grenades/dynamic map props for avoidance and
such.
* 4) *Access to any entity in general. I suppose we can blindly loop through
the edict list, but an interface to CGlobalEntityList would be so much
better. Perhaps not direct access, but an interface that wraps read only
accessors to entity flags, entity properties mentioned in #3, and other
useful info.
* 5) *IPlayerInfo.ChangeClass would be nice. Empty by default, but at least
provides an interface for future mods to implement. More mods than not will
likely be class based.
* 6) *Can we have access to trace_t.GetEdict() ? It's wrapped in #if
defined( ENGINE_DLL ). Is it safe to define these in a plugin?
* 7) *Minor nitpick, is there a reason IBotController and IPlayerInfo
returns angles/vectors by value as opposed to const & ?
*8 )* We need access to ammo values without switching to the weapon. Perhaps
IBotController.GetWeaponAmmo(const char *weaponname, int &_curClip1, int
&_curClip2, int &_maxclip1, int &_maxclip2). The reason there are 2 is to
support weapons that use different ammo types for their alt-fire. Other
stuff like max ammo, max clip size, ammo per shot I suppose are normally
constants so I don't suppose we need access to them if we know the mod. Also
what would be useful is IBotController.GetAmmo(const char *ammoname, int
&_current, int &_max), to get the total amount of ammo the bot has, not
counting what's in the weapon clips(or counting I guess it doesnt matter).
*9)* How to choose the model for a bot? How about spraypaint?

Things wrong with the current bot functionality
1) IPlayerInfo.SetActiveWeapon is pretty useless. It creates a new weapon
every time its called, whether the bot has it or not. Crashes the game with
too many entities before long. My bot has to be limited to 1 weapon for this
reason. IMO this function should not create a weapon, it should return bool
if the bot has the weapon and was able to equip it. False if not. This would
give some of the functionality of #1 above. Preferably a HasItem would be
added instead though that queries for the presence of weapons or items. Mods
can extend it to allow querying of custom stuff.
2) CBotCmd.weaponselect is useless. It doesnt represent a constant value,
but instead appears to represent an the index of an entity in the master
entity table or edict list, which we don't have access to querying, or
finding out which a particular bot has.
3) No access to velocities
4) No access to anything other than players, and missing a bunch from that
access.

Things I would love to see
1) virtual const Vector IPlayerInfo::GetVelocity();
2) virtual const char *IPlayerInfo::SetModelName();
3) virtual const int IPlayerInfo::GetArmor();
4) virtual const int IPlayerInfo::GetMaxArmor();
5) virtual bool IPlayerInfo::ChangeTeam( int iTeamNum ); // just changed the
return value for success/failure.
6) virtual bool IPlayerInfo::ChangeClass(int _classId); // or classname
7) virtual bool IBotController::HasItem(const char *_name);
8) Merge IPlayerInfo and IBotController interfaces. They return the same
struct anyways. (GetBotController() & GetPlayerInfo())

typedef CUtlVector<int> AmmoList; // indexed by an ammo enum/id, holds ammo
counts
9) virtual bool IBotController::GetAmmo (AmmoList &_ammo);

// In this case, the AmmoList can be indexed by fire modes. Most mods
probably have 2 max, but for extendibility purposes, dont limit it.
10) virtual bool IBotController::GetAmmoForWeapon(const char *_weaponname,
AmmoList &_ammo);

11) An EntityInfo interface, similar to PlayerInfo, accessible from any
entity by either its index or edict. Wraps access to mostly CBaseEntity
stuff. Should contain the following.
const Vector GetLocalOrigin();
const Vector GetAbsOrigin();
const QAngle GetLocalAngles();
const QAngle GetAbsAngles();
const Vector GetLocalVelocity(); // object space
const Vector GetAbsVelocity(); // world space
const Vector GetMins();
const Vector GetMaxs();
const char *GetClassName(); // think this might exist already in the edict?
int GetHealth(); // for objects with health
int or edict_t GetParent(); // for objects that can be carried. Flags,
weapons, etc...
int GetEFlags();
int GetWaterLevel();

12) Change IPlayerInfo.SetActiveWeapon to bool
IPlayerInfo.SetActiveWeapon(const
char *_name, bool create); The bool return value for success/failure, and
the create parameter to control whether its created if the player doesn't
have it.

13) Make CBotCmd.weaponselect useful in some way. Maybe another accessor
that fills in a CUtlVector<int> with the bots weapons, and these ints can be
used in weaponselect. Though I imagine that this parameter can be ignored in
favor of #12.

There's probably more but these are the main things now. All these additions
shouldn't take long to add. The key here is that not only do us bot authors
need them to do bots, but it would be great if the functions could actually
be implemented in the Valve mods such as HL2DM, DOD:S and CS:S(yes there are
still many people wanting to do CS:S bots despite an official one). Most of
the functionality would be the same, it would probably just be the
ChangeClass/ChangeTeam/Ammo function implementations that will differ per
mod, with most simply being a wrapper function for other functions that
already exist.

To whom it may concern at Valve, can someone please add the missing
functionality for complete bot support? At the very least can we get some
sort of response this time? It has been frustrating to be completely ignored
when previously asking for help with these bot matters. If it is not in
valves time or budget to add these changes, would valve consider integrating
them into official mods if someone else did it?

Thanks
DrEvil
www.omni-bot.com <http://www.omni-bot.com>
Response by VALVE:
Quote:

Life has been very busy with Lost Coast and other projects. I am going to chase this request up internally. We actually have bigger plans for a bot SDK, that is why I hesitated with my answer.

This is also the first time I saw this request, please feel free to email this questions directly in the future to ensure they get our attention.

- Alfred
Woot! :D Can't wait for the Bot SDK!

MarD 06-11-2005 05:46

Re: HL2DM bots...
 
Heyyo,

Sounds awesome. :)

Maybe they plan to release like, a very basic bot structure that has basic waypointing.. kindof like HPB bot but for the source engine. If so tha'd be cool. Odd how he says that it's only his first time seeing this request though.. but maybe other employees saw it...

[EDIT]
wow, just noticed but 3,998 have viewed this thread... goes to show you how many are still eager to try n' find a working HL2 3rd Party Bot. ;)

Pierre-Marie Baty 07-11-2005 01:03

Re: HL2DM bots...
 
Yeah... as we say... Will see.

It's been the fourth or fifth time we complain to hlcoders, and it's the first time we get a response. Let's wait and see. :/

stefanhendriks 07-11-2005 08:18

Re: HL2DM bots...
 
Would be nice indeed. Perhaps i might get into (HL2) bot coding then...

Anyhow. Lets just wait and see as pmb said.

Iced_Eagle 10-11-2005 23:44

Re: HL2DM bots...
 
From: http://developer.valvesoftware.com/wiki/Main_Page

Quote:

Source SDK Beta Approaches
Wed November 9th, 2005

Very soon we'll be beginning a beta of the next version of the Source SDK, which will be run in a similar way to how the Steam UI beta was run. When the beta is ready to go we'll have a page here on the VDC that lists the new features available, along with a place to report problems.

Austin 26-11-2005 10:44

Re: HL2DM bots...
 
Hey guys,

1) The first post in this thread was in Feb. - a long time ago. What has valve provided in almost a year?

2) Take a look at botmans' post in this thread about how valve is now in the business of LIMITING what plugins can do!

3) Why wait when we have something now that gives us virtually (pun intended!) anything we want/need, and works wonderfully great?

Metamod Source is way cool!
It is a much better Metamod for Source!
Here, this might get you a Little more interested:

http://www.sourcemm.net/?go=docs&doc=coding
"SourceHook is the engine used to intercept function calls, much like Metamod. The difference with SourceHook is that it can intercept any virtual function in any class that, at compile time, you have the header for."

!!!

I have installed Metamod Source on my server with a basic plugin and it has been totally stable. I don't care if it has to patch memory on the fly. It does it well and it works!

I don’t’ know Metamod, Metamod Source, the HL1 Or the HL2 sdk well enough to really say but it looks to me like…
Someone who knows Metamod well, knows the hl2 sdk well could port something like podbot to Source, with out a terrible amount of trouble.

There are a few things I need for my server right now like no head shots on humans, extra nades, team balance, etc.. I am working on learning Metamod Source and hl2 sdk asap…

I think we need a forum on BU for MM Source to help everyone get familiar with it over here. With the experience of some of the people here we could have some awesome great stuff for Source soon…


http://www.sourcemm.net


Feedback???

Pierre-Marie Baty 27-11-2005 08:00

Re: HL2DM bots...
 
Maybe you're right. But I'm still thinking there's hope at Valve.

Iced_Eagle 02-12-2005 03:10

Re: HL2DM bots...
 
Quote:

Originally Posted by Pierre-Marie Baty
Maybe you're right. But I'm still thinking there's hope at Valve.

I agree... They did say they were working on a Bot SDK, and also there should be a code portion to the beta SDK soon... Probably within a month..

I would rather wait for VALVe to provide official support, then do the SourceMM way and have to rewrite a lot of code later... By the time you get a stable 1.0 of a bot, there might be official support already out there... This means that your bot would run on 100% of all updated servers, and not just those with metamod...

DrEvil 06-12-2005 13:11

Re: HL2DM bots...
 
Last I checked, and even asked the MM guys, MM will not provide the functionality that we are missing to implement fully working bots. Intercepting function calls is not what we need to do.

stefanhendriks 15-06-2006 14:10

Re: HL2DM bots...
 
Perhaps it is an option to write a bot framework which is capable of being 'transformed' into 'true hl2 bot sdk' code once (if) it is released...

So basicly have some thin layer. Bah, i am brabbling and having no time at all.

LoLou 06-05-2007 21:27

Re: HL2DM bots...
 
I'm just some guy that has this account for asking questions about bots, so don't bother asking me anything. I just play games. If anyone has a link to download bots for HL2DM or DOD: S, that works well, can you please email me with the link.

Bluesman 06-05-2007 22:52

Re: HL2DM bots...
 
Quote:

Originally Posted by LoLou (Post 54972)
I'm just some guy that has this account for asking questions about bots, so don't bother asking me anything. I just play games. If anyone has a link to download bots for HL2DM or DOD: S, that works well, can you please email me with the link.

HL2DM bots:
---------------
http://rcbot.bots-united.com
http://www.hurrikhan.net/

DOD:S
--------
Sorry, it doesn't exist any bots for DOD:S (at least I haven't heard of any bot for this game)

Bluesman 08-05-2007 20:24

Re: HL2DM bots...
 
DOD:S bots...

http://forums.bots-united.com/showthread.php?t=4609

KWo 22-07-2007 09:07

Re: HL2DM bots...
 
Quote:

Originally Posted by KWo
I remember You told me You could help to answer at least to some questions dr. Evil had concerning to CS:S bots (we miss the mostly the thing with managing weapons under CS:S; the full list of questions is here). You told me You can help after CS:S DM 1.0 is released. I 've seen You skipped 1.0 version and now there is some beta 2.0 available, so is this the good time I can ask about the help for CS:S bots or not? Or You just don't have time to elaborate anything even if You are the only person who can help us?

Regards

KWo

Quote:

Originally Posted by BAILOPAN
The source code is available with 2.0. If someone has a specific HL2SDK or CS:S (or CS:S DM) question for me they can ask it on our Source forums, or in our IRC channel.

---BAILOPAN

The CS:S DM is available here. The source of CS:S DM is here.
The SourceMod forum is here.
I hope someone can find something usefyl to move on the work on CS:S bots. :)

stefanhendriks 13-08-2007 07:49

Re: HL2DM bots...
 
I haven't plouged through the source yet. As long as bots can select a weapon, it will be 'enough' i think to make something useful? I mean, afaik it is possible to let bots join a team, walk around, look around (?). So all that is left is weapon management?

MarD 13-08-2007 08:04

Re: HL2DM bots...
 
Heyyo,

Slavax has been working on the RCBot2 code, and he added some code like bots try to randomly switch weapons, and I believe you can hear them fail to select a proper weapon slot by the beeping too actually, lol.

http://rcbot.bots-united.com/forums/...topic=1041&hl=

I believe that's his latest work. Check around the sourcecode to see if you can see some of the stuff he's done.

But yeah, technically, you can still get the bot up and running just fine with any mod, it's just being able to make a very efficient bot that knows if their weapon's empty, or to switch to a better weapon and such is the current problem.

I've built, and revised my waypoints for the official HL2DM levels as well to help out and get things flowing a little better.. RCBot2 still kinda turns wide, so they get stuck at random times...

I know vALVE said for DODS they'd help the makers that made DOD1.3 bots to port their bots to source and such.. but I'm sure that's more of a hollow promise at this rate.... mainly since they've ignored any plea to help out the bot coders.

I'm also still kinda curious as on how Dr. Evil is doing with OmniBot, and his little memory hack work-around.. haven't heard any news on HL2DM, so I think he dropped it..

stefanhendriks 13-08-2007 15:30

Re: HL2DM bots...
 
From what i see from the rcbot2 , is that the code does not look complete, perhaps on purpose. Neat code though.

Also, it looks like the bot selects a weapon by just its name. I have to look further into this to be sure what is going on. But from the looks of it, it looks nice.

I do not see anything that holds data of the bots weapons though; that is a pitty imo. (or i did not look enough, if anyone else is looking, please fill me in).

DrEvil 14-08-2007 20:06

Re: HL2DM bots...
 
I'm not doing any memory hacking, and in fact specifically don't want to do any memory hacking. I've been trying to push valve into extending the SDK with the necessary changes. They are dragging their feet though as usual.

You can get a basic bot working rather easily, as I did with Omni-bot. I didn't feel it fit to release at the time though, given the limitations of the bot sdk. Essentially the only way to get them to use different weapons is to give them the weapon yourself, which is essentially cheating. That in itself isn't a disaster so much as the fact that giving them a weapon creates a new weapon every time you call it, causing you to run out of entities if you get them switching weapons too often. On top of that there's no access to ammo information, so you they don't know when they are out of ammo and stuff. It's just an all around half-assed bot interface that they seem to want to avoid extending and won't accept my requests to do it for them.

It was playable to some degree. It spawned with a random weapon and runs around and would shoot at you.

stefanhendriks 14-08-2007 20:58

Re: HL2DM bots...
 
Probably because mod makers are more 'important' than bot makers; Valve will not set a bigger priority concerning the issues around bot creation (for plugins).

In other words, they don't give a damn.

MarD 14-08-2007 21:21

Re: HL2DM bots...
 
Heyyo,

Sad reality yes... I remember one vALVE employee said he was going to look into it like, a year ago, and never said anything again..... I think we should all just spam Gabe Newell's Email addy.. I think from the Lost Coast commentary he said it was gaben@valve.com .... what do you say guys? we should keep trying, cause I doupt valve's going to be rebuilding a whole new engine anytime soon and just keep upgrading the SourceEngine as they did with the Source2 Engine.

stefanhendriks 14-08-2007 21:51

Re: HL2DM bots...
 
Yeah, that could be a sollution. :)

DrEvil 15-08-2007 01:20

Re: HL2DM bots...
 
I wish more people would keep bugging valve on the mailing list. I regularly bug the Mike Durand guy, and have asked if they would let me do it and give the code to them but I have yet to get an answer to that.

stefanhendriks 15-08-2007 07:39

Re: HL2DM bots...
 
I was signed up at the valve mailing list, but i got so flooded, i signed myself out. Perhaps not a wise thing to do, but times change and so do interests in bot development.

First i'd have to get all stuff compiling again, need to install Visual Studio 2003 again, only got VC6 and VC2005 express. The later one requires me to download stuff, which i already have in VC2003.

Anyhow, i do encourage to get this going, but i can't participate fully, so i will not pretend to solve this problem myself. ;-)

Black_Hunter 29-08-2007 03:01

Re: HL2DM bots...
 
whats abaut sourcemm, the dev team can code some functions for bots or not? talk to the sourcemm team...

SourceMM:
http://www.sourcemm.net/

Forum:
http://forums.alliedmods.net/forumdisplay.php?f=56

DrEvil 31-08-2007 19:40

Re: HL2DM bots...
 
I'm pretty certain function hooking and such will not provide us with the access and information we need in a manner suitable for using across many source games. I've been in contact with the Valve guy, and things are looking positive in this area. That's all I will say for now.

stefanhendriks 01-09-2007 10:35

Re: HL2DM bots...
 
who is 'the valve guy' ? ;-)

DrEvil 03-09-2007 03:09

Re: HL2DM bots...
 
The only person from valve that gives the hlcoders list much attention(Mike Dussault)

The Storm 18-05-2008 15:52

Re: HL2DM bots...
 
Anything new around ? :)

MarD 18-05-2008 21:18

Re: HL2DM bots...
 
Heyyo,

Yeah, I'm still curious too if we can maybe get a developper preview there Dr. Evil? ;)

stefanhendriks 07-07-2008 15:33

Re: HL2DM bots...
 
Looks like we just have to just get things going , even if it means hacking? Perhaps when we 'show' that it is impossible to do it the right way, we might get more mandate to push Valve to change their interface.

Or, perhaps DrEvil has some very very very good news? ;)

MarD 07-07-2008 19:39

Re: HL2DM bots...
 
Heyyo,

Quote:

Originally Posted by stefanhendriks (Post 58395)
Looks like we just have to just get things going , even if it means hacking? Perhaps when we 'show' that it is impossible to do it the right way, we might get more mandate to push Valve to change their interface.

Or, perhaps DrEvil has some very very very good news? ;)

Yeah.. Dr.Evil... dev preview? any chance? I want to see how the official third party bot support is coming along. :D

DrEvil 19-07-2008 21:01

Re: HL2DM bots...
 
Hey guys. I'm working with Tony who works on SDK stuff for Valve and we are working out the new and improved bot interface stuff. Currently I'm working on TF2 with the new interface. I have them playing CTF and CP maps, engy bots building everything so far, in a couple days worth of evening work. The new interface will allow server plugin bots for DOD:S, CS:S, and any other mod that implements the appropriate accessor for their mod.

TF2 Teaser Pic

Minh-Lo-Hwang 19-07-2008 22:56

Re: HL2DM bots...
 
One Word: Yay! :)

Bluesman 19-07-2008 23:33

Re: HL2DM bots...
 
Quote:

Originally Posted by Minh-Lo-Hwang (Post 58518)
One Word: Yay! :)

Two words! Great News!! :)


All times are GMT +2. The time now is 19:26.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.