Theorycrafting: Imagine a Mode...
Hello! My name is Robert “Kros” Cherry, and I’m the Technical Producer for Heroes of Newerth. I’ve been playing HoN for a long time now, and one of the things I do with any game that I play for any serious length of time is theorycraft. I’d like to share some of that theorycrafting with you guys today.
Imagine a mode that starts off with each player picking three heroes. You decide to pick your favorite heroes: Solstice first, then Predator, and of course Monarch.
You enter the game, and it’s not quite the HoN you’d expect; your abilities have been randomly generated from the 30 heroes chosen by all of the players!
So, with your crazy abilities in tow, you head off to your lane. There you are, carefully last-hitting, when suddenly Martyr throws an Amun-Ra stun at you. Good thing your Bubbles lane partner has Accursed’s Shield! Unfortunately, Legionnaire pops out of the jungle as Minotaur (that he’s stricken with Parasite’s Infest) and catches you before you can get back. Luckily, you respawn very quickly, and haven’t lost any gold. You also notice you have a whole new set of abilities!
This mode is chaotic, this mode is action packed, and it’s incredibly fun. I know this because we’ve been play testing it internally for a while now.
I’d love to hear what you guys might think about a mode like this, so please leave some comments on the forums here:
06/22/2013 2:33 AM
Hey everyone, Buro here. In our most recent development blog, we gave you an update on what was in the works for HoN, and now I would like to give you an idea on what you will be seeing in the near future.
The next patch will bring Hero Filters, which will allow an easier way to sort through heroes on the pick screen and create more balanced team compositions. This change will also add some new picking functionality such as being able to random between filtered heroes and creating your own favorites filter!
After that, around mid-to-late July you will be getting a patch with some improvements to Mid Wars (one of which being a different banning structure!). On top of this, we will be releasing some balance changes and hero tweaks that are aligned with our direction of removing homogenization from the hero pool.
We've been having a lot of fun testing these changes, and I look forward to reading your feedback in the forums!
06/14/2013 10:06 PM
Persistent Matchmaking Groups
I'm DJ Hirko ([S2]Deejay
), the lead programmer of Heroes of Newerth. I'm writing a post today to give you a look inside the nitty-gritty technical aspects of working on Heroes of Newerth.
One feature we've planned to add to HoN, and actually did have for a few hours, is persistent matchmaking groups. This would mean that after playing a matchmaking game with a group, you would still be in that group and wouldn't need to re-invite everyone next game. It's a very nice "quality of living" improvement for our loyal players.
The original matchmaking code was written to get good match-ups in a timely manner. It worked pretty well, but had scalability problems. These scalability problems laid dormant until the first attempt we made to add persistent matchmaking groups. Our stats showed the number of groups quadrupled, leading to very poor performance on the chat server. This was quickly pulled and has sat on the shelf ever since.
Now here's where it can get pretty technical. We've made huge changes on the chat server to improve its performance. Many O(N^2) algorithms were reduced to O(N) or even O(1) and we now use a separate process on the chat server to matchmake. After these changes, the chat server's peak frametime was lowered from 13000ms to 1200ms. This is a great improvement, but it's still higher than we're aiming for. In order to add support for persistent groups again, we need to further optimize the chat server, and that's where I/O completion ports come in.
Our profiling data shows that 41% of frametime (i.e. peaking at 480ms) on the chat server comes from polling sockets to see if there's data waiting, and if there is, receiving it. This time does not include processing the data - just polling and copying! Polling an individual socket is fast, but it's an O(N) problem - it grows linearly with the number of sockets (including clients and servers). The best solution to this problem that we've found is a Windows feature called I/O completion ports.
Windows supports I/O completion ports for a variety of asynchronous I/O functions - the pertinent one here being reading socket data. I/O completion ports are an OS level messaging system. When you call an asynchronous function that's hooked up with an I/O completion port, a message will be queued up when the function call is finished. Instead of processing the socket immediately, we instead associate the socket with a shared I/O completion port, call an asynchronous read, and then process the messages as they're created. This reduces the O(N) problem of polling socket data to an O(1) problem, since we no longer need to loop over all sockets - we just process the messages as they're posted to the single I/O completion port. This reduces our peak frametime from 1200ms to 760ms, leaving plenty of space for us to add a new feature like persistent matchmaking groups.
These changes will be going out soon and from there, you can expect to see persistent matchmaking groups being added in the near future.
I hope this was informative and thanks for reading!
06/13/2013 11:11 PM
Sell's Sneak Peek: What’s Coming Up?
Hello ladies and gentlemen of Newerth! Sell here, with a quick rundown of what’s brewing behind the scenes. We wanted to keep you all in the loop of both upcoming content and a few things under development as well. Hopefully you enjoy the first of my posts in our new blog.
League and Leveling Systems
We have been working on methods of rewarding players for their dedication and consistent play on their accounts. One of these methods in development is the League System. The current plan is to have Seasonal Leagues and League Ranks to differentiate players of varying skill levels and provide those seeking with continuous challenge and reward.
Also, the current Leveling System will be reworked with one more focused on rewarding dedication to your account. Players will be rewarded with more silver per game the higher their account level. You will not by any means lose your current level of investment in your account as that will all transfer into the new leveling system. The rewards for your first game each day will also be much more significant. These changes are still in the development stages and are looking awesome thus far!
In response to community inquiry we are taking a closer look at the Matchmaking System and evaluating areas we can improve upon. This is quite an involved process and it is currently in development alongside the new League System!
Mid Wars is the go to favorite of many of our players and we have been monitoring feedback closely. We are currently exploring options to encourage a bit more active play in Mid Wars and to prevent the games where there can be too much passive play. Right now we are experimenting with changes to Runes, Experience, Gold, and other elements in order to accomplish this. These changes are currently in different stages of testing and iteration.
We are continuing the trend of balancing and improving our hero pool. This ensures that we address any current hero concerns over focusing on hero release deadlines. The current feeling is that our players will enjoy a higher level of quality control to our current game, and more focused and polished new hero releases.
Currently we have been working on hero Asymmetry, which means that we are making sure that heroes do not overlap significantly in play style to provide players with more interesting options when selecting a hero. While the heroes are being looked at, new Staff of the Master effects are also being considered. More information on this can be found in Buro’s last blog post.
I hope you are all as excited about the new upcoming content as I am, and that you enjoyed the peek behind the curtain. Expect use of the new blog regularly and enjoy the upcoming posts!
06/11/2013 5:16 AM
Welcome to the Heroes of Newerth Blog!
You've probably noticed a change around here.
At S2 Games, we've undergone a company-wide shift to become more transparent, to listen harder, and to produce more content and changes that you, our players, want to see.
In an effort to prove our dedication to transparency, we've established this handy little blog. Here, you can read posts from Designers (both balance and hero), the Content team, our Community Manager, and even from the CEO himself. We want you to be informed about the changes happening around HoN, and to also feel our passion for these changes first-hand.
In the top right corner, you'll notice a filter function. This will allow you to filter posts by topic, so you can always stay up-to-date on news you're interested in.
We believe that giving back to the community is the best way to provide service to our players. As we continue to improve, we hope you will check back here for updates, insight, and in-depth reasoning behind the decisions we're making.
06/01/2013 2:48 AM