|
Dear Team Liquid folks,
I wanted to create a ladder for custom 1v1 maps. So this is what I've come up with.
It is a ladder implemented with php and mysql. It works really well so far.
How it works:
- goto sc2 custom ladder
- Register with your battle.net ID and Character Code.
- Search for a ladder match.
- Play the match in battle.net against your opponent.
- The winner is determined by the replay file that gets uploaded.
- View the ladder as your Points increase by winning obviously.
Whats missing?
- Rankings like A+,D- etc.
- Cross Realm support. Note this is currently EU only!
- A dynamic point system.
Concerns
- Everything is implemented with mySQL. I am not really sure how well the algorithms work when there are a lot of players active.
- I don't know how much work my poor little vhost can handle.
- The work on the php MPQ parser that analyzes the replay is not finished yet. There might be some problems with it. It works for a lot of replays though (all I've tested so far). For more information visit http://code.google.com/p/phpsc2replay/.
Map Pool
- Final Whistle
- Xel'Naga Caverns
- iCCup Pawn Re
- MotM - The Crucible
- iCCup Starlight Breaker
- iCCup Testbug
|
This is awesome. Can you give an explanation on how you plan on tracking point? Hopefully it will be better than Blizzard's system. Secondly would it not be possible to implement support for other realms immediately since it is essentially an offline ladder since wins are calculated by replays. Lastly wouldn't this type of ladder be open to abuse as some players would only submit the replays where they win?
|
Hmm... I don't quite understand how it is ladder on custom maps? Do you just submit replays and you judge them? If so, I don't think that will really work... maybe explain that part? edit: GWen points out that you could cheat and submit only replays that you win in.
---------------
You could, however, make one custom game with a ladder in it. It is an idea I've been thinking about for a while. The map would be called "Custom Melee Ladder" or something.
Two people would join and the game would start. A screen then comes up as soon as it starts and has a list of 7 maps with images. You then select 4 of the maps that you would like to play. Based on you and your opponents preferences, it randomly picks map. Once the game is done, scores similar to the blizzard ladder are recorded in the game (this is possible, see Battlecraft) and will carry over to all other matches you play.
The only problem with this is that you can't be matched to a similarly skilled opponent. You would have to ask them and trust them on what level they are. If they were a lot worse, I guess it'd be easy free points. If the opponent is better, you'd get good game experience.
-----------
NEVERMIND, my idea doesn't work. Players can edit the saved stats in the sc2 folder. Oops.
|
I've developed a lot of PHP for a few years back (currently I'm studying on University, so I don't code much now), so if you think you need some help or so, PM me (I've coded SQL and database abstractions quite a lot, might be able to help with that).
EDIT: Have you considered converting it to a web application based on a PHP framework? (Like eg. Symfony or similar)
|
YEYYYY i hate coding=love people who do it well hope this get's off the ground, a custom ladder is the only answer to blizz's marketting meh
in any case i'm up for helping if i can (site hosting or other)...
just my 2 cents on "security" issues: only player/mod/admin awareness/hard work can keep cheats out a "system" is great, but nothing works without mod/admin double checks, if any "custom ladder" is to be successful it needs "high profile" people to host it i'm obviously not one of these and i'm that few have reacted to these "c ladders" initiative...
@ MAPPoVe have you read this thread? (i'm hoping u did)
|
Can you give an explanation on how you plan on tracking point? Hopefully it will be better than Blizzard's system. Secondly would it not be possible to implement support for other realms immediately since it is essentially an offline ladder since wins are calculated by replays.
I think I have to disappoint you for now. You get 9 points for winning and -5 for loosing  The match system is very static and basic at the moment. Cross realm play is not possible, as long as blizzard doesn't allow it. I could add NA player support to this page but that would be stupid, because it would run independently from the EU players. I am planning on releasing all the code under GNU once I'm finished with the most stuff. This way somebody can host that page on NA server with NA people playing.
Lastly wouldn't this type of ladder be open to abuse as some players would only submit the replays where they win? That would be ok, because only the winning player has to upload the replay file. You have an option to abandon a match once found. This way, when the opponent doesn't show or in case you loose you will be able to search a new game. The opponent will still be able to upload the replay.
Hmm... I don't quite understand how it is ladder on custom maps? Do you just submit replays and you judge them? If so, I don't think that will really work... maybe explain that part?.
The replays are saved in a MPQ-file format. Once uploaded the page analyzes the replay file and in case it matches the played game it adds points to winner, looser etc and ends the match. I personally have nothing to do with that. The only problem are people who know how to manipulate the MPQ files, but that would be a handful I can tell.
I've developed a lot of PHP for a few years back (currently I'm studying on University, so I don't code much now), so if you think you need some help or so, PM me (I've coded SQL and database abstractions quite a lot, might be able to help with that).
That would be my situation as well. I am not familiar with PHP frameworks, maybe I check that out later. My concerns are mainly security. I hope I did everything fine, but I guess this will be tested when I release the page, I need people testing the page and reporting bugs and security issues. Things like SQL injections or similar shenanigans. Also if you like you can take a look at the code some time in the future. There are probably a lot of performance improvements possible with the database. I am adding comments right now to the code to make it more viewable. Every dead professional php-programmer would probably turn over in one's grave^^
@ MAPPoVe have you read this thread? (i'm hoping u did) Yes I did a while ago. Actually I started doing this project right afterwards, because I found that it was way to easy to cheat with that system.
|
I am really into custom maps. They brought back the fun to SC2 for me. I stopped laddering like 3 month ago and stopped watching major tournements 1 month ago ,because I was bored to death.
But still, I think this Ladder is a bit to much for the problem of the never changing mappool though, since we got chat channels now and it has become very easy to find people to play with on custom maps.
|
But still, I think this Ladder is a bit to much for the problem of the never changing mappool though, since we got chat channels now and it has become very easy to find people to play with on custom maps.
That may be true, but of course you have to think long term, because at some point you want a ladder system like iccup back in bw that supports custom maps and has a ranking and stuff like that.
|
Drumroll..
sc2 custom ladder
There you go. I've put some random maps in there which I think are pretty good. Can be changed anytime.
Please only join when you are on EU. As stated somewhere above, it would be possible to allow players from other Realms as well, but as long as Blizzard doesn't allow cross realm play it is senseless, because you would have to treat every Realm independently, thus causing unnecessary traffic. It is much easier to host it again on another server only for e.g NA.
I think I am going to make a post in the general section, because to test it there need to be a couple of active players of course.
In case you encounter any bugs or errors, please feel free to contact me, either via PM or the contact side on the page.
|
Wow, this has potential! I'll try to play as soon as I can.
You should definetely post this in general and get millions of sc2 nerds play on it ;P
|
That may be true, but of course you have to think long term, because at some point you want a ladder system like iccup back in bw that supports custom maps and has a ranking and stuff like that.
I still hope that Blizz, one day (think long term positiv), will have a fast rotation in the mappool. Until then I give this a shot. 
One Question, why is Xel'naga in the Pool? It aint a bad map, but probably the most played casted map in SC2.
Maps I like and you may consider for future mappools: Khalai Sanctum Voronya Mêlée Island
|
I still hope that Blizz, one day (think long term positiv), will have a fast rotation in the mappool.
I played war3 a long time and I don't think this is going to happen^^
I think someone from Blizzard gave an interview on that topic, where he said that Blizz wants all kinds of maps in the pool to give the players more variety in their gaming experience.
As for the map pool as I said I just picked some random ones, I am currently having exams but after that I will take the time and test some maps out, maybe have a poll about is than. Also I am currently working on a more dynamic Point and search system, trying to establish something similar to iccup system with Ranks A-D etc.
For now thanks for testing it out, wait for more to come.
|
On January 25 2011 14:10 G_Wen wrote:Lastly wouldn't this type of ladder be open to abuse as some players would only submit the replays where they win? Your opponent will upload the replays if you lose.
|
Thing is, the points that change can be determined in what order you win the games. Replays may take a long time for the opponent to upload, therefore will not be a great ladder system. Also, do you really want to upload a replay every single game you win?
|
Uploading could be automatized.
|
On January 30 2011 03:28 TheDominator wrote: Thing is, the points that change can be determined in what order you win the games. Replays may take a long time for the opponent to upload, therefore will not be a great ladder system. Also, do you really want to upload a replay every single game you win? I can agree with you on not wanting to upload replays after every game. But then we have a problem: how should we calculate the skill of a player without having to take the order of the matches or the opponent played into account?
Because if we're going with skill I think the order matters, as if you play an opponent with higher skill than yours, then you should increase more than when you play one with lower skill than you.
What isn't based on order are these variables: wins, losses, played games, date, name of opponent (the opponent itself cannot be trusted as he may not have uploaded all of his matches yet, so his skill is unknown) and all the other information you can find in a single replay.
So, to be blunt, you cannot trust *any* state except for the number of wins and losses and other statistics for the uploading player when calculating skill.
Instead, we can use the the "shadow skill" (which is the strategy Blizzard uses, I think) updated only every week, then you just have to upload the replays once every weekend or so instead of after every game as the order won't matter within a single week.
If we can make a good statistic calculation of skill from a fixed set of metrics, that would be great as the order of games played wouldn't matter at all. But I don't think this is possible.
|
Uploading could be automatized.
Only in case you have another program running on the client-side. I don't really get the problem. Uploading a replay doesn't take long (300 kb files) and the parser analyzes the replay in like 2000-3000 ms..
Instead, we can use the the "shadow skill" (which is the strategy Blizzard uses, I think) updated only every week, then you just have to upload the replays once every weekend or so instead of after every game as the order won't matter within a single week.
Thats very difficult because you have to validate the replays in order to calculate points, also I think that you won't remember all the matches you played in a week neither have all replays saved. Also you need to have various open matches at once, which causes unnecessary problems in programming.
|
On January 30 2011 23:22 MAPPoVe wrote:Only in case you have another program running on the client-side. I don't really get the problem. Uploading a replay doesn't take long (300 kb files) and the parser analyzes the replay in like 2000-3000 ms.. That time can be extended quite a lot if there are many people who are uploading replays. Usually bandwidth is not a problem, but the processing power required to parse a lot of replays will be limited.
On January 30 2011 23:22 MAPPoVe wrote:Show nested quote +Instead, we can use the the "shadow skill" (which is the strategy Blizzard uses, I think) updated only every week, then you just have to upload the replays once every weekend or so instead of after every game as the order won't matter within a single week. Thats very difficult because you have to validate the replays in order to calculate points, also I think that you won't remember all the matches you played in a week neither have all replays saved. Also you need to have various open matches at once, which causes unnecessary problems in programming. What would a validation of a replay involve? Wouldn't it just require checking date, players and a few more variables? Why would having many open matches be a problem? Wouldn't it just be to delete the open matches which haven't had a replay uploaded when their date expires?
|
On January 30 2011 23:22 MAPPoVe wrote:Only in case you have another program running on the client-side. I don't really get the problem. Uploading a replay doesn't take long (300 kb files) and the parser analyzes the replay in like 2000-3000 ms.. Show nested quote +Instead, we can use the the "shadow skill" (which is the strategy Blizzard uses, I think) updated only every week, then you just have to upload the replays once every weekend or so instead of after every game as the order won't matter within a single week. Thats very difficult because you have to validate the replays in order to calculate points, also I think that you won't remember all the matches you played in a week neither have all replays saved. Also you need to have various open matches at once, which causes unnecessary problems in programming.
easy way: a guy goes to the ladder, gets an oppoment. match is over. until either one of the players puts up the replay, they cant join the ladder. if the winner puts up you automaticaly give the loss and win to the proper guys. just get a condition to dont give 2 wins/losses in case both upload.
ofc u can change this to adapt to a system u would like. e.g. the shadow skill mentioned. u get your matchs, keep log of them. when the weekend comes u cant play anymore until u upload all the replays. u can upload them after the match or at the end of the day, doesnt matter, and make the necessary ladder points calculations afterwards
|
On January 31 2011 02:32 misirlou wrote:Show nested quote +On January 30 2011 23:22 MAPPoVe wrote:Uploading could be automatized. Only in case you have another program running on the client-side. I don't really get the problem. Uploading a replay doesn't take long (300 kb files) and the parser analyzes the replay in like 2000-3000 ms.. Instead, we can use the the "shadow skill" (which is the strategy Blizzard uses, I think) updated only every week, then you just have to upload the replays once every weekend or so instead of after every game as the order won't matter within a single week. Thats very difficult because you have to validate the replays in order to calculate points, also I think that you won't remember all the matches you played in a week neither have all replays saved. Also you need to have various open matches at once, which causes unnecessary problems in programming. easy way: a guy goes to the ladder, gets an oppoment. match is over. until either one of the players puts up the replay, they cant join the ladder. if the winner puts up you automaticaly give the loss and win to the proper guys. just get a condition to dont give 2 wins/losses in case both upload. ofc u can change this to adapt to a system u would like. e.g. the shadow skill mentioned. u get your matchs, keep log of them. when the weekend comes u cant play anymore until u upload all the replays. u can upload them after the match or at the end of the day, doesnt matter, and make the necessary ladder points calculations afterwards Why does it need to be so harsh on the users? I mean, by using that model you can easily ruin the experience for other players by joining a match and then you just refuse to play, which means that neither of you can join a new match (and this can also happen accidentally).
I think it would be better if you aren't forced to upload the replay, because if you for example cannot join the match, neither of the two players will be able to play another game until the open match has been removed from the system. So by not forcing the uploads, you make the whole system more reliable. And if there is some kind of problem by eg. the server being overloaded so that it cannot parse enough replays, people will still be able to do matchmaking if they aren't forced to upload replays.
|
|
|
|