Author |
Message |
Guest
Offline
|
Posted: Fri May 21, 2004 8:13 am Post subject: Asss Bots |
 |
|
|
|
Is it possible to have bots on ASSS, and i am confused about this "module" thing, as a plugin for asss instead of bots, and how do you make modules/is it easy? |
|
Back to top |
|
 |
Dr Brain Flip-flopping like a wind surfer

Age:39 Gender: Joined: Dec 01 2002 Posts: 3502 Location: Hyperspace Offline
|
Posted: Fri May 21, 2004 10:01 am Post subject: |
 |
|
|
|
Yes, you can use MERV in asss. Some of the plugins wont work, but it's easy to fix them up if you have the source. It's mostly a matter of changing *arena to *aa.
Yes, modules are basicly the same thing as bot plugins, with much more powerful options.
Making modules is easy once you learn how. Unfortunatly, there isn't much documentation to go by. It comes down to trial and error, and then practice. _________________ Hyperspace Owner
Smong> so long as 99% deaths feel lame it will always be hyperspace to me |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Fri May 21, 2004 7:48 pm Post subject: |
 |
|
|
|
The fact that ASSS does not support all Subgame commands as-is will seriously delay its adoption. _________________ 4,691 irradiated haggis! |
|
Back to top |
|
 |
D1st0rt Miss Directed Wannabe

Age:37 Gender: Joined: Aug 31 2003 Posts: 2247 Location: Blacksburg, VA Offline
|
Posted: Fri May 21, 2004 8:12 pm Post subject: |
 |
|
|
|
but there are many work-arounds. For example if you were making an elim module, you can't scorereset. However, you CAN edit player stats so that they have 0 kills and 0 deaths. If this works the way I think it should, it would preserve points, which I think is better _________________
 |
|
Back to top |
|
 |
Mine GO BOOM Hunch Hunch What What

Age:42 Gender: Joined: Aug 01 2002 Posts: 3615 Location: Las Vegas Offline
|
Posted: Fri May 21, 2004 9:31 pm Post subject: |
 |
|
|
|
D1st0rt wrote: | you can't scorereset |
It may have been a while since I looked at the ASSS source, but I know for a fact that there is a scorereset packet, and if there is not a function yet that will use this, it should be very simple to add. |
|
Back to top |
|
 |
D1st0rt Miss Directed Wannabe

Age:37 Gender: Joined: Aug 31 2003 Posts: 2247 Location: Blacksburg, VA Offline
|
Posted: Mon May 24, 2004 9:52 pm Post subject: |
 |
|
|
|
It hasn't been fully implemented yet, I had to add the above function when I was writing an elim module. |
|
Back to top |
|
 |
Grelminar Creator of Asss
Joined: Feb 26 2003 Posts: 378 Offline
|
Posted: Mon May 24, 2004 10:24 pm Post subject: |
 |
|
|
|
You pretty much shouldn't ever be using stats->SetStat (which is what it sounds like you're using). If you want to reset everyone's score after an elim round, you should be doing something like persist->EndInterval(NULL, arena, INTERVAL_RESET) instead. Note that using INTERVAL_RESET is a hack: it really should be INTERVAL_GAME, but Cont doesn't currently support multiple stat intervals. |
|
Back to top |
|
 |
Grelminar Creator of Asss
Joined: Feb 26 2003 Posts: 378 Offline
|
Posted: Mon May 24, 2004 10:35 pm Post subject: |
 |
|
|
|
I disagree that not supporting all subgame commands will have any affect on asss adoption. It's easy for human mods to learn the differences, so it could only affect bots. It seems to me that if a zone wants to switch, modifying their bots to use a few new commands would be one of the easier things to worry about. And using bots with asss is only a short-term solution anyway, while they work on integrating whatever their bots did into asss with modules.
Btw, I know the state of documentation is kind of pitiful. I'm working on it, slowly, so it might be a few weeks before I have anything to present. |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Tue May 25, 2004 11:04 am Post subject: |
 |
|
|
|
Grelminar wrote: | I disagree that not supporting all subgame commands will have any affect on asss adoption. It's easy for human mods to learn the differences, so it could only affect bots. It seems to me that if a zone wants to switch, modifying their bots to use a few new commands would be one of the easier things to worry about. And using bots with asss is only a short-term solution anyway, while they work on integrating whatever their bots did into asss with modules.
Btw, I know the state of documentation is kind of pitiful. I'm working on it, slowly, so it might be a few weeks before I have anything to present. |
I don't see anyone ever recoding from scratch all PB bot functionality into ASSS modules. Therefore, we will be using external bots. Since ASSS uses ? for command prefixes, all existing PB bots are broken until we change one or the other. Hence, ASSS faces a long uphill struggle for adoption in PB.
How many people are actually going to be good enough to make changes to ASSS? Certainly not most of the MERV tweak-until-it-compiles losers who post here. And whose binaries are we going to trust?
EDIT: Sorry, I meant ! for command prefix. Grel told me once that ASSS traps all text starting with ! as internal commands, effectively killing all bot commands.
Last edited by Mr Ekted on Tue May 25, 2004 12:55 pm, edited 1 time in total |
|
Back to top |
|
 |
Dr Brain Flip-flopping like a wind surfer

Age:39 Gender: Joined: Dec 01 2002 Posts: 3502 Location: Hyperspace Offline
|
Posted: Tue May 25, 2004 12:18 pm Post subject: |
 |
|
|
|
The persist module stores data between intervals. After the interval, the data is reset. This comes in really handy for all kinds of things. Like the jackpot isn't lost on a recycle/crash.
ASSS also accepts * command prefixes. Just sysops/mods get used to ? because it's easier to remember.
*somecommand will do exactly the same thing as ?somecommand. Of course that doesn't apply to client commands like *go, *sound, *music, etc.
Why trust anyone's binary? Compile it yourself.
PB sounds like it doesn't have an abstraction layer in it. The TWCore has one, so only a quick 5 miniute core change is required to make 99% of all bots work without change. The other 1% use commands that aren't part of ASSS.
And you'll want to port your bots to ASSS some day, anyhow. Assuming of course that you ever use ASSS. |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Tue May 25, 2004 12:49 pm Post subject: |
 |
|
|
|
I don't want to change my bots or the bot core to make it work with ASSS. I want ASSS to change so the bots stay the same. I want all my bot ! commands to work as is. That is the point. |
|
Back to top |
|
 |
Cyan~Fire I'll count you!

Age:37 Gender: Joined: Jul 14 2003 Posts: 4608 Location: A Dream Offline
|
Posted: Tue May 25, 2004 1:45 pm Post subject: |
 |
|
|
|
I personally think the using '?' for server commands makes no sense. There should be a difference between server and client commands. _________________ This help is informational only. No representation is made or warranty given as to its content. User assumes all risk of use. Cyan~Fire assumes no responsibility for any loss or delay resulting from such use.
Wise men STILL seek Him. |
|
Back to top |
|
 |
Dr Brain Flip-flopping like a wind surfer

Age:39 Gender: Joined: Dec 01 2002 Posts: 3502 Location: Hyperspace Offline
|
Posted: Tue May 25, 2004 3:05 pm Post subject: |
 |
|
|
|
*sheep
*usage
*find
*password
etc?
Ekted: If you aren't looking to change your bots, ASSS isn't for you anyway. |
|
Back to top |
|
 |
Grelminar Creator of Asss
Joined: Feb 26 2003 Posts: 378 Offline
|
Posted: Tue May 25, 2004 3:47 pm Post subject: |
 |
|
|
|
Come on Ek, now you're just being difficult. I removed ! as a command prefix months ago, because of suggestions from you and others.
Nobody claimed the api is "intuitive." Some parts (like persist) are complicated because they do complicated things. That particular function has three parameters because, amazingly enough, you can use it to do slightly different things based on the parameters you pass it. I hope you'd agree that making one EndInterval function with a parameter is better than making several ResetGameScores, ResetResetScores, etc. functions.
Any decent host will end up compiling it themself anyway, so I don't understand your point about trust. Even people running on subgame have to trust their host.
Regarding making changes to (the core of) asss, I hope very few people will ever have to do that. The point is that they should write modules that just add on and not have to touch the core. So who's going to do that? Well, once I finish the api documentation, hopefully some more than are doing it now. But eventually I hope lots of people will, except they'll write modules in python instead of C, so that they're easier to write and safer to run. |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Tue May 25, 2004 4:09 pm Post subject: |
 |
|
|
|
Yes, but using a function because you want to invoke its side effects is just as bad as the current server. Ending something should not be linked in any way to scores at the API level. If you want to reset scores, you shouldn't have to end anything. You should be be able to reset a player's score, a team's score, all scores, etc. without any other side effects.
I would hope that you will be hosting the current binaries somewhere for each OS. It's silly to make every zone go through that BS. Is there a Windows build for ASSS that is Catid/MGB-untouched? |
|
Back to top |
|
 |
CypherJF I gargle nitroglycerin

Gender: Joined: Aug 14 2003 Posts: 2582 Location: USA Offline
|
Posted: Tue May 25, 2004 4:39 pm Post subject: |
 |
|
|
|
I don't understand why ASSS doesnt follow subgame commands:
*arena should be simply that, *arena
?arena should be the client command for arena attrevial; etc. etc.
My 2 cents, although it's not worth anything.. _________________ Performance is often the art of cheating carefully. - James Gosling |
|
Back to top |
|
 |
D1st0rt Miss Directed Wannabe

Age:37 Gender: Joined: Aug 31 2003 Posts: 2247 Location: Blacksburg, VA Offline
|
Posted: Tue May 25, 2004 4:44 pm Post subject: |
 |
|
|
|
Is that stuff in pymod.c?
Also, are there any existing python modules available to examine? |
|
Back to top |
|
 |
Dr Brain Flip-flopping like a wind surfer

Age:39 Gender: Joined: Dec 01 2002 Posts: 3502 Location: Hyperspace Offline
|
Posted: Tue May 25, 2004 5:33 pm Post subject: |
 |
|
|
|
Mr Ekted wrote: | I would hope that you will be hosting the current binaries somewhere for each OS. It's silly to make every zone go through that BS. Is there a Windows build for ASSS that is Catid/MGB-untouched? |
Yes, but I compiled it, so it's probably worse
Not to mention 4 versions out of date.
At the moment, anyone who can't compile ASSS shouldn't even be looking at using it. |
|
Back to top |
|
 |
Grelminar Creator of Asss
Joined: Feb 26 2003 Posts: 378 Offline
|
Posted: Tue May 25, 2004 6:07 pm Post subject: |
 |
|
|
|
Mr Ekted wrote: | Ending something should not be linked in any way to scores at the API level. |
Oh, now I see where you're getting confused. You're implying EndInterval does something other than reset people's scores. That's partly true, it does. But you're missing the point that everything it does is solely for the purpose of resetting people's scores in a better way. I don't really want to explain the whole persistent data system in this post, but I'll point out that EndInterval does exactly what you want in the situation that was mentioned before, and gives you a lot of benefits for free that would have taken a lot of work with bots (e.g. full per-game historical scores). Would it be less confusing if I called it StartInterval instead?
Cyan~Fire wrote: | There should be a difference between server and client commands. |
There clearly is a difference. Maybe you mean there should be a difference in interface? I disagree: there's no reason that most players should care whether a particular command is implemented on the client, the server, or the billing server. Having them use different prefix characters for each one only creates confusion, and wastes valuable keys on the keyboard. Although, if you really want it to work that way, feel free to always use ? for client commands and * for server commands.
CypherJF wrote: | I don't understand why ASSS doesnt follow subgame commands |
It doesn't follow subgame commands because subgame commands are dumb and confusing. Can you think of a really good reason why ?arena and *arena should be different things, besides historical precedent? I even made the equivalent command shorter and easier to type, so I really don't understand what there is to complain about.
D1st0rt wrote: | Is that stuff in pymod.c? |
pymod.c is the module that implements support for python modules. There are no significant python modules to examine. I have a few little scraps that I've written as examples, though. Here's one. |
|
Back to top |
|
 |
-Smong- Guest
Offline
|
Posted: Wed May 26, 2004 12:46 pm Post subject: |
 |
|
|
|
Mr Ekted wrote: | Is there a Windows build for ASSS that is Catid/MGB-untouched? | I've seen servers running recent windows binaries, people are either too lazy or too paranoid to share them .
Also, last time I checked Dev-C++ (the free compiler) can compile some modules, but not the core. |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Wed May 26, 2004 12:52 pm Post subject: |
 |
|
|
|
Grelminar wrote: | [..]Would it be less confusing if I called it StartInterval instead? |
I don't see how intervals are related to scores. If you want scores reset after each "inning" or game or day or week, you should be calling the ResetScore() function at that time. What am I missing? |
|
Back to top |
|
 |
-Smong- Guest
Offline
|
Posted: Wed May 26, 2004 1:26 pm Post subject: |
 |
|
|
|
@Mr. Ekted
Do you mean reseting scores for specific players in a specific arena (fx: everyone currently in arena elim not in spec)? I don't think per player resetting is implemented yet (it would be used in ?scorereset if it was).
@Grelminar
With this interval thing, when you end 'interval reset' can you then retrieve total kills ever and total kills since last reset (or a specific reset)? I would imagine to save harddisk space the player's entry is deleted from the DB instead of setting some values to 0 making this impossible. |
|
Back to top |
|
 |
Grelminar Creator of Asss
Joined: Feb 26 2003 Posts: 378 Offline
|
Posted: Wed May 26, 2004 4:15 pm Post subject: |
 |
|
|
|
Mr Ekted wrote: | What am I missing? |
You're missing the design of the score system. There's no such thing as "player A's score". There's only "player A's score in game x", and "player A's score in reset y". Those pieces of data never get erased. The only thing that happens is that x and y get incremented, and that effectively makes everyone start at 0 (because a missing stat is equivalent to 0). That's what EndInterval does.
Smong wrote: | can you then retrieve total kills ever and total kills since last reset (or a specific reset)? |
By default nothing is deleted from the DB. All historical stats are available. If you want to clean stuff out to save disk space, you can run "dbtool erasehist", which removes everything except the current data. |
|
Back to top |
|
 |
Explody Guest
Offline
|
Posted: Wed May 26, 2004 4:57 pm Post subject: |
 |
|
|
|
There is a pure 1.1.2 on my website. It was compiled by Dr Brain, not this tweak-it-untill-it-compiles merv guy. |
|
Back to top |
|
 |
|