.:: Bots United ::.  
filebase forums discord server github wiki web
cubebot epodbot fritzbot gravebot grogbot hpbbot ivpbot jkbotti joebot
meanmod podbotmm racc rcbot realbot sandbot shrikebot soulfathermaps yapb

Go Back   .:: Bots United ::. > Developer's Farm > SDK Programming discussions > Half-Life 2 SDK
Half-Life 2 SDK For developments focused around the Half-Life 2 engine Half-Life 2

Reply
 
Thread Tools
Re: HL2DM bots...
Old
  (#41)
DrEvil
Member
 
DrEvil's Avatar
 
Status: Offline
Posts: 142
Join Date: Jan 2004
Location: Los Angeles, CA
Default Re: HL2DM bots... - 30-09-2005

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


Omni-bot AI framework
http://www.omni-bot.com

Foxbot - for Team Fortress Classic
http://www.foxbot.net


  
Reply With Quote
Re: HL2DM bots...
Old
  (#42)
Cyberwaste
Member
 
Status: Offline
Posts: 1
Join Date: Oct 2005
Default Re: HL2DM bots... - 03-10-2005

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!
  
Reply With Quote
Re: HL2DM bots...
Old
  (#43)
DrEvil
Member
 
DrEvil's Avatar
 
Status: Offline
Posts: 142
Join Date: Jan 2004
Location: Los Angeles, CA
Default Re: HL2DM bots... - 05-10-2005

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)


Omni-bot AI framework
http://www.omni-bot.com

Foxbot - for Team Fortress Classic
http://www.foxbot.net



Last edited by DrEvil; 05-10-2005 at 00:28..
  
Reply With Quote
Re: HL2DM bots...
Old
  (#44)
Lazy
Member
 
Lazy's Avatar
 
Status: Offline
Posts: 236
Join Date: Jan 2004
Location: Toronto, Ontario, Canada
Default Re: HL2DM bots... - 05-10-2005

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.
  
Reply With Quote
Re: HL2DM bots...
Old
  (#45)
MarD
Waypointer/Moderator
 
MarD's Avatar
 
Status: Offline
Posts: 1,184
Join Date: Jan 2004
Location: Canada.. EH!?
Default Re: HL2DM bots... - 26-10-2005

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?


Later-a-much, and LONG LIVE THE D!,
(Link>>>MarD's Moddin' Site<<<Link) MarD

Rock Hound. (<Link)
  
Reply With Quote
Re: HL2DM bots...
Old
  (#46)
DrEvil
Member
 
DrEvil's Avatar
 
Status: Offline
Posts: 142
Join Date: Jan 2004
Location: Los Angeles, CA
Default Re: HL2DM bots... - 26-10-2005

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.


Omni-bot AI framework
http://www.omni-bot.com

Foxbot - for Team Fortress Classic
http://www.foxbot.net


  
Reply With Quote
Re: HL2DM bots...
Old
  (#47)
Iced_Eagle
Member
 
Status: Offline
Posts: 30
Join Date: Jan 2005
Default Re: HL2DM bots... - 06-11-2005

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);
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! Can't wait for the Bot SDK!
  
Reply With Quote
Re: HL2DM bots...
Old
  (#48)
MarD
Waypointer/Moderator
 
MarD's Avatar
 
Status: Offline
Posts: 1,184
Join Date: Jan 2004
Location: Canada.. EH!?
Default Re: HL2DM bots... - 06-11-2005

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.


Later-a-much, and LONG LIVE THE D!,
(Link>>>MarD's Moddin' Site<<<Link) MarD

Rock Hound. (<Link)

Last edited by MarD; 06-11-2005 at 06:48..
  
Reply With Quote
Re: HL2DM bots...
Old
  (#49)
Pierre-Marie Baty
Roi de France
 
Pierre-Marie Baty's Avatar
 
Status: Offline
Posts: 5,049
Join Date: Nov 2003
Location: 46°43'60N 0°43'0W 0.187A
Default Re: HL2DM bots... - 07-11-2005

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. :/



RACC home - Bots-United: beer, babies & bots (especially the latter)
"Learn to think by yourself, else others will do it for you."
  
Reply With Quote
Re: HL2DM bots...
Old
  (#50)
stefanhendriks
RealBot Author
 
stefanhendriks's Avatar
 
Status: Offline
Posts: 3,088
Join Date: Nov 2003
Location: Netherlands
Default Re: HL2DM bots... - 07-11-2005

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

Anyhow. Lets just wait and see as pmb said.


Author of RealBot, "Arrakis" and "Dune 2 - The Maker" | co-Founder of Bots-United | Fundynamic | Blog | E-Mail me
  
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
vBulletin Skin developed by: vBStyles.com