BOT development kit?

Developer discussion of experimental fixes, changes, and improvements.

Moderators: Nexuiz Moderators, Moderators

Tue Aug 29, 2006 5:04 am

  • Is there something I can use to play around with BOT AI? Is there an easy way to create a bot that connects as a client to a server?
    Cinquero
    Advanced member
     
    Posts: 91
    Joined: Wed Jul 19, 2006 11:13 pm

Tue Aug 29, 2006 5:23 am

  • Cinquero wrote:Is there something I can use to play around with BOT AI?

    Unzip Nexuiz/sources/gamesource20060614.zip. The bot code is together with the rest of the server's gamecode in qcsrc/server (mainly in bots.qc, havocbot.qc & havocbot_roles.qc). If you just want to change how bots behave in different gamemodes (or add a new gamemode), havocbot_roles.qc is the best place to start...
    To compile the stuff, you'll need fteqcc (a download link is in the FAQ, just put the binary in qcsrc/server and run it).

    Is there an easy way to create a bot that connects as a client to a server?

    No. Bots are part of the server code. To add "standalone" bot you would need to write an app that connects to a Nexuiz server and emulates a player first. And adding bots that way is more difficult than integrating them into the server.
    User avatar
    KadaverJack
    Site admin and forum addon
     
    Posts: 1102
    Joined: Tue Feb 28, 2006 9:42 pm

Sun May 06, 2007 10:20 pm

  • No. Bots are part of the server code. To add "standalone" bot you would need to write an app that connects to a Nexuiz server and emulates a player first. And adding bots that way is more difficult than integrating them into the server.


    I want to write a standalone bot ... is there any documentation about the communication between server and client or could anybody tell me where in the code i could find this ?
    Or has anyone write an example for a connection ... a client how connect make 3 steps and disconnect...

    thanks nox

    PS: i know my english isn't so good ... sorry for this
    Noxin911
    Newbie
     
    Posts: 6
    Joined: Sun May 06, 2007 9:45 pm

Mon May 07, 2007 2:22 am

  • May I just ask why you would like to do this?
    Call me paranoid but there's only one reason to code a standalone AI that I know of.
    I'm sure people can figure out what that is.
    Other then that, I can't see the benefit of it nor a purpose.

    Sorry if I got this wrong.
    User avatar
    PHREAK
    Alien
     
    Posts: 153
    Joined: Mon Mar 06, 2006 6:54 pm
    Location: USA

Mon May 07, 2007 7:03 am

  • Noxin911 wrote:I want to write a standalone bot ... is there any documentation about the communication between server and client or could anybody tell me where in the code i could find this ?
    Or has anyone write an example for a connection ... a client how connect make 3 steps and disconnect...

    I don't know of any documentation on the network protocol nor such a sample client... If you know C well enough: the engine sources are included in Nexuiz/sources/enginesource*.zip (most recent sources are available from SVN at svn://svn.icculus.org/twilight/trunk/darkplaces/). To my knowledge all networking is done in netconn.c. (demos might also help you to understand the protocol, as they are basically package dumps of the client <-> server communication)
    But for such a bot to function, your client also needs to be able to read the map format.

    PHREAK wrote:Call me paranoid but there's only one reason to code a standalone AI that I know of.
    I'm sure people can figure out what that is.

    Cheating that way would be rather difficult, there are much easier approaches so i don't think this is about cheating...
    User avatar
    KadaverJack
    Site admin and forum addon
     
    Posts: 1102
    Joined: Tue Feb 28, 2006 9:42 pm

Mon May 07, 2007 8:03 am

  • May I just ask why you would like to do this?
    Call me paranoid but there's only one reason to code a standalone AI that I know of.
    I'm sure people can figure out what that is.
    Other then that, I can't see the benefit of it nor a purpose.

    Sorry if I got this wrong.


    No im not interessting in cheating ... i write my diploma thesis and my prof want an standalone bot to test the new AI .... i also take a look in Quake 3 and OpenArena but the documentation isnt very well and so i hope this game her could be better.

    I don't know of any documentation on the network protocol nor such a sample client...

    this sounds not soo good by i will take a look inside the code :-)

    thanks for help ... if anybody knwos more let me know it :-)
    Noxin911
    Newbie
     
    Posts: 6
    Joined: Sun May 06, 2007 9:45 pm

Mon May 07, 2007 8:10 am

  • Seriously, does it need to be standalone or just a bot client?

    If it just needs to be a client, you could take out the CRC check of the CSQC support in the engine and try to write your bot client using that.
    1. Open Notepad
    2. Paste: ÿþMSMSMS
    3. Save
    4. Open the file in Notepad again

    You can vary the number of "MS", so you can clearly see it's MS which is causing it.
    User avatar
    divVerent
    Site admin and keyboard killer
     
    Posts: 3809
    Joined: Thu Mar 02, 2006 4:46 pm
    Location: BRLOGENSHFEGLE

Mon May 07, 2007 8:32 am

  • Seriously, does it need to be standalone or just a bot client?


    we want running the bot at an other computer and so it think a bot client is ok.
    could you tell me what you mean with
    you could take out the CRC check of the CSQC support in the engine


    thanks a lot
    Noxin911
    Newbie
     
    Posts: 6
    Joined: Sun May 06, 2007 9:45 pm

Mon May 07, 2007 8:55 am

  • Noxin911 wrote:we want running the bot at an other computer and so it think a bot client is ok.
    could you tell me what you mean with
    you could take out the CRC check of the CSQC support in the engine

    csqc stands for client side quake c (quake c is the language the gamecode is written in). Think of it as some sort of scripting the engine. Basically you could use the engine as it is and implement the bot ai without having to reengineer the network protocol or loading the maps (since the engine will do all that for you). You could even watch your bot :)
    See http://wiki.quakesrc.org/index.php/EXT_CSQC for more info on csqc.
    User avatar
    KadaverJack
    Site admin and forum addon
     
    Posts: 1102
    Joined: Tue Feb 28, 2006 9:42 pm

Mon May 07, 2007 9:18 am

  • thanks

    okay i start reading :-)
    Noxin911
    Newbie
     
    Posts: 6
    Joined: Sun May 06, 2007 9:45 pm

Tue May 08, 2007 3:18 pm

  • csqc stands for client side quake c (quake c is the language the gamecode is written in). Think of it as some sort of scripting the engine. Basically you could use the engine as it is and implement the bot ai without having to reengineer the network protocol or loading the maps (since the engine will do all that for you). You could even watch your bot


    sounds realy good but is harder for to understand what i has to do :-S ... but i work on it *s* if anybody has an other idea please let me know them

    thx a lot nox
    Noxin911
    Newbie
     
    Posts: 6
    Joined: Sun May 06, 2007 9:45 pm

Wed Aug 08, 2007 11:11 pm

  • Hi guys,

    i write something but there also some problems ... i remove the hole grafik-stuff.
    But now i has the problem that client-bot dont parse things to

    cl.worldmodel

    -----
    In the console i get:
    Map maps/aneurysm.bsp not found
    Model *1 not found
    Model *2 not found
    Model *3 not found
    Model *4 not found
    Model *5 not found
    Model models/player/carni.zym not found

    and so on ... nothing found.

    Anybody know something about this?
    Initialized the grafik something needed for parsing the servermessage?


    File: cl_parse.c.
    Function: CL_ParseServerMessage()

    Code: Select all

    01127                 cl.model_precache[1] = Mod_ForName(cl.model_name[1], false, false, true);
    01128                 if (cl.model_precache[1]->Draw == NULL)
    01129                         Con_Printf("Map %s not found\n", cl.model_name[1]);


    there somethings goes wrong i think.

    thanks
    Noxin911
    Newbie
     
    Posts: 6
    Joined: Sun May 06, 2007 9:45 pm



Return to Nexuiz - Development




Information
  • Who is online
  • Users browsing this forum: No registered users and 1 guest