1

Topic: Best ways to do server side bots (zombies)

Hello!

I'm creating new zombie mod / game using teeworlds engine. I'm thinking about different approaches to create AI. I've already done changes to protocol, so my client & server doesn't need to be teeworlds compatible.

Easiest way would be to add server controlled "players", but I wonder if this will cause networking to be too heavy once I increase the amount of zombies.

Should I create new classes, instances & networking protocol for zombies? Something else? Pros & cons? Suggestions?

2

Re: Best ways to do server side bots (zombies)

Maybe this can help you :
https://www.teeworlds.com/forum/viewtop … 10&p=2

He said he can share soure so you could have a look at it

There are three kinds of lies: lies, damned lies, and benchmarks.

3

Re: Best ways to do server side bots (zombies)

fallen.kn wrote:

Maybe this can help you :
https://www.teeworlds.com/forum/viewtop … 10&p=2

He said he can share soure so you could have a look at it

I've already created working zombiemod for teeworlds, so...

What I'm really interested in right now is optimizing the AI networking and extending the possibilities of the engine.

4

Re: Best ways to do server side bots (zombies)

Siile wrote:
fallen.kn wrote:

Maybe this can help you :
https://www.teeworlds.com/forum/viewtop … 10&p=2

He said he can share soure so you could have a look at it

I've already created working zombiemod for teeworlds, so...

What I'm really interested in right now is optimizing the AI networking and extending the possibilities of the engine.

Sorry i didnt read carefully big_smile

There are three kinds of lies: lies, damned lies, and benchmarks.

5

Re: Best ways to do server side bots (zombies)

fallen.kn wrote:
Siile wrote:
fallen.kn wrote:

Maybe this can help you :
https://www.teeworlds.com/forum/viewtop … 10&p=2

He said he can share soure so you could have a look at it

I've already created working zombiemod for teeworlds, so...

What I'm really interested in right now is optimizing the AI networking and extending the possibilities of the engine.

Sorry i didnt read carefully big_smile

^____^
  >np<
  V    V

6

Re: Best ways to do server side bots (zombies)

Hi,
Of course there are many fan-coders who made many open-source cookies, that we all can use for free.
I can advise you to use Pikotee's patch: https://github.com/Pikotee/teeworlds/co … er...dummy
These 4 commits show how to add stable dummies. It's 100% secure way, tested on iDDRace64.

Hope this helps

7 (edited by Siile 2014-10-22 07:52:46)

Re: Best ways to do server side bots (zombies)

Shahan wrote:

Hope this helps

Nope.

Siile wrote:

What I'm really interested in right now is optimizing the AI networking and extending the possibilities of the engine.

8

Re: Best ways to do server side bots (zombies)

Siile wrote:
Shahan wrote:

Hope this helps

Nope.

Siile wrote:

What I'm really interested in right now is optimizing the AI networking and extending the possibilities of the engine.

Oh, sorry, I skipped your second post.

Actually, I don't really understand what you mean by "AI networking". Neural networking?

Probably, my english suck that much, that I understood you wrong:
You are looking for different ways to make teeworlds AI. It can be also non-compartible to vanilla clients. Ok.
You can make client-side zombies, but you think it will stress network if you add many clients? No, tested on servers with up to 100 players.

Or you think, that serverside bots will eat too much CPU resources? Yes, optimize your AI algorithm. <-- extending the possibilities of engine?

9 (edited by unsigned char* 2014-10-22 23:44:32)

Re: Best ways to do server side bots (zombies)

You need test it, depends of connection quality and computer features...

You are using "A* Pathfinding" or something like that?
How do you handle the casuistry of the hook and gravity?

10

Re: Best ways to do server side bots (zombies)

Shahan wrote:

You can make client-side zombies, but you think it will stress network if you add many clients? No, tested on servers with up to 100 players.

The information I'm looking for.


unsigned char* wrote:

You need test it, depends of connection quality and computer features...

You are using "A* Pathfinding" or something like that?
How do you handle the casuistry of the hook and gravity?

I'm not planning to use real pathfinding algorithms. Instead zombies can respawn / teleport to the nearest spawn point, just outside player's vision range. That way you never see them respawning but they're always close (when wanted). Hunting single enemies in big maps is tiring. Getting trapped in tight spot against never ending horde of zombies (that last e.g. 20 seconds) with nothing but a chainsaw gives better vibes imo.

Adding invisible lemmings (AI guiding game tiles) to maps is also super easy, to prevent e.g. bots from running to death tiles. Priority driven state machines...


I actually removed hook from my version, and I'm not planning to add it back. I modified physics a bit and added dash and walljumps. What you mean by casuistry of the gravity? Since I already modified the protocol and such, nothing keeps me from adding e.g. angry zombie birds (flying bots with unique physics).

11

Re: Best ways to do server side bots (zombies)

unrelated: Your project sounds really cool. Is there a way to play it yet? Do you have a publicly available alpha/beta test or are you planning to release one? Would love to get a first-hand try as your descriptions & future plans sound pretty awesome. smile

burn the land and boil the sea, you can't take the sky from me.

12 (edited by 2014-10-25 11:08:09)

Re: Best ways to do server side bots (zombies)

wappsify wrote:

unrelated: Your project sounds really cool. Is there a way to play it yet? Do you have a publicly available alpha/beta test or are you planning to release one? Would love to get a first-hand try as your descriptions & future plans sound pretty awesome. smile

Thanks! No playable versions available yet, and the development will most likely take a while. I'm doing some test plays once in a while, tune in here.

----

Question:

Is there a simple way to access Character:CharacterCore's variables (e.g. m_Health) from CCharacterCore::Tick (gamecore.cpp)?

13 (edited by Neox 2014-11-10 03:24:13)

Re: Best ways to do server side bots (zombies)

Siile wrote:

Question:

Is there a simple way to access Character:CharacterCore's variables (e.g. m_Health) from CCharacterCore::Tick (gamecore.cpp)?

Afaik, no. What I did is adding a variable in gamecore.h, which gets the value of m_Health in CCharacter::Tick ^^

while(!Success())
    TryAgain();
Try until you succeed.

14

Re: Best ways to do server side bots (zombies)

Siile wrote:

Question:

Is there a simple way to access Character:CharacterCore's variables (e.g. m_Health) from CCharacterCore::Tick (gamecore.cpp)?

Why you like modify CCharacter in CCharacterCore? isn't best modify CCharacterCore in CCharacter?