|
Post by greenberret on Dec 4, 2007 15:35:39 GMT -5
Heya Civvers I would, FIRSTLY, like to thank Levi for the idea: THANK YOU This is my 1st post, and, i hope its a usefull one. Now, on to business. I am busy creating an Automated Reporting System (ARS) for the ladder. The idea is that the ARS runs on top of civ, as oposed to running below civ as a "MOD". This means none of the scripts are altered. The ARS monitors the various important memory areas of Civ, and records important information. I have spend the last two days working full time on the project, and so far, ARS is currently able to detect A.1) Player Names A.2) Player Scores A.3) Player Ranks* A.4) Game Start/End I am currently working on finding: B.1) Detecting which player belongs to which team. B.2) Detecting "Non-Overall-Score based" Vicotries such as Space Race/ Cultural/etc.... I have left out the deeper technical explanation of how ARS works, but i can post it if any1 is interested. At the moment, with the current ladder (http://www.myleague.com/civ4players) ARS will be able to report the losses, but I do not know how the NEW ladder's infrastructure looks, so i cant say that ARS will work with the new ladder without major changes. Once I am done with B.1 and B.2 (no not the banana brothers ;D) I will release an aplha version for testers and then a beta version for ALL civvers. I have no doubt that I will be able to complete this proj on my own, but I think it would be nice to have the community have some input into it....and maybe speeding up things a bit too. That being said, what I would LIKE to be assited with is: 1) Questions & Ideas. Maybe I am overlooking something somewhere? Is there something you want to add? DO YOU ACTUALLY WANT THIS?...etc There are alot of additional features that i can install into ARS, such as: performance tracking, best/worst rivals/stats...etc. Any brainstorming ideas would be much appreciated. 2)Testers. People to whom i can email ARS so that they try it out and find "glitches" etc 3)Artists. I suck at drawing even a simple stickman (even if it had no arms, no legs and not even a head, I would still suck at drawing it ;D). If you have the time, and think u can make a kewl background (or even the whole user interface) for ARS, PLEASE contact me 4)Any1 with indeph knowledge of RE/RCE to help with things such as the above mentioned B.1 and B.2 CS, if u read this: I will contact you as soon as the alpha version is ready, so that we can discuss creating some fake accounts IF possible....and, whether u want to implement it as part of the ladder... levi said he would maybe be able to assist me in creating a fake ladder for testing purposes. I think it would be really nice to have a ladder where there are no cheaters and no streak-rollers (eh hofz? ) Cheers GreenBerret
|
|
|
Post by cryptococcus on Dec 4, 2007 17:10:40 GMT -5
Wow, this sounds great. Good luck with it. Btw, contact rokkitlauncher for help with fake ladder accounts, I'm sure he can help
|
|
|
Post by rokkitlauncher on Dec 4, 2007 17:16:15 GMT -5
my e-mail address is lalgeenewcastle@hotmail.com if you need some fake accounts on the black market
|
|
|
Post by penny on Dec 4, 2007 17:21:26 GMT -5
OMG, this look AMAZING !! If it really does what I have understood, it's gonna be a major change for this community, keep on ! My question : What if the other player does NOT have the program launched ? I'm guessing/suggesting/wondering, they'll be a recognition of this, otherwise it will lead to non-report --> cheating. My dream (that would be version 2, supra gold) ; This would include Hamachi's feature. I keep on dreaming we could do all with C4F, Hamachi, and This program now. Simply because Hamachi's game are 100% faster than those of superlaggy lobby. Keep on, you've all our support
|
|
mil0
Settler
Posts: 10
|
Post by mil0 on Dec 4, 2007 17:46:20 GMT -5
well, sounds really great... thanks for your effort!
|
|
|
Post by Tony on Dec 4, 2007 18:12:06 GMT -5
Oh wow, if you could pull this off that would be soo cool.
The only few concerns i have are:
1) What about when games are scrapped, if someone plays on by himself to the end surely the program would think its a normal win ... no? If more then 3 continue until the end, how will the program know these are not genuine players?
2) Subs might also be a problem, if someone subs the system must be able to know he didnt start the game and thus only gets reports doesnt have to do them.
3) What if you drop and rejoin without running this program? Does that mean you dont have to report? Or dont run it in the first place?
4) I hope it is very processor light, beause as i posted in the "problems" section the game has started to run very slow after about 40 turns - for many people im told, any addtional processing might bring it to a standstill.
|
|
|
Post by TheBadSeed on Dec 4, 2007 20:03:28 GMT -5
Sounds like a cool idea, but Id have some concerns too..
1. Scraps- game ends, no winner declared, what happens then?
2. Concessions- Most games are over long before the "you have achieved a victory" sign comes up. Some times, the victor is not even in the points lead, but they win because other team concedes. How can that be handled properly by an automated system?
3. Subs- Often the people actually in the game at the end are not the people who are officially responsible for reporting. How can this be handled by an automated system?
4. Rehost/Reload- how will an automated system handle the game if everyone leaves the game and its rehosted/reloaded for whatever reason?
|
|
|
Post by DrShot on Dec 4, 2007 21:55:19 GMT -5
What about when the 'authentication server' goes down, not like that ever happens
|
|
|
Post by greenberret on Dec 4, 2007 22:50:23 GMT -5
Kewl, i'm glad u guys like the idea. rokkit, i will contact u as soon as i need those accounts THANX MAN!! Tony, ty for ur q's. "1)What about when games are scrapped, if someone plays on by himself to the end surely the program would think its a normal win ... no? If more then 3 continue until the end, how will the program know these are not genuine players?"
ATM the prog can already detect whether or not a player is a computer player or a human player. So, if someone drops and the rest were to play on, the prog wil only report to the remaining human players, if any. Now by doing so, a losing player can cheat by contueing on and waiting for all human players to leave then leave himself.I think maybe by detecting when there is only one human player left and that game hasnt been scrapped(more on this later) then he will report to players who were once human(lol that sounds weird). If a "unique code" (eg a hash code of some sort that is based on variance) that could identify a player, is used, What happens now is that if a player drops and cant rejoin, he would then manually get this ID from each player that was in the same game and he would in turn feed it into his ARS app.ARS will then not report.
The unique ID will be hash composed of a game identifier, user name, and maybe a time-stamp(so that the same it can never be generated twice) If the game crashes or the player exits he will have 5min to tell ARS that he either wants to scrap, reload. Scrap, meaning he needs to get each players hash ID. If the other players wont/cant giv it to then he can let ARS take him to the "File a Non Report" section of the ladder(and maybe even file the non report for him to a certain extend) and ARS wil then vote scrap for the player that doesnt want to/cant; Leaving it up to the administrators to take action.
"2) Subs might also be a problem, if someone subs the system must be able to know he didnt start the game and thus only gets reports doesnt have to do them." Explained above, ARS can distinguise between computer players and human players,and at any stage of the game.
"3) What if you drop and rejoin without running this program? Does that mean you dont have to report? Or dont run it in the first place?" This is where that hash ID comes in again. At the start of the game each user generates an ID and gives it to the host (or any one who wants to know whether or not he is running ARS) then the host can use his ARS to verify that other user is currently running his ARS. If the user is not running ARS he wont be able to generate the ID, and he cant use an old ID. ARS can also detect when there are multiple instances of civ running at the same time.
"4) I hope it is very processor light, beause as i posted in the "problems" section the game has started to run very slow after about 40 turns - for many people im told, any addtional processing might bring it to a standstill" Atm that might be small concern, but nothing to worry about. I played a teamer with ARV running and monitoring the game... My ping is usally around 400/500, and was unaffected during the whole game (but then again i do not think some1 with a ping of 20/30 will also be unaffected). One major thing was that everytime i move a unit/stack there is a quarter second delay. This wasnt nice, but it was still playeble. Two things of interest is: 1) The game is intercepted EVERY TIME that the scored and playername is used in a calculation, which is quite alot! This can be optimized in a later stage to scale down the interceptions to every 3rd or 4th time is would have been intercepted. 2)The core of the code that is run when intercepted is written in C#.NET, which is really slow as far as proggraming languages goes but it allows one to make more progress more quickly in terms of developement. The code that intercepts the game is written in assembly, which is THE FASTEST language there is(if coded efficiently). If all (or most) of the code is written in assembly then i am sure you will only see a diffrence of 5% to 10% of what currently is. I would really like it if some1 with a "weak" machine can test it when it is in its alpha version.
heya tbs, ty for your response
"1.) Scraps- game ends, no winner declared, what happens then?" As expplained above, scraps will be manual to a certain extent. At game ends, ARS will give a player a couple of minutes to decide whether he wants to call for a scrap, or whether a reload is up..if the player does not call for a scrap nor a reload then the final score of the game will be excepted (unless it was won by space race etc). IF all the original player cant rejoin in a new game, the the remaining players can intitiate a "scrap player command". This wil remove those players from the game, and will allow the rest to be able to vote a "game scrap" or they can continue the game with ai's or subs. IF two players are missing from the rejoin then ,if a "scrap players" is called, all the missing players are removed from the game AND they get non-reports filed against them. Filing non reports wil ensure credibility because chances that 2 players are missing from the same game is rare. I think it is safe to assume that if 2 or more players are missing from a game and scrap is called that there is something fishy going on: Either the missing 2 players are quitters/bad losers because they are actually winning, and they wont give their ID's for a scrap OR, some freak accident happened in the antarctic that whiped out BOTH their connections to the internet, or that the remaining players might want to cheat (if its a 2v2 for example
and the losing 2 are calling for scrap by saying to ARS that there are 2 players missing). Eitherway, if 2 players drop in a ladder game and cant input their say into the vote of scrapping, the moderators need to know. If 2 players drop, but one comes back then there is no need for a filing of a non-report (but i will insert the option to allow the filing of non-reports in this case).
Concessions- Well i am THINKING that atm the easiest way (maybe not the best) to determine who the real winners is is the order in which the leave the game. Let me explain with an example: 1) John, Sarah and Pete are are OCC with space race on Sarh completes and wins by space race Scores are John 2000 Sarah 1000 Pete 500 If pete were to leave first, then his ARS will report to John and Sarah. Then John leaves, and because his ARS would pickup that Pete is a computer and wont report to him but will report to sarah (because ARS sees him as a "quitter" and therfor must report to all human players remaining in the game). I guess there will have to be an override function to allow conceding from the lobby by using those hash IDs. I really appreciate the questions, even if the answers doesnt make much sense to you, it gives me some kind of guidelines that i can keep in mind so that i dont run into a wall head-first.
At the moment i am still working to get the teams' structure, from memory,which is alot harder than u might think. Once i am done with that i will release the alpha verion for testers. From there one it will be only the anti-cheating and optimization then i can release the beta.
lol dr, yeah that was strange
|
|
|
Post by Canucksoldier on Dec 4, 2007 23:11:31 GMT -5
Green berret, can you please email me at csoldier@telus.net and we can discuss your ideas, and how they can fit into the new ladder system. They look very interesting but we do need a co-ordinated effort to bring all these ideas into a organized system that is user friendly as well. I'll be glad to bring you into the software development team, for the new league software.
CS
|
|
|
Post by zzZhenon on Dec 4, 2007 23:29:17 GMT -5
Way to help out Rokkit! GJ
|
|
nicoya1
Warrior
Tourney Director
C4PTD
Posts: 253
|
Post by nicoya1 on Dec 7, 2007 1:49:11 GMT -5
wow hope this idea works out
|
|
|
Post by [GER]Housemeister on Dec 10, 2007 8:18:38 GMT -5
that sounds very great! I hope it full work
|
|
|
Post by tamijo on Dec 10, 2007 9:06:43 GMT -5
Looks great. But augh so many ugly combos possible. How will you consider the 10 min droprule 2 drop rule 1 player quitting (should report both teams, is not always how it works but is how it was ment to be ) but his team goes on to a win. ect ect ect.
not easy, and some rules may even have to be changed to fit the system.
|
|
|
Post by grimarch on Dec 10, 2007 17:11:31 GMT -5
Being also a programmer by trade this sounds like good stuff, however I do think that what you intend is impossible, people who drop and rejoin, possibly under a new name will cause more than a few issues. The coding will just get too complicated and once a few issues arise a few will stop using it and then all wont be able to use.
Why not try a much simpler approach. When a game starts use your ARS to create a unique identifier for a player. The host then has controls and enters these into the host area. Once the game has been finished he simply selects the team that one, this then processes the wins in the correct order or the host selects scrap.
This has a few advantages, hosts who dont follow rules wont be hosts very long, hosts like Corve, Bulldogakq, lestat etc etc are all trusted and it makes for more of a community for a set of hosts.
To be honest you dont even really need to have a system running, the app could run under c4f and the host just fills out the data when the game starts and completes when it ends. No processing or ping issues introduced, having something running as a service however good will falover on some platforms as well, people on Vista (bleh) or Windows 2000 will need different versions which may not even communicate!
Anyway I think the host solution would be better appreciated but do think its a fantastic idea. As i say to the programmers that work for me, think of the minimum required to get it to work functionally and add bells and whistles after, something which the coders of Civ 4 didnt really do either!
D/Grimarch
|
|
|
Post by zoolander757 on Dec 12, 2007 21:07:53 GMT -5
Maybe you could use the vote screen system when someone leaves or drops to help with scraps, concedes, subs. With the remaining people you vote "save and continue by email" (or whatever it is) counts for a scrap and the "vote to quit" is a concede (which the winning team will need to have the higher score). If you "vote to continue" than the program can save who left the game (for the loss if necessary). Once you continue and the AI is in the game, the sub joins and the program can recognize this for the win. That could make it simple if you are able to make the program do that. Just an idea.
|
|
|
Post by lporiginalg on Dec 15, 2007 0:50:22 GMT -5
I agree with grimarch and glad he saved me the trouble of saying it. I think it's a really cool idea but too ambitious, kudos to you if you prove me otherwise but I also agree that the host/1 person report system is very elegant in it's simplicity. Really the french have this figured out and we would be best to copy them tbh.
|
|
|
Post by Canucksoldier on Dec 15, 2007 1:26:05 GMT -5
We are moving ahead with a winner report/50% confirmation system for the new league, but if the ARS does work out we will certainly take advantage of that.
CS
|
|
|
Post by greenberret on Dec 17, 2007 16:28:49 GMT -5
Heya all Thank you for replying, i apreciate it ALOT! Yes, grim's idea is alot simpler in principle, but 2 main reason why i am avoiding that: 1) The host must have acces to all players' passwords. Or atleast he must be some sort of "certified" host that can be trusted and does not need the pwd's. 2) The memory addresses of the data we want changes reguraly, thus its not really possible to read ALL the important variable at once when the game start and fineshes. Yes the concept is simple, but implementing it is not so simple. Zoolander, i have and is still busy looking into that. Locating those radiobuttons are a bitch . But stress not, I HAVE GOOD NEWS!!!!!!!!!! I have released an alpha version for the testers of the new ladder. This alpha version IS capable of finding any victory condition and for a small part ,subbing and scrapping.The system can detect who is a sub, and also allow the subs not to report their game. I have a method of "detecting" conceding players and quiting players, but i am stil looking to refine it. The complete beta version wil prob have to wait for the new patch to be released for civ. CS, i am not sure if i want you to fully rely on the ARS system. What would be better is if the ARS can OPTIONALLY be used for the ladder. I can make ARS remember who owes the player reports and then ARS can check whether these have been reported. What i am trying to say is that you guys should continue with the new ladder as if ARS doesnt exist, and then we work together to make ARS run in parralel with the manual system. I would like this much rather, since, for every new patch released for civ, ARS wil have to be updated aswel, and this in turn could lead to the ladder coming to a standstill. Well, I will keep you guys updated with news GreenBerret
|
|
|
Post by Canucksoldier on Dec 17, 2007 16:51:54 GMT -5
Thanks GB, yes we can assess how and were we want to use the ARS on the test forums, and best see were it can fit into the league's toolbox.
CS
|
|