This game needs a new engine

Imagine being so ridiculous you make outlandish suggestions.

HoTS doesn’t need a new engine and do you even understand how much work it would it would be to make this game in a new engineer

No, this game need new team dev.

1 Like

HotS was in development long before the competitors had their huge presence. It started out as a StarCraft II mod that was being made around the release date of StarCraft II in an attempt to promote modding. Its partner projects, Aiur Chef, Night to Die (forget exact name, it was rehashed so much…), and the bejewelled clone were all released for StarCraft II. HotS was repeatedly delayed and eventually grew to something much bigger in light of the MOBA scene exploding.

Nothing is free in the world. The owners will have to find money to run all those servers from somewhere. Blizzard HotS servers likely cost a fraction of the amount to run. Would be interesting to see the percentage of earnings (Esport and in game purchases) that is spent on server running cost and on new content creation in HotS, LoL, and DotA 2.

I think Drsupergood is a troll trying to drag an argument just ignore him. Even when people say the most logical stuff he just plugs his ear in and doesn’t hear what people are telling him.

I have a powerful gaming PC that has current gen hardware and I play a lot of games that run both DX 11 and 12 so I know what the hell I’m talking about. WOW actually runs better then HOTS since the DX 12 update and other new tittles that have been release for the past couple of years also run a lot better. I can actually run WOW at 144 hrz with DX 12 besides when I go into a raid I have to turn stuff down. I don’t know but I can’t argue with a person who is still running on old hardware. diablo 3 even runs at 144hrz no problem now and that also now supports DX 11. HOTS engine just sucks simple as that.

This is from personal experience so I don’t understand why you seem to disagree on the fact that HOTS just has a sorry engine. the main issue is that it’s too CPU heavy for no damn reason and is locked at using only 2 cores not to mention DX 11 already waste one core to transfer data so then theirs that. I’m pretty sure that like WOW, HOTS will have a major improvement in terms of performance if it ran in DX 12. If you have old hardware then run the game in DX 11.

2 Likes

Okay, you seem not to comprehend a vital aspect of how Blizzard makes its games. They work on single games for over half a decade before release as their standard. You are demanding a massive increase to the minimum performance specifications solely so that you, a power user, can get actually-meaningless performance improvements.

The game runs at the speed of the slowest person in the match, that’s the fundamental way the servers operate, that’s how the game’s client is designed, to change that would require a massive overhaul of large parts of the game’s code. To do what you suggest would require rebuilding the game from scratch.

The engine is actually perfectly well done for its time. Two threaded CPUs were high-end when Starcraft 2 launched, and HotS’ development lasted from then until it was released. I’ll take potatoes running the game over hitting 144 FPS with the best parts on the market. You’d have to completely change the netcode for that to do anything more than just look slightly better, anyways.

The best change I can think of is switching to a “superclient” setup, where the netcode is adjusted so that everyone’s still running the full game, but only one player is outputting results. This is important, because a client-host system is vulnerable to the host’s connection cutting out causing the game to essentially crash, which means that the host rage-quitting causes the match to have a glaring lag spike that otherwise wouldn’t exist.

Doing this would mean that the game could become much more multithreaded, as the game is no longer co-deterministic between players, so you don’t need everything done in sequence. By having everyone continue to run the game client-side just as before, a lot less changes are needed, saving developer time (and thus money), and desyncs and disconnects are prevented from ruining a match’s processing because the server just switches to another player seamlessly.

Because out of all Blizzard products the only ones that track game state locally are the RTS games like Warcraft III, StarCraft II and Heroes of the Storm which all are highly CPU limited like most RTS games. WoW, D3 and OW all are light weight clients as the game servers do all the heavy CPU usage. This is why World of Warcraft requires a monthly subscription as the server upkeep is substantial. If they do not hit high frame rates with a modern processor it would be surprising.

This makes no sense seeing how D3D9 never suffered this problem, in part because all consumer processors were single core back then, and neither does D3D12. If you can link the source where you read this as I am curious.

In theory it is possible that all cores of a CPU to be memory bandwidth blocked during a data transfer to/from GPU. This is because the CPU memory has a finite bandwidth which has to be shared between feeding the CPU and supplying the GPU among other things. That said the GPU will be transferring data from memory directly, without involving any core of the CPU, by using Direct Memory Access, a technology which has existed over 30 years. Like wise all cores of the CPU can keep running at full performance as long as the requested data is in cache. I would not be surprised if modern memory controllers also multiplex bandwidth hence interleaving reads/writes between GPU and CPU to help keep the CPU fed with data in a timely manner.

I suspect the confusion here is between the term thread and core. The D3D11 API likely has a function call which will block the thread during a memory transfer operation with the GPU. However since DMA is used to perform the actual transfer the thread will be de-scheduled from the core freeing the core up to execute other threads in the mean time. This is called a blocking API in respect to the thread and not a core. D3D12 and Vulkan are more asynchronously designed and so might not require the thread be blocked when making similar purpose function calls, allowing the thread to immediately proceed with executing other tasks or to optionally block waiting for the transfer to complete if ordering requires it to. The reduction in context switching on a core has potential performance benefits, however these might only go beyond 1% improvement in the most extreme, non realistic examples.

I would only expect a 5% odd increase to frame or so at best. If the gains are larger I would not be surprised if similar large gains get observed in the D3D11 API at the same time as that would point towards a more general engine optimization.

D3D11 is already fast. D3D12 is faster, but only with certain work loads and not by much when it comes to a D3D11 optimized work load.

Problem with peer based servers is that it gives full responsibility of the results to a client. Sure if that super client is you or me we would never consider cheating and the game would be fair. To bad there are thousands of people who would… If one is the super user one is literally god of the game, one could set enemy health to 1 and constantly keep your team heath at maximum, let alone slow their movement speed down, purposely lag your enemies, etc.

This is why DotA 2 and LoL use a central trusted server system, which the respective companies pay for.

They can’t give the game a new engine. They’d have to re-do it from scratch.

And I don’t think i tbrings enough money for it to be a priority.

Well, everyone still runs the game, so they can be used to check for desyncs on a per-frame basis (as gamecode framerate could still be synchronized to something manageable on low-end hardware) and switch the “superclient” to someone else. And a desync of instructions run, rather than order of instructions, can then be flagged for a relatively server-heavy anticheat check looking for illegal commands when it happens. That check doesn’t need to fit in one frame, because the server still isn’t handling gamecode.

This would correct any such cheat’s effects practically instantly and take the tool used away the moment it’s detected, so even if they aren’t detected for cheating, the opening can be corrected for instantly.

If they refine the engine, reworking it to cover this stuff, they can reuse basically any code they come up with in Starcraft 2 and later RTS games to improve the performance of those, as well as reusing the netcode for later RPGs in the Diablo mold to have lower server costs in exchange for an increase in system requirements.

It’s useful code to make, because it gives much of the advantage in server load of lockstep netcode while dealing with most of the disadvantages to allow them to improve performance on their games quite significantly. Variations of the setup could be used to safely allow WoW to use a large increase in client-side processing, offloading much of the server load onto players so that the cost to run WoW would drop.

The mentioned solution raises the current determinism problems which cause poor thread scalability performance. They could do that or they could do what they are doing currently and everything just works. Currently each frame is verified 5 or 10 times, so that 1 kid trying to cheat gets dropped instantly.

In any case I would not be surprised if there are performance improvements in the coming years now that Windows 7 and D3D11 are minimum requirements. Sure it will never perform as well as a paper weight client, but I am pretty sure with some optimizations they could edge out an extra 5-10% more frames per second.

The key here is per-frame. By cross-referencing gamestates at set intervals, instead of keeping instructions synchronized, which is what lockstep is, multithreading can be used to reach that matched gamestate. The way you get there stops being checked on any per-instruction basis unless something’s off on the results, so multithreading that ends up with out-of-order process completion can then be used.

The “superclient”'s role, here, is to handle connection latency and differences in client speeds in ways more typical of client-server systems, allowing the gamestate to progress faster than the highest-ping or slowest-hardware client when they fall out the bottom of 30 FPS or whatever number gets picked.

Of course, all this framerate complaining would be relatively easily solved by just shoving all the graphics in another thread (or however many threads it can be split between) to run as many frames as your machine can handle while the gamecode is locked to 30 FPS or whatever. Not like you’ll see any difference…

1 Like

Nintendo saved the gaming industry by marketing video games as a product for boys.

Disney was asked to push princesses.

Bobby Kotick saved the gaming industry by drinking the blood of Mannoroth. Now it is time to lose everything, boys.

Disney was asked to push rebels like Esmeralda, Pocahontas and Mulan.

Jeff Kaplan was banned from World of Warcraft so that he could focus on his job.

As a gift, Disney will help Blizzard with the construction of the Disney World Blizzard Land Universal Brothers amusement park in Antarctica.

Jurassic Park was not possible, but there is an ongoing research that is giving results on how to grow living Pachimaru from ice.

It will be the first “Pokemon” on Earth.

Thank you, Blizzard.

2 Likes

uh LOL its blizzard they got money are you series ? billion dollar company and they cant invest to improve and fix their games ? that’s BS. These big game companies make plenty of money. It’s just that blizzard doesn’t want to invest in their games and only cares about the esports. esports is what screwed all of blizzards games up.

1 Like

not happening bro…

And these boys still wonder why their mother doesn’t love them anymore and preffers to stay at work.

:tt: :tt: :tt:

Currently the game runs at a flat 16 FPS. If a client is too slow they get booted so as to make sure they cannot introduce lag into a match. That said you would really need to be running it off a stone computer for that to happen as despite what it sounds like from this thread, the system requirements are quite low…

StarCraft II does this as it was designed to take advantage of dual cores. That said the graphic core is now only lightly used due to the move to D3D11.

Not very on topic but whatever.

I want to know what CheapQuadSelection means, it appears on the Variables.txt file.

How did you think Blizzard got so rich? By investing money in underperforming products?? LMAO

Successful businesses know better than to invest money in the losers. That’s why HotS is just running on maintenance mode autopilot now

2 Likes

Don’t get warm, brother.

The thing is that they updated WOW and diablo 3’s engine with DX 11 and 12 support and actually improved the engines performance so I don’t understand why they cant do the same for HOTS which is big in the esports seen. They can at least give the engine a major update like they did WOW and finally diablo 3. The make plenty of money off of HOTS and HOTS is actually doing just fine. What the game really needs is a better directer and people who actually play the game.

…Yes, actually, we just don’t get to see it because they constantly rework things for years before actually releasing the final product. Overwatch had a total development cycle of well over a decade with many flagrantly nonsensical decisions made along the way, with the engine work starting with Starcraft: Ghost all the way back in 2002 and an MMO first person shooter being one of the things they burned several years of extraordinarily expensive development on. The first Warcraft was only a minor success, but they not only popped out an expansion, they made a sequel which turned out to be ludicrously popular.

Then they took a giant leap in gameplay style with Starcraft, did more wasted development time on a hybrid RPG/RTS in the alpha stages of Warcraft 3 and stepped into the most expensive to make and operate type of game there is with no experience on anything involved (as every game before WoW was lockstep and they had to build the engine largely from scratch. After several years of failing to do it with the WC3 engine. Same happened with trying to make Starcraft on the Warcraft 2 engine).

Blizzard’s a risky company that burns a lot on development that never goes anywhere. With Diablo 3, they completely changed how the game operated from Diablo 2, resulting in something that probably only made a profit due to the brief existence of the real-money auction house. With Cataclysm and Legion, they massively overhauled major pillars of WoW’s mechanics. They spent years trying to work out an Emerald Dream based expansion for World of Warcraft that never went anywhere and have numerous cancelled raids from unmet deadlines.

The content drought of Warlords was caused by Blizzard screwing up development constantly, leaving them with no content to patch in. Stuff that does absolutely horribly in practice is usually involved in the development process (can you imagine if Overwatch had Heroes of the Storms’ Talent system? They actually planned to do that. Turned out impossible to balance in a timely manner, so they axed the entire system).

1 Like