hawkaloogie Posted December 7, 2008 Report Posted December 7, 2008 After a rather long hiatus, the person who was formerly known as both "sknox" and "deadpigeon" (he knows who he is...) has gotten me back into SubSpace. Cutting to the chase: I want to implement a centralized (not a dirty word) statistics-gathering website. Be it useful or for my own amusement, I care not. The biggest goals for this project will be the immense scope of the statistics gathered, and the inclusion of Achievements. The lesser goals are syndication, SSTags, and re-branding for hosted zone solutions. Because of the statistics I want (a complete snapshot of the player's ship when they kill, die, pick flag, pick ball, drop flag, shoot ball, or game ends), I think that this idea will only work as an AS3 plugin. Questions I have: 1) How capable are the SS bots these days? Would there be a way to get a complete snapshot of a player's ship at a precise moment (keeping in mind there may be many such moments each second)?2) How many SSC zones are using AS3?3) What do the zone admins want in terms of statistics-gathering and Achievements? My goal is to have zone/arena admins create their own achievements based on the statistics gathered using an interface on the website.4) Am I completely off my rocker?5) And just who exactly do I think I am, really? Some ideas of achievements I've had:- Mother Hen (get 50 kills within 20 tiles of dropped flags)- Kamikaze (make an enemy kill you and one of their teammates 10 times)- Fortune Favors the Bold (kill an enemy with less than 100 energy left 5 times)- Quick Reflexes (kill an enemy with their "warp flash" active [decloak or warp] 5 times)- Z-Ray Eye (kill an enemy while cloaked and stealthed 10 times)- AFKilla (kill an enemy who does not move or shoot 50 times) I'm not going to add some lofty bullshit about "bringing people back to subspace", or "getting new people hooked". The point of this is to make subspace more fun for those currently playing and to add some variety and spice where things may be stagnating. Plus, everybody else has achievements, why can't we? Feel free to ask any questions, offer any suggestions, or offer any help. I would need some programmers for the AS3 plugin or bots (if a bot can indeed be used). Further implementation details will be fleshed out in a more appropriate setting. Perl programmers and web designers would be great too. Feel free to leave me a message in-game if you want to be added to the list of people who can help.
rootbear75 Posted December 7, 2008 Report Posted December 7, 2008 (edited) http://www.ssforum.net/index.php?showtopic=22015 Search does wonders. EDIT: oh and: http://www.ssforum.net/index.php?showtopic=21883 Edited December 7, 2008 by rootbear75
hawkaloogie Posted December 7, 2008 Author Report Posted December 7, 2008 http://www.ssforum.net/index.php?showtopic=22015 Search does wonders. EDIT: oh and: http://www.ssforum.net/index.php?showtopic=21883 I'm sure search does wonders, but I don't see the relevance of either topic. This hasn't anything to do with the in-game points (though that could be one of the stats gathered). My goal is achievements. Like Xbox360 games, Steam games, some PS3 games. The statistics will make achievements possible, and while I have the data I might as well do something useful with it (like give it away to whomever wants it for whatever reason).
rootbear75 Posted December 7, 2008 Report Posted December 7, 2008 (edited) you were asking about a stats website. that is precisely what the edome site did and what TW's does now and also, its not technically feasible. Edited December 7, 2008 by rootbear75
tcsoccerman Posted December 7, 2008 Report Posted December 7, 2008 Inorder to do what you're proposing, all zones would have to agree on a point ratio. For example, some zones give lots of points for one kill, and few points for another. And for kills, some zones have few kills per minute rather than some basing/rushing zones where a player can die every 5 seconds. In the high death zones, each kill is worth less, say 1/5 of a kill. ASSS has a module coded by smong that allows recording of these statistics. I'll try and find it...here it is. I'm not gonna lie i didn't read your whole post, let me know if i'm off track.
Samapico Posted December 7, 2008 Report Posted December 7, 2008 Yeah, something at the SSC scale seems impossible because of all the difference in settings. A simple example is things having to do with dropped flags... not all zones have them in the first place Most of these would require ASSS anyway, and only a few SSC zones use it at the moment. Like Xbox360 games, Steam games, some PS3 games.But there are no achievements that are common to all the games, are there? Same for zones... This would be a very nice idea for a zone, but there's no way to apply it to all the zones at once, because they are different games.
Hakaku Posted December 7, 2008 Report Posted December 7, 2008 1) How capable are the SS bots these days? Would there be a way to get a complete snapshot of a player's ship at a precise moment (keeping in mind there may be many such moments each second)?2) How many SSC zones are using AS3?3) What do the zone admins want in terms of statistics-gathering and Achievements? My goal is to have zone/arena admins create their own achievements based on the statistics gathered using an interface on the website.4) Am I completely off my rocker?5) And just who exactly do I think I am, really?1. Most bot-oriented zones are very capable. (not sure how you wanted me to answer this)2. Only one zone is ASSS (Hyperspace).3. Depends on the zones and gameplays evidently. You could have kills, deaths, ratio, average, banners, points, squad, tks, flag wins, etc.4. Maybe.5. hawkaloogie. Without access to SSC billing, you would need every zone's bots and the such to send you the information. Most people probably aren't really willing to do that; and most zones (EG, TW, Deva, Premier, etc.) already have their own scores website.
Aceflyer Posted December 8, 2008 Report Posted December 8, 2008 Hyperspace is not the only SSC zone that is ASSS. Powerball and Hockey/Football Zone are also ASSS. I believe The CompleX is ASSS as well.
Hakaku Posted December 8, 2008 Report Posted December 8, 2008 Hyperspace is not the only SSC zone that is ASSS. Powerball and Hockey/Football Zone are also ASSS. I believe The CompleX is ASSS as well.True, though Powerball cheats by using bots, and The Complex has 0 pop 24/7.
Aceflyer Posted December 8, 2008 Report Posted December 8, 2008 Hyperspace is not the only SSC zone that is ASSS. Powerball and Hockey/Football Zone are also ASSS. I believe The CompleX is ASSS as well.True, though Powerball cheats by using bots, and The Complex has 0 pop 24/7. Don't mean to offend, but is there a particular reason why using bots in a ASSS zone constitutes 'cheating'? And yeah- The CompleX has 0 pop 24/7 but it's an SSC zone as far as I know so I thought it was worth mentioning here. But I agree that the 'significant' ASSS zones on SSC are HZ, HS, and PB.
hawkaloogie Posted December 8, 2008 Author Report Posted December 8, 2008 From the start, again, this has nothing to do with points. In fact, has nothing to with any kind of blanket applied over the zones. As you mentioned, zones are so incredibly diverse as to make any single set of achievements irrelevant. The idea is an opt-in, per-arena service. An admin says "Hm... I would like to add achievements to my arena." They register on the site, there is a verification process, and they are given some code (all F/OSS) in the form of an AS3 plugin or bot plugin or otherwise. They set up the code, enter in their security configuration information, and the bot starts sending statistics to the site. Meanwhile, the arena admin is making achievements for their arena only. So, if I were a Chaos pub admin, I could make a "weenie roaster" achievement for those people who kill 50-60 bty ships while they are over 100 bty. If I were a Warzone league admin, I could make a "daredevil" achievement for those people who kill 10+ peole while holding all 8 flags. The achievements are relevant only to the arena they are created for, though some method of exporting/importing/sharing achievements between arenas would be feasible. Only the website itself would be centralized. Much like stats.svnzone.com (which is wonderful) but any zone can join. The Premier 4v4 league bot is capable of a LOT of statistics gathering, but I have no idea how. AFAIK it might be capable of most of the stats that I would need, but I don't know if it would be able to be adapted to other arenas. Most would be good, just some would be enough, all would be best. The capability of the arena's stats plugin will govern the types of achievements (and the wacky achievements are the fun ones, "Get 10 kills without a death" is mundane, "Get 10 kills without using a Rep, Burst, Thor, Brick, Portal, Decoy, or Rocket" is much more fun). I'm not here to replace existing bots. I remember too well the politics of SubSpace to attempt any such doomed mission. The system could be used for more than I'm describing, but any well-designed system is capable of features not anticipated or intended. I'm not here to change the world. I'll have an XML DTD for request and response shortly, then I can work on some template mockups and diagrams to perhaps better describe how this will work.
tcsoccerman Posted December 8, 2008 Report Posted December 8, 2008 I understand now. I think it's a great idea.
Samapico Posted December 9, 2008 Report Posted December 9, 2008 Sounds like a good idea... The zone owners would only need to be configured for their achievements? Not reprogrammed, right? That makes me think that it might be hard to make a system that can handle things like that... Possible, but maybe hard. You'd need a large set of conditions (kills, deaths, spree, number of flags carried, number of team flags, position near .... , ship #, ... In the case of an ASSS zone, a condition if the zone is in a certain region would be possible too. Then you need a system that can combine a variable number of conditions together. And some of the examples you mentioned in the first post would be technically VERY hard to spot for a module; and probably near impossible for a bot. If you want to have something that works in any zone and is fully customizable, it will be a LOT of work. Perhaps the bot version of this could be done, but would be much more limited. But it could still connect to the database and such. Another thing to think about would be the security of the database / server. The code of the plugin/module would most likely be available to zone owners somehow, and... well I'm no expert in such things, but I guess there's a way to prevent people from screwing up with the database.
tcsoccerman Posted December 9, 2008 Report Posted December 9, 2008 I think that lots of zone owners would be willing to implement this. For ASSS it would be very light work on the owner's part. If you can make a module, and an easy to manage .conf i think that zone owner's would WANT to put it in. I'm not familiar with subgame, but if you do the same thing but with .cfg's it should work well (i'm guessing you'd be the one to host the bot which i don't see being more of a problem than a plus). Even though i'm busy with lots of random shananigans, i'd like to help you on the ASSS side. The best way to contact me is in IM, my aim account is tccontinuum, and msn is tcsoccerman@hotmail.com. I've got shared hostmonster hosting right now i'm paying for, if we can use that. I've got "unlimited" bandwith, which really isn't unlimited but for how much traffic i'm getting i'm guessing it's enough. We can setup a database and everything. Is anyone interested on the subgame side?
Samapico Posted December 9, 2008 Report Posted December 9, 2008 I'd be interested, but I have too many things going already to take the lead on it. And it might be easier to make it work on ASSS, then port it on MervBot or something, perhaps removing a few features that are not possible for it.
rootbear75 Posted December 9, 2008 Report Posted December 9, 2008 and the bot starts sending statistics to the site.this is the part i was talking about
Samapico Posted December 9, 2008 Report Posted December 9, 2008 and the bot starts sending statistics to the site.this is the part i was talking aboutThe difference is that the 'stats' are achievements (partially or totally) completed, instead of just kills, deaths, etc.But yeah, the same system could be used
Aceflyer Posted December 10, 2008 Report Posted December 10, 2008 I'd be interested, but I have too many things going already to take the lead on it. And it might be easier to make it work on ASSS, then port it on MervBot or something, perhaps removing a few features that are not possible for it. What Sam said.
hawkaloogie Posted December 10, 2008 Author Report Posted December 10, 2008 Right now I'm leaning towards having different "profiles" of statistics. A bot could say "I'm capable of the 'low' profile of statistics", whereas an AS3 plugin could say "I'm capable of the 'high' profile of statistics". This would be reported to the site to help zone admins with making their achievements. It will also aid in the development and adoption processes. Not reporting a profile would degrade gracefully, the site just won't know what the bot is capable of and may present some options to the admin that are not possible. The calculations for the achievements will happen (from my current view, subject to better ideas) server-side. The server will let the bot know what it needs to know when it wants to know (from now on I'll just be saying "bot" to mean "the consumer of the XMLRPC interface"). In a coincidental discovery, I stumbled across all of my SS bots. Not sure how useful they will be (they're based on an old version of Cerium's hybrid core using the AlphaSpawn frontend), but I might be able to throw together a working reference plugin for the 'low' profile. For security, I was figuring on using HTTPS for transport with some GUIDs for verification. I can't do foolproof, but if someone else can I will be interested. I've started a project on Google Code. Nothing there right now, of course, but I'll start putting design documents and images there shortly. http://code.google.com/p/sstag (reading back over these posts I can see where a lot of things aren't being described clearly. perhaps the more formal documents I'm drawing up with alleviate this)
Dr Brain Posted December 10, 2008 Report Posted December 10, 2008 Don't call it AS3, only the uninformed call it that. If you make an ASSS module, make sure it's 100% bullet proof, even to the point where you check the parameters through multiple function calls and lm->Log anything that doesn't make sense. If a zone owner (me) even *thinks* your module is responsible for a crash, they'll never load it again. So effectively you've got one shot at a public release. Don't mess it up
Samapico Posted December 10, 2008 Report Posted December 10, 2008 True... ASSS modules, unlike bots, can crash the whole server :/ (well, technically, bots could *shutdown,but it's usually disabled anyway )
RiiStar Posted December 10, 2008 Report Posted December 10, 2008 (edited) True... ASSS modules, unlike bots, can crash the whole server :/ (well, technically, bots could *shutdown,but it's usually disabled anyway ) Oh believe me the bots are capable of crashing the entire server....TW's BotDev know this all to well, but thats what happens when you push to expand the scope of project past what was thought it would do in the past. Distension (TW's RPG version of HyperSpace) is the culprit in TW atm, Qan has made an amazing bot but underlying problems with core codeand the amount of data it sends constantly can cause issues. Though to note, they have made leaps and bounds in fine tuning the core code to reduce this.If the scope wasn't pushed issues unknown would have never been found/fixed... Edited December 10, 2008 by RiiStar
Samapico Posted December 10, 2008 Report Posted December 10, 2008 Ok ok... it can crash a server.. but not the 'zone' itself. It can freeze the machine if it abuses a database or something, and well it could delete system files too if you want it too; it's a dll after all... But you know what I was talking about anyway
hawkaloogie Posted December 12, 2008 Author Report Posted December 12, 2008 Stability and performance are major goals, which is why I want the bot/plugin to do as little actual work as possible. For example: The bot won't calculate if a user was within "X" tiles of a flag, it will just send all of the flag positions to the server and have the server figure it out. The bot isn't required to send events real-time, but can queue and send a batch whenever it wants. The web server can be optimized and we can throw more hardware at it, the zone server is already under strain and the bot is already doing a lot (keeping track of game, all the other plugins, etc...). It goes without saying that there will always be bugs, but I hope that the bugs will be mostly in the web site, not in the bot/plugin.
Samapico Posted December 12, 2008 Report Posted December 12, 2008 I'm pretty sure it would be more efficient if the bot did that kind of work itself... Otherwise it will clog the network by sending data to the server; and if you delay/queue information, you'll have problems: -No way to tell the player he completed an achievement right away-Very complicated to determine if an achievement was actually accomplished, especially when you have combined conditions-You'll find yourself sending a ton of useless data to the server. You don't need to send flag data if the zone doesn't use any accomplishments involving flags, for example.-You'll be limiting yourself a lot, overall imo, the CPU usage for checking player positions and things like that is very low compared to the hassle/network usage for sending stuff to one server. Even if you queue events and send them in batch, you'll end up with huge queue of events to send. Globally, you end up with more treatment too. The bot or module 'has' the data, instead of just treating it, you'd have to repack it packets, send it; then receive them on the other end, unpack them to get the data, and then treat it.
Recommended Posts