Automated Tournament Application for HearthStone - 64+ player games - In progress
Don't be afraid of the wall of text, it's worth it.
Hello all, just a short introduction here. I go by VeiledSyn on these forums and have been playing HS for just over 6 months now. I enjoy the game and the people I meet (most of them at least). My full time job in real life is a Software Engineer and I am quite a competent coder. I would like to see this game become more social and interesting and one way I can see to do that is by creating a tournament application. I have some basic work done on it, but would love some external ideas and suggestions. I know there are some web based applications but they are very prone to human error and exploitation. Below I will describe my foundation and basic ideas, please read and let me know what you think.
The basic mode will be the standard format, each player brings 4 decks with a single ban phase and single deck elimination, loser moves onto their next deck. The entire tournament will consist of 64-128 people and play out over 7 days. The main goal is to have the tournaments revolve around the players and not force the player to revolve around the tournament. By making it simple and scheduling players to the best time that suits them it's more accessible.
First, the program will be a simple Client - Server setup. My computer runs the server that keeps track of all the data, the Client, which all of you users would download will collect data from the log file (its a text file HS creates that doesn't show any personal info, just about the game) on who won and other various forms of needed information. Once you have downloaded and installed then you can create an account and log in. From there you can select to enter into the tournament.
After entering you upload a list of your of your decks and the cards contained, and provide the times you are available to play (times are just preferences and people who enter will have to be somewhat flexible). Once the brackets have been filled it then pairs people up with another in their time frame, then sends each person an email giving them their opponents Battle.net tag and their time to play. The program will read your tags, the heros, the cards you play and your health totals. It will relay all this back to the server which will know who won and compare their cards played to the card lists submitted to make sure there is 0% chance of cheating.
After your games have been played, win or lose it will then pair you up in the next bracket with someone else, so on and so forth till none remain. Certain conditions have to be implemented too, like people who entered and haven't logged on be eliminated so the tournament can progress. Along with some way to deal with game errors like crashing and maybe purposefully quitting to not count it as a loss (not sure how I plan to go about this yet).
I also plan to include some sort of IRC or messaging system so you and your opponent can coordinate times or just chat in the tournament lobby while waiting. Because its a program it can use any size, like 500 player tournaments and the possibility of different formats like double elimination.
Overall I can see it become a great tool, with the possibility of running 2-8 separate tournaments at once. This could also be not only for fun and social reasons but some tournament modes could have a 5$ buy in with the top 5-10 getting some of that prize split, and could also have different levels for newer players (like a 1 legendary limit or something). It will also be a free program, that anyone can use, I personally would love to use it.
My biggest concerns are:
A) People worried it would do more than just collect game data and/or be against Blizzards ToS, which is not the case in both. I actually got approval from Blizzard that reading the log file is 100% acceptable.
B) Cheating is hard to stop if your not personally watching every game (packet manipulation, wrongful reporting, etc)
C) Not being able to get people coordinated enough on time and/or online long enough to play their 1-5 games. But over the course of a week it shouldn't be too bad.
There you have it, I have been working hard on the design and server framework the past couple days and am about to start writing on a higher level. I don't know of any other applications out like this currently, and I will try to keep you all updated as I progress. I want to know what you think...
Would you use it? What possible flaws/problems can you see? And do you have any other features that you think are necessary or would be useful?
All men dream, but not equally. Those who dream by night in the dusty recesses of their minds, wake in the day to find that it was vanity: but the dreamers of the day are dangerous men, for they may act on their dreams with open eyes, to make them possible. - T. E. Lawrence
I am thrilled to hear your doing this. I have played in a couple of the small HS tournaments but they are always a huge mess. The operators getting things wrong, never starting on time and always lasting many hours past when they were supposed to end.
Your approach to this idea is very clear and sounds like it will work almost perfectly. I also think majority of the player base would also find this very fun and problem free enough to continue using it. Not to mention what it would do for the HS community, it could really hook more players and maybe even make the game more interesting.
This sounds great for qualifications. I'm really interested, this has potential especially since HS is one of those games with quite a lot of small indie like tournaments.
This sounds great for qualifications. I'm really interested, this has potential especially since HS is one of those games with quite a lot of small indie like tournaments.
That's actually a pretty good idea, any big sponsor could use it to get a huge pool of players down to the last 16 or so with very minimal hassle.
Yesss! Please make this. Sounds rather complicated, are you making it on your own? Regardless, having tournaments going on around the clock that anyone can play in would really breathe life back into the game.
Yeah solo. I'm not the fastest at programming especially since I have never built a server program from the ground up like this but I am expecting it to take 1-2 months, it really depends on work and my college classes.
Thanks for the support guys/gals. I'm glad others are psyched about it too, it makes me want to work harder on it.
All men dream, but not equally. Those who dream by night in the dusty recesses of their minds, wake in the day to find that it was vanity: but the dreamers of the day are dangerous men, for they may act on their dreams with open eyes, to make them possible. - T. E. Lawrence
I can see this bringing a whole new level to the game. Especially for players that aren't super hard core and can't play in the bigger tournaments. I am looking forward to this, keep at it.
Overall your idea is strong and sounds easy enough to operate, I'm sure the community would be very grateful.
It's hard to come up with suggestions, it really seems like you have all your bases covered. One thing I do see trouble with is the loser purposefully 'crashing' the game if they are falling behind or have a bad hand. I am sure there are ways to check for actions like that but it would take reading keystrokes and/or hooks into windows processes. I don't think this will be a huge issue most of the time anyways.
I just want to provide an update to all who are following... It is coming along nicely.
Currently it is usable in the most basic of ways. I have entry and email pairing working. The client will report a win/loss back to server and set you up with your next match. I expect to have user accounts and a more detailed card/deck tracking/ban system in place within the next week. Hopefully within 3 weeks I will have a beta version usable for community testing, but there are still many small features that it will need before the general populace is ready to use it.
Thanks for the support and I will give you another update in a week. Be sure too let me know what you think and if you have any suggestions not covered in the main post.
Rollback Post to RevisionRollBack
All men dream, but not equally. Those who dream by night in the dusty recesses of their minds, wake in the day to find that it was vanity: but the dreamers of the day are dangerous men, for they may act on their dreams with open eyes, to make them possible. - T. E. Lawrence
I've been meaning to update this. As of now I would say I am about 60ish% complete. It's getting quite large for a single person to work on, but I am slowly chugging away.
Somewhere along the lines of 3,500 lines of code >.> It does the basics, but still need to expand so multiple tournaments/brackets can be run at the same time, along with a database for accounts/stats, and an not to mention bug testing. Had to completely redo the server framework to not self destruct on the smallest of errors.
But don't fret, I haven't given up on it yet. Between real life, HS, and friends/family it's taking longer than I had hoped for, I would guess another 3-4 weeks.
Rollback Post to RevisionRollBack
All men dream, but not equally. Those who dream by night in the dusty recesses of their minds, wake in the day to find that it was vanity: but the dreamers of the day are dangerous men, for they may act on their dreams with open eyes, to make them possible. - T. E. Lawrence
I have recently started a new job working at a small indie game studio as their software engineer. I really do want to finish it and am over halfway but working 50-60 hours a week leaves me little time. I do plan on continuing to work on it, but I am barely able to put in an hour a day. I suggest not holding your breath, it will still be a while. I really want to see it done too... just I am very short on time right now right now.
I think what I will do instead is to make the most basic of programs and cut out all the polish I have been doing. Make it just basic enough to work well.
Rollback Post to RevisionRollBack
All men dream, but not equally. Those who dream by night in the dusty recesses of their minds, wake in the day to find that it was vanity: but the dreamers of the day are dangerous men, for they may act on their dreams with open eyes, to make them possible. - T. E. Lawrence
To post a comment, please login or register a new account.
Automated Tournament Application for HearthStone - 64+ player games - In progress
Don't be afraid of the wall of text, it's worth it.
Hello all, just a short introduction here. I go by VeiledSyn on these forums and have been playing HS for just over 6 months now. I enjoy the game and the people I meet (most of them at least). My full time job in real life is a Software Engineer and I am quite a competent coder. I would like to see this game become more social and interesting and one way I can see to do that is by creating a tournament application. I have some basic work done on it, but would love some external ideas and suggestions. I know there are some web based applications but they are very prone to human error and exploitation. Below I will describe my foundation and basic ideas, please read and let me know what you think.
The basic mode will be the standard format, each player brings 4 decks with a single ban phase and single deck elimination, loser moves onto their next deck. The entire tournament will consist of 64-128 people and play out over 7 days. The main goal is to have the tournaments revolve around the players and not force the player to revolve around the tournament. By making it simple and scheduling players to the best time that suits them it's more accessible.
First, the program will be a simple Client - Server setup. My computer runs the server that keeps track of all the data, the Client, which all of you users would download will collect data from the log file (its a text file HS creates that doesn't show any personal info, just about the game) on who won and other various forms of needed information. Once you have downloaded and installed then you can create an account and log in. From there you can select to enter into the tournament.
After entering you upload a list of your of your decks and the cards contained, and provide the times you are available to play (times are just preferences and people who enter will have to be somewhat flexible). Once the brackets have been filled it then pairs people up with another in their time frame, then sends each person an email giving them their opponents Battle.net tag and their time to play. The program will read your tags, the heros, the cards you play and your health totals. It will relay all this back to the server which will know who won and compare their cards played to the card lists submitted to make sure there is 0% chance of cheating.
After your games have been played, win or lose it will then pair you up in the next bracket with someone else, so on and so forth till none remain. Certain conditions have to be implemented too, like people who entered and haven't logged on be eliminated so the tournament can progress. Along with some way to deal with game errors like crashing and maybe purposefully quitting to not count it as a loss (not sure how I plan to go about this yet).
I also plan to include some sort of IRC or messaging system so you and your opponent can coordinate times or just chat in the tournament lobby while waiting. Because its a program it can use any size, like 500 player tournaments and the possibility of different formats like double elimination.
Overall I can see it become a great tool, with the possibility of running 2-8 separate tournaments at once. This could also be not only for fun and social reasons but some tournament modes could have a 5$ buy in with the top 5-10 getting some of that prize split, and could also have different levels for newer players (like a 1 legendary limit or something). It will also be a free program, that anyone can use, I personally would love to use it.
My biggest concerns are:
A) People worried it would do more than just collect game data and/or be against Blizzards ToS, which is not the case in both. I actually got approval from Blizzard that reading the log file is 100% acceptable.
B) Cheating is hard to stop if your not personally watching every game (packet manipulation, wrongful reporting, etc)
C) Not being able to get people coordinated enough on time and/or online long enough to play their 1-5 games. But over the course of a week it shouldn't be too bad.
There you have it, I have been working hard on the design and server framework the past couple days and am about to start writing on a higher level. I don't know of any other applications out like this currently, and I will try to keep you all updated as I progress. I want to know what you think...
Would you use it? What possible flaws/problems can you see? And do you have any other features that you think are necessary or would be useful?
All men dream, but not equally. Those who dream by night in the dusty recesses of their minds, wake in the day to find that it was vanity: but the dreamers of the day are dangerous men, for they may act on their dreams with open eyes, to make them possible. - T. E. Lawrence
I am thrilled to hear your doing this. I have played in a couple of the small HS tournaments but they are always a huge mess. The operators getting things wrong, never starting on time and always lasting many hours past when they were supposed to end.
Your approach to this idea is very clear and sounds like it will work almost perfectly. I also think majority of the player base would also find this very fun and problem free enough to continue using it. Not to mention what it would do for the HS community, it could really hook more players and maybe even make the game more interesting.
Good luck to you and I can't wait ^.^
This sounds great for qualifications. I'm really interested, this has potential especially since HS is one of those games with quite a lot of small indie like tournaments.
That's actually a pretty good idea, any big sponsor could use it to get a huge pool of players down to the last 16 or so with very minimal hassle.
Yeah solo. I'm not the fastest at programming especially since I have never built a server program from the ground up like this but I am expecting it to take 1-2 months, it really depends on work and my college classes.
Thanks for the support guys/gals. I'm glad others are psyched about it too, it makes me want to work harder on it.
All men dream, but not equally. Those who dream by night in the dusty recesses of their minds, wake in the day to find that it was vanity: but the dreamers of the day are dangerous men, for they may act on their dreams with open eyes, to make them possible. - T. E. Lawrence
I can see this bringing a whole new level to the game. Especially for players that aren't super hard core and can't play in the bigger tournaments. I am looking forward to this, keep at it.
Overall your idea is strong and sounds easy enough to operate, I'm sure the community would be very grateful.
It's hard to come up with suggestions, it really seems like you have all your bases covered. One thing I do see trouble with is the loser purposefully 'crashing' the game if they are falling behind or have a bad hand. I am sure there are ways to check for actions like that but it would take reading keystrokes and/or hooks into windows processes. I don't think this will be a huge issue most of the time anyways.
I just want to provide an update to all who are following... It is coming along nicely.
Currently it is usable in the most basic of ways. I have entry and email pairing working. The client will report a win/loss back to server and set you up with your next match. I expect to have user accounts and a more detailed card/deck tracking/ban system in place within the next week. Hopefully within 3 weeks I will have a beta version usable for community testing, but there are still many small features that it will need before the general populace is ready to use it.
Thanks for the support and I will give you another update in a week. Be sure too let me know what you think and if you have any suggestions not covered in the main post.
All men dream, but not equally. Those who dream by night in the dusty recesses of their minds, wake in the day to find that it was vanity: but the dreamers of the day are dangerous men, for they may act on their dreams with open eyes, to make them possible. - T. E. Lawrence
I would be thrilled to test it and possibly use it for an upcoming event. Keep me posted plz :)
I've been meaning to update this. As of now I would say I am about 60ish% complete. It's getting quite large for a single person to work on, but I am slowly chugging away.
Somewhere along the lines of 3,500 lines of code >.> It does the basics, but still need to expand so multiple tournaments/brackets can be run at the same time, along with a database for accounts/stats, and an not to mention bug testing. Had to completely redo the server framework to not self destruct on the smallest of errors.
But don't fret, I haven't given up on it yet. Between real life, HS, and friends/family it's taking longer than I had hoped for, I would guess another 3-4 weeks.
All men dream, but not equally. Those who dream by night in the dusty recesses of their minds, wake in the day to find that it was vanity: but the dreamers of the day are dangerous men, for they may act on their dreams with open eyes, to make them possible. - T. E. Lawrence
Any update on this? I am greatly interested in using this! Possibly in a few weeks of you've got a release ready by then!
I have recently started a new job working at a small indie game studio as their software engineer. I really do want to finish it and am over halfway but working 50-60 hours a week leaves me little time. I do plan on continuing to work on it, but I am barely able to put in an hour a day. I suggest not holding your breath, it will still be a while. I really want to see it done too... just I am very short on time right now right now.
I think what I will do instead is to make the most basic of programs and cut out all the polish I have been doing. Make it just basic enough to work well.
All men dream, but not equally. Those who dream by night in the dusty recesses of their minds, wake in the day to find that it was vanity: but the dreamers of the day are dangerous men, for they may act on their dreams with open eyes, to make them possible. - T. E. Lawrence