I think S2 are a bit unlucky in some respects. They’ve had to chop, change and adapt their business model over the last 2 years. When I first heard about HoN, I always perceived it to be “Dota 2”, and I think this is what S2 were initially intending very early into the beta. S2’s target market was the then current Dota player base. I remember when S2’s marketing strategy focused on HoN’s improvements, highlighting unique HoN features such as: improved graphics, the ability to reconnect, match making, replays that can rewind and fast forward, new heroes, and I’m sure there were others that I can’t think of at this stage.

And then came along Valve’s announcement of Dota 2. Valve now claims that Dota 2 will have all of these above-mentioned features (and more). And Valve’s very strong and credible brand image only works in Dota 2’s favour. Assuming that Dota 2 lives up to the hype, I think the best that S2 could hope for is to achieve a positive-sum situation whereby HoN can peacefully and profitably co-exist with Dota 2. Sounds difficult to be honest, but I wouldn’t rule it out completely. IMO, in order for this to occur, HoN needs to continue to differentiate itself from Dota so that it doesn’t directly compete with Dota 2. This is a hard ask since a lot of people currently see HoN as a “Dota clone with a few neat mods” mainly because of all the direct Dota functional and hero ports it has – a product of its initial marketing strategy. Will be interesting to see what happens over the next year or so though. Hopefully S2 can continue to be innovative and find a way to survive.

What is temporary table instancing?
Instancing in the application engine context is when a process run by the user is assigned a dedicated temporary table.

When should it be used?
It’s a must when there are multiple users running the same process concurrently, or when the same user is running the same process concurrently (i.e. multiple times in parallel).

How does it work?
A new table is created in the database with a number suffix that represents the instance number. So for example, if a user runs the SCC_3CD_PMGR process, the system will create a dedicated temporary table called SCC_3CD_TMP2. This table is locked specifically for that process, and will only be released when the process is completed successfully. If another user decides to run the SCC_3CD_PMGR process at the same time, that user will be assigned a new dedicated temporary table called SCC_3CD_TMP3. Having a dedicated temporary table eliminates the burden of resource contention – when a process has to wait for another process to unlock the table or a row in the table.

What are the benefits of instancing?
Instancing will improve performance if you’re sure that multiple users will be running the same process concurrently or the same user will be running the same process concurrently. Users can do this by opening up the application engine in Application Designer and then changing the instance count (click the Properties button and then the Temp Tables tab).