Hello everyone who is following the progress of this
after a long night of programming i finally have something to show you im too tired to write about it now but i will update you as soon as i wake up tomorrow
**Update 15/06 **
Hello everyone sorry i havent been able to update the post earlier but i have had a busy day.
Update on the program:
Ive been doing ALOT of work on the program the past 2 - 3 nights and it is starting to show, i have not yet create a GUI (Graphical user interface) but is currently testing it in consol.
So far the program is able to generate random Setups, this is usefull because when you play with your friends (or team) casually and don't know what to pick the program will help you pick 5 heroes that work well together.
This feature is also useful because it is this that will determain how well the counter setup you create will be.
Because of that i have spent alot of time thinking about WHAT MAKES A GOOD SETUP and for starter i came up with this:
a setup needs 1 - 2 carry (pref 1 hard carry and 1 semi carry)
it needs 1 - 2 support heroes( prefed with stun / disable)
1 or 2 tank heroes (prefed with stun/disable/heal or AoE dmg)
after making this consideration i decided to point heroes after how much stun or disable they have (0-3)
forexample a hero like Witchslayer who has 2 diable spells should get the point 2 while a hero like tempest whoms lockdown can disable the whole team would get max score of 3.
Heroes like Armadon who can only slow would get the score of 0 or 1.
Taking that into account i decided to rate the generated team with all of these scores plus the scores they gained from working with eachother (as i mentioned briefly in ealier posts)
To get back on topic so far the program spits out setups that works very well together here are some example on the setups it has created (NOTE - this is still work in progress:
[Tempest, Geomancer, Engineer, Arachna, Magebane]
[Bubbles, Plague Rider, Forsaken Archer, Flux, Behemoth]
So what is next?
Next step is to add the generated team into an object called home team and then add another object called away team.
then check both teams total score and make sure that hometeam is always a better score.
The perfect setup would be a good combination of early, mid and late game.
So at least 1 good support (Glacius, Witch Slayer, Demented Shaman)
At least 1 initiator (Behemoth, Pebbles, Riftwalker)
At least 1 semicarry (Valk, MoA, Aluna, Hag) Yes, i just called Aluna a good semicarry
At least 1 gank hero (Deadwood, Pebbles, Valk, Hag)
Possibly a Hardcarry if you have a good babysitter => The Dark Lady, Artillery, Magebane, Madman
The most important thing is team composition. You need to have good teamfight potential if you don't have a dominating gank hero like Fayde or Deadwood. (And if they fail only a little bit, they will be quite useless).
But this is one of the more traditional lineups.
Currently you can run a Pollywog, Keeper of the Forrest, Defiler, Hammerstorm Demented linup, Pushing and killing every tower and rax when you reach level 6.
a level 1 Kongor team also works in lower level pubs (Wildsoul + gauntlet + whatever you want)
TLDR: Lineups are variable because of the strategy. Go for a semicarry, init(not tank), ganker, support and you have a bigger chance.
Preformance is starting to become a problem in HoN there are:
12160905120 different setups :S
bro tell us how to help you to finish this application soon
you can add something like sections: pusher team(generates a pusher team viable late game too,in case they fail),ganker team(strong early game,bad late),standard team(you know it),farming team(focus only one carry aka tdl/mb,while the other don't get farm,just let him get kills,ck etc.),and many more.
you will loose all lanes with that setup only arachna will win, but will be ganked 24/7.
Hieratic, If you need any help add me in game. I can code well and i have a decent understanding of the game, so if you need help, tips or anything, just contact me.
Last edited by OneSantaPlz; 06-16-2012 at 06:14 PM.
I see this being really hard to pull off successfully.. there are way too many factors that have to be taken into account to make it accurate, especially including player skill level, player preferred/desired roles, lanes, and different strategic approaches.
To make this successful/useful in my eyes you'd have to create a new algorithm that surpasses the current match-making system's MMR sorting, and hey if you could do that you should get S2 to hire you.
Anyway, I guess the best way to go about making a program somewhat useful would be to gather a list of hero counters and weigh them based on how effective they are vs each single hero (this can get extremely subjective which is a big problem in itself), then make an algorithm that inputs the team you're going against and have the program rank the most useful heroes taking into account all 5 picks and then creating a list of the most useful heroes by rank.
a rough example would be..
Tempest - Counters:
Witch Slayer 5
Emerald Warden 4
..long list of stuns etc. and complete a whole list for every hero.
the number corresponds to how valuable each hero is as a hero counter to the inputted hero. Consider negative values if desired if there are heroes that you DON'T want to use vs certain heroes (ex. Ophelia vs Parasite/Behemoth etc). Then you just do that for 5 heroes, add up the values of worth up and there you have it, a loose list of the most viable counters to each team based on how valued they are according to the numbers that you assigned.
..Then if you want to go that extra mile you'd create another algorithm to sort that list of useful heroes by rank into a loose set of roles needed (carry, initiator, support, etc.), and give you a list of what heroes are best in what situation.
Again, this would be really difficult to do properly as it's completely subjective, likely does NOT take into account the potential lane setups nor player skill levels (of both teams), nor any strategical depth such as intending to push early, Kong at 1, trilanes, dual mid, pubtraining, turtling etc.
My 2 cents, sounds interesting but I think you'd have to put a LOT of effort into it in order to successfully make a program that is useful to more than just complete noobs who are completely unaware of hero counters/picking basics
Last edited by PrestonLee; 06-17-2012 at 02:35 AM.
FOR ALL THAT IS HOLY~!
Don't worry guys, Lodestone won't be getting picked up in competitive, your balance forum regulars have assured it in this Lodestone balance thread ;)
you mast to make on this program on 07.10 to send mesage to all players to come on my BIRTHDAY !!
and if you can make this application to show how old is my dog
Wtf!?!? ppl this program was need to be something like this http://grimmscrossing.com/response/index.php and it will be realesed for 1 week
buy you wana this application to pick automatic counter hero ( hero you is counter for all enemy team but if your win rate whit that hero is <= 40% then skip him go on other hero until next hero is counter for all and you have >40 % then program will pick him automatlick for you )
and cos of you all we will see this program after 23 weeks 4 days ...
The author requested some feedback, tips, hints and knowledge from us.
We provided that, he can decide what he wants to do with it.
If he wants to make the program bigger he can always update it later on.
The basic functionality was this: Counter a specific hero with 1 other hero/ item.
Added features are these:
-Add 3v3 and 5v5 (Assumed) team counter strategies.
-Make sure that the teams composition is good.
The first and second iteration is not that hard to create.
If he makes it with a good base he can have little trouble making the third.
TLDR: Create 1 iteration (version) first, then increase the functionality. Don't start with the big picture.
Last edited by OneSantaPlz; 06-17-2012 at 09:49 AM.
Okay there has been alot of responses to my post and i am sorry that i havnt been able to fully respond to all of them.
Let me start out by saying that this program will be free of cost (i am not trying to make money i am trying to improve in skill)
2ndly. One factor that is NOT taken into account is player skill level, while true this is a big factor it is not possible for me to adjust a program according to what skill you have with each hero, therefore i am assuming that you can play all heroes (which you own since there will be an additional feature where you can choose what heroes you have incase you have a F2P account) and try to make the best possible setup.
So the next thing is that people do not believe that i will be able to pull it off because of the lack of data. Well to give you an idea of how big my database is and how many tables there already is in it let me tell you that i have currently already created ALL possible setups and added them into a tabel, i have also a 1000 rows long table (and growing) of heroes who counter heroes, besides that i have approx 1500 long row (and growing) of heroes who works well with eachother.
Besides that i have a tablefor how many different roles each hero can play, a table for possitions that each hero can play, a row for type and the list continues.
i am not trying to say that this program will be perfect but the results im seeing so far is promissing.
all of that being said (and i hope this answers alot of questions) i am using ALL of you guys feed back and i want to thank you and ask you to keep them comming.
Whenever i implement something from you guys feed back i will let you know aswell so you can see that it has been put to good use.
if you wish to help me with the project you are welcome to add me on skype (NemeoDizzy) just write in your note when you add contact that you are from HoN forum and wish to help out
Last edited by Hieratic; 06-18-2012 at 08:55 AM.
I think it would be gr8 if you can make it so everyone that uses the program has its own account with heroes he prefers selected and roles so when you create the team members in the program you just use everyones account and it creates team from the selected heroes (dont know if its possible since i dont know a lot about programming).
If thats not possible you can have the "team leader" input all the heroes that each player wants so it can create a decent line up.
sorry about my english