Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Carnevil

Version v0.96 Plans/Thoughts

Recommended Posts

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?

Share this post


Link to post

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 :)

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post

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.

Share this post


Link to post

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!

Share this post


Link to post

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?).

Share this post


Link to post

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.

Share this post


Link to post
Rellik said:

Bots should know to avoid damaging sectors. :)

Haha yeah, I remember how the bots kept comitting suicide on FBase4.

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post

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

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post

Maybe make it so in DM mode the bots don't enter damaging sectors and in coop they do.

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post

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.

Share this post


Link to post
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

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post

Carn built SLIGE into the engine so no maps are included they are all just generated on the fly. Heh.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×