![]() |
Loading other bot wayponts (standard format?) & Standardized directory structure?
Perhaps worth considering; while our bots getting united, it would be cool to have them share the same data files. As well using a shared directory structure.
My bot uses: counter-strike\realbot as folder. I see pod/pox etc does: counter-strike\cstrike\podbot although that is logical, i prefer my structure because this way i centralize and i am able to run multiple mods without changing from 'cstrike' to 'dod', thus having only 1 realbot directory. Makes it easy for me and for users. within my realbot directory i have: data\<mod name> here in theory could be: data\cstrike data\dod data\firearms data\valve etc. And in every mod dir: cstrike\maps cstrike\bots cstrike\exp i use a dir 'bots' for personalities, and i do this per mod because each mod has different properties. Perhaps its better to have a global bot personality and 'refined' personality info per mod in these directories. This way you don't have so much redundancy as now. Waypoints/Nodes storage Perhaps its a good idea to use INI files (as i have), my INI parser is easy to use, but there are many other INI parsers on the web and it is plain-text (thus easy compressable with ZIP and such). Plain-Text formats also allow easy importing, this way we bot authors do not need to share code specific variables which we do not need. Ie, my code for loading nodes: Code:
// Load Standardized Waypoint format Perhaps we should agree on a standardized waypoint format. This will be a lot harder though because i use nodes and only use vectors & neighbours. All other stuff is detached because not all info applies on all nodes. Etc. Perhaps we should use files which only contains vectors + bit flags about what kind of 'waypoint' it is. Of course, we have trouble with amounts (i use ~ 2000 nodes, at max 4500). Anyway, another 'start' about a cool subject. :D 8) |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Yes... unfortunately I won't assist you much there, my bots use a navmesh, which is not exactly assimilable to waypoints :)
But great idea indeed, if some of you can hammer out a standard! :) |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
i bet even you pierre can give me a list of walkable vectors? :) Every 'mesh' center perhaps? You also know if they are connected so you can give a 'neighbour' list as well. In theory my bot can walk using your mesh files. :)
|
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Yes... but MY bot can't walk using YOURS, you horrible egoistic boy :D
|
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
aww, come on pierre you could do better then that! :) I bet you can write some code to check where my nodes are and confirm the meshes they are on that they are 100% connectable. Perhaps your bot does not even need to know anything because it already knows where it can walk and where not (or does it uses some sort of 'remembering what went good/bad' code, like Micheal Boot does with his 'official cs bot'?)
|
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
*Bumbed* (?)
I suggest we do agree on a standard format which only provides navigation information. Perhaps not even connection data! As a suggestion i'd like to propose we have a "WVF" format. This file only contains Vectors which are walkable. THey should represent points (nodes, waypoints, whatever) where you can walk to. I take 4096 as a max, the format should be simple: Code:
while (file is not empty) Looking at JOE and RACC i think we can agree on such a format. Even RACC can give me the vectors? (You need to know where to move the vBody angle so you NEED to know atleast SOME vectors). Perhaps pierre can tell me what his max amount of vectors will be? thoughts? comments?! |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
I have not worked on my own navigation yet, so I'm not best to comment, however I wonder if it would be best to make the standard file format in text form, rather than binary? Sort of like a high level language for defining the nodes.
|
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Quote:
|
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Binary format is much easier and smaller than text.
However, if you want to go down that road I suggest using XML... Code:
|
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Omg, no XML! I find that sooooooo uber bloatware! ;)
i rather use ini files: Code:
[NODES] For me, i can do this with the WVF format: Code:
for (every vector i read in the file && is valid) - general World Vector Files - bot specified files the general wvf files will do the above, while the bot specific files are 'tweaked' ones (more optimal). |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
I'd like to have "should we use XML or INI" debated and resolved.
Someone please point out the advantage(s) of using XML over INI. |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
XML is a sort of HTML kind of thing, with scopes and such. Its nice and all.
INI is a bit different. You do have scopes but yo udon't know them always (unless specificly documented). Its also harder to read when you are 'out of scope' and such. You can see an XML example at the previous post, but to compare it with an 'ini' scoped thingy i give ya an example: Code:
[GAME] There is NO NEED for INI or XML in the general waypoint data. Its only needed to include 'neighbouring' data and other stuff (goals, etc). This is imo already to specific. We all know how to code it, hence we could release source code for that. Quote:
|
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
nah, nah, nah, guys.
How will I store the number of corners of my walkfaces and the vector locations of each of these ? How will I store the entrypoints (navlinks) to these ? I have a very different "waypoint" structure than most of you ; if you really want to be generic you must take exotic features in account too. Harder than you thought, I suppose ;) |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
looking through all bots, i'd say you have to figure that yourself pmb :P We outnumber you with your nav-evilmesh thingy ;)
Is'nt there a way to strip down your data to 'walkable vectors/points' only? If you can do that, there also has to be a way to do that the other way around. I do admit that it probably will be very hard, or perhaps impossible to convert from 'normal waypoint data' to your navmesh thingy. Nevertheless, there are A LOT of waypointed bots. It would be nice to have one format. |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Unfortunately if I "strip down" the data as you say, the navmesh is of no use... and there's strictly no way to get the information back after it would have been "stripped" to vectors.
I suppose I'll have to step out of your project... :( |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
about xml and ini files ...
e.g. pierre could put all his data to that file, also providing a middle vector of each walkable node and telling to which of the neighbors it is connected. in xml, it is no problem to load that data not considering the additional data pierre had included because he needs somewhat more data. this may be a bit more complicated with ini files, although solvable. With xml one would already have a ready-to-use system, just looping thru the tags and comparing them to some keys, no need to bother about any possible differences in the actual data provided ... dunno, I'd now prefer xml :) |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
yes, with xml you can possibly make a mid-way for this. So pierre can save additional data for his meshes, and we can simply extract data that we only need. I have read there are already some xml readers available on the net, so there is no need actually to write one from scratch.
|
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Just a note about what I mean by "INI" file. I'm not talking about Windows INI files where you use the windows system calls to extract information. I'm talking about a simple text file with tags similar to what is seen in an INI file. With such a file, you can have it do anything you want, including read/write XML formatted text.
For example, PMB's extra info could simply be skipped over if not usable - I don't see a need for XML to do such a simple thing. I don't really care if XML is used or not, I just don't see what the big deal is about it. Given the lack of advantages, my concern is that if we stick to XML then we are limited to XML. |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
an advantage of xml is that normal webbrowsers support their display, allowing to collapse parts etc ...
XML is a well known international standard, so why use an own .ini file format ?! |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Quote:
|
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
I'd say, lets first get to know what information we need to store for PMB, because this is about his extra data. If we don't use that we would not need any luxurious format.
So, PMB, what do you need? If you can give it in a list like: int numleafs; vector corners[]; etc... we know atleast how to get it done, i mean, we could simply do this as a format, and skip this whole XML thingy, which is bloatware imo for this thing: Code:
; Vector #1, general information for all bots |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
I also have an ini parser ready to use, anyway:
I use 2 sorts of nav files. .map files which hold the world data, that is, the global navmesh, that all bots know. .nav files, which are the LINKS to different nodes of this navmesh, along with particular info about them, which are specific for each bot. The more a bot discovers links between nodes, the more it knows the map, and the better it navigates. I propose not to worry about this separation, and in order to simplify things I'll sacrify the per-bot autonomy (only in this project, not in my bot code). I can also rebuild the topology hashtable myself out of the walkfaces pool, so it's OK if I drop it. The file will need to have the following information, a minima. Arranged or not like this, anyway this one is the format I use - I can't simplify it more. Quote:
|
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Quote:
Possible? |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
I think RACC would eventually not even need nav data from us, as his bots are capable of learning maps more quickly then bots plotting nodes. Actually, RACC should know what surfaces are walkable already, it just needs some confirmation for that. That would mean, only 1 round to play and you already have data to play with.
I see why it is difficult to port navmesh to nodes and vice-versa, so i think we should focus on this standard format? Do we agree on the following format? Code:
; A walkable vector |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Quote:
It may be harder to read (for a human, that is) and it surely is bulky, but what universal applicability concerns, it is hard to beat. It's a world standard and you can use techniques like DTD to let your webbrowser verify the files - VERY convenient. You might have guessed it, but I would go with XML... |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
yes,its nice you can read it with a browser, but whats the use of that?
|
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Not only read, but verify. If (for whatever reason) one coordinate is missing in your Ini-file, your reader will go havoc. If you load an XML-file with a missing coordinate in your browser, it will print out something like "Error in line xxx" - at least if you are using DTDs.
|
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Why would the readed go havoc ? If it's correctly written it should check for such cases...
I understand your concern for XML but elitism is no good for me, and I'd never sacrify the readability of the data to some obscure universal standard, however these are only my cent and a half. |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
It appears that PMB's method of navigation should in theory be better than all the others. If this is so, then why not adopt his method as the standard? I suppose one problem will be that the method assumes a certain type of map structure is to be parsed, so it may not be universally applied - I may be wrong about this however. What do you guys think about this one?
As for using XML or not, it really boils down to knowing if using it will provide more advantages than disadvantages over other potential formats. XML is an accepted standard format, and web browsers can read it and look for syntax errors. While this is true, many errors cannot be detected by a generic XML reader because the generic reader cannot do anything with XML other than verfiy that the XML syntax looks ok. The XML tags are all customizable and a special interpreter is needed to make sense out of the supplied XML code. Is there a BIG advantage that XML will give us? If I understood coorectly what XML is all about, it is clear the idea is potentially a good one because the basic infrastructure for defining new mark up languages is agreed on universally as a standard. However, any new markup language that is created out of XML remains useless unless a special reader is developed for it. For example the MathML(tm) specification won't help anyone unless a special reader is aquired and installed for your browser. If it is not installed, you won't get any thing usefull from it. Essentially XML is about as much of a standard to web browsers as ascii/unicode is to text processors. The world has only agreed that a certain format is to be used, but what the content represents is up to the individual application. So, no matter if XML is used or not, the only advantages we'll see is that a web browser can read it, and if a special interpreter is installed for the browser, the browser may be able to do something more with it. Is having a web browser read and interpret the XML data something we want, or need? |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Quote:
Quote:
[NAVMESH_INFO] ... [/NAVMESH_INFO] [WAYPOINT_INFO] ... [WAYPOINT_INFO] |
Re: Loading other bot wayponts (standard format?) & Standardized directory structure?
Quote:
Quote:
|
All times are GMT +2. The time now is 10:46. |
Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.