Carnevil Posted December 9, 2003 So yeah, for those of you who don't know, I'll be revamping the bots in Skulltag for v0.96. Now that v0.95 appears to be all done (YAY!), I can finally start thinking about, and working on the next big version of ST. Anyway, so here's some of the things I've been thinking I'd like to in the area of bots. - Better navigation. I'd like bots to be able to reach goals much better than they could before. - Scriptable bot logic. Each bot would be able to have its own customizeable AI. The AI would be state and event driven. - Customizeable bot chatting. This would basically be able to be done through scripting. Let me give you an example of what I have in mind:state BeginLevel { // Define event handling in this state. event( SELF_GOTSHOT ) { // Stop typing if we got shot! EndTyping( ); // Fight back! ChangeState( FightEnemy ); } // Begin "typing" our level-start string. This makes the bubble appear over our head. BeginTyping( ); // Let's say it takes us two seconds to type it in. Wait( SECOND * 2 ); // Spit out the chat string, and begin roaming. Say( "Yer mine now!" ); ChangeState( Roam ); } - Memory. Bots would be able to remember things about levels and players and act accordingly. - User-defined bots (you can already do this). Users would be able to add their own bots, and define their attributes. - More options for customization. Favorite weapon, reaction time, etc. Thoughts on this? 0 Share this post Link to post
sargebaldy Posted December 9, 2003 Mmm, sounds good. Especially the learning bit. If you can teach a bot to learn to repeat what works well and avoid what doesn't you're set :) 0 Share this post Link to post
Fletcher` Posted December 9, 2003 sargebaldy said:If you can teach a bot to learn to repeat what works well and avoid what doesn't you're set :) Some live players don't even do that. :P 0 Share this post Link to post
Carnevil Posted December 9, 2003 sargebaldy said:Mmm, sounds good. Especially the learning bit. If you can teach a bot to learn to repeat what works well and avoid what doesn't you're set :) Yeah, I would definitely like to do something like that. Although at this point, I'm not sure if that would really conflict with scripting or not. 0 Share this post Link to post
sargebaldy Posted December 9, 2003 Meh, pathing just feels like the sign of a retarded bot to me. Having to tell the bot where to go means it probably won't be getting any better, and it won't ever surprise you or act very realistic. 0 Share this post Link to post
Carnevil Posted December 9, 2003 I agree. There's a very high likelihood there won't be pathing. Not only would it make them seem more cardboard and unrealistic, but you wouldn't really be able to play them in existing maps unless you went back and added path nodes. Fuck that! 0 Share this post Link to post
boris Posted December 9, 2003 I think it'd be nice for level designers to tell bots what spots are important (you used to have things for that in some old WA config a couple years ago, didn't you?). 0 Share this post Link to post
Rellik Posted December 9, 2003 Bots should know to avoid damaging sectors. :) Maybe some way of keeping them out of certain sectors all together, either a bot-never-go-in sector type or bot-never-cross linetype/flag. 0 Share this post Link to post
boris Posted December 9, 2003 Rellik said:Bots should know to avoid damaging sectors. :) Haha yeah, I remember how the bots kept comitting suicide on FBase4. 0 Share this post Link to post
Carnevil Posted December 9, 2003 boris said:I think it'd be nice for level designers to tell bots what spots are important (you used to have things for that in some old WA config a couple years ago, didn't you?). Define "important spot". And plus, with the scripting, I'll probably allow you to set a destination for the bot anyway. 0 Share this post Link to post
Linguica Posted December 9, 2003 Carnevil said:- Scriptable bot logic. Each bot would be able to have its own customizeable AI. The AI would be state and event driven.WOO 0 Share this post Link to post
Linguica Posted December 9, 2003 while((Distance(VisibleEnemy)>300)&&(VisibleEnemies()==1)&&(HaveWeapon(Chaingun)) { SwitchWeapon(Chaingun); ChangeState(FightEnemy); KeepDistance(Enemy,300); Fire(2); // Fire two shots Pause(15); // Wait half a second for chaingun to recenter } AWESOME 0 Share this post Link to post
Linguica Posted December 9, 2003 Oh yeah I want a part in defining the AI-scripting functions :P 0 Share this post Link to post
Infinite Ammunition Posted December 9, 2003 Rellik said:Bots should know to avoid damaging sectors. :) Maybe some way of keeping them out of certain sectors all together, either a bot-never-go-in sector type or bot-never-cross linetype/flag. Yeah, but what if you want to coop with some bots in, for example, MAP09? Going through the damaging sectors in that map is compulsory due to its design. 0 Share this post Link to post
CaptainWinky Posted December 10, 2003 Infinite Ammunition said:Yeah, but what if you want to coop with some bots in, for example, MAP09? Going through the damaging sectors in that map is compulsory due to its design. The bots would have to take a look at the damaging sector(s) and how much damage they do and weigh that against their desire to get items in/across from the sector or, in the case of coop, follow the player through the sector. At least that's how I think it could be done. As a total amateur programmer, I don't know how it could be implemented. 0 Share this post Link to post
Rellik Posted December 10, 2003 Maybe make it so in DM mode the bots don't enter damaging sectors and in coop they do. 0 Share this post Link to post
sargebaldy Posted December 10, 2003 Rellik said:Maybe make it so in DM mode the bots don't enter damaging sectors and in coop they do. But... don't players sometimes enter damaging sectors in DM? I think it's a good idea to make them realize they're damaging sectors, but not letting them in at all might even leave them trapped in some maps. 0 Share this post Link to post
Rellik Posted December 10, 2003 Heh, anything so long as they stop so happily jumping to their doom. :-) 0 Share this post Link to post
Carnevil Posted December 10, 2003 heh, I should make a lemming bot that marches straight into lava after it spawns 0 Share this post Link to post
Carnevil Posted December 10, 2003 Linguica said:Oh yeah I want a part in defining the AI-scripting functions :P Well, you know where you need to be if you want that to happen. Anyway, it looks a scripting language would be a very good idea. That should be able to take care of a lot of the customizeable AI, but I think a lot of it will still be done in the code. After all, it's generally not a good idea to make scripts too complicated. With that, and being able to define your own bots and their AI, I think all of bot needs would be met. 0 Share this post Link to post
Infinite Ammunition Posted December 10, 2003 I'd like to see llama frags no longer counted, a weapon preference list, and certain multiple control functions to be used with a single key. For example, having use and jump on the same key would be nice. 0 Share this post Link to post
CaptainWinky Posted December 10, 2003 Infinite Ammunition said:I'd like to see llama frags no longer counted, a weapon preference list, and certain multiple control functions to be used with a single key. For example, having use and jump on the same key would be nice. Weapon prefs and multiple binds sound good. As for llama frags, that should be a user option, because if it were mandatory, some idiots would use it to screw with people. I DMed a few days ago with a guy who thought it was comedy gold to hit T right before I shot him, so I racked up about 20 llamas. [LLJK]CptWinky: .... Guy: lol Guy: u a llama [LLJK]CptWinky: HUR HUR 0 Share this post Link to post
Carnevil Posted December 10, 2003 That's exactly why I will always count llama frags. I don't want "hit t before you die" to be a strategy used by people. Hm, I think you already can multi-bind. Like: bind q "taunt; say roar!" I think that would work. 0 Share this post Link to post
Johnny Posted December 11, 2003 I say you somehow fix the talk.... every few words I type have missing letters because it doesn't always register the keys I hit if I type too fast. I don't think I'm the only one who has this happening. I'm not sure if it's just the lag causing it, but I just thought I'd mention it. 0 Share this post Link to post
Johnny Posted December 11, 2003 Oh yeah, and we need an ASSAULT RIFLE!!! >=D 0 Share this post Link to post
Carnevil Posted December 12, 2003 johnnyrules182 said:Oh yeah, and we need an ASSAULT RIFLE!!! >=D No. 0 Share this post Link to post
Johnny Posted December 12, 2003 How many new maps should we expect in v96? 14? 16? 23? 0 Share this post Link to post
Rellik Posted December 13, 2003 Carn built SLIGE into the engine so no maps are included they are all just generated on the fly. Heh. 0 Share this post Link to post