Heroes of Might and Magic Community
visiting hero! Register | Today's Posts | Games | Search! | FAQ/Rules | AvatarList | MemberList | Profile


Age of Heroes Headlines:  
5 Oct 2016: Heroes VII development comes to an end.. - read more
6 Aug 2016: Troubled Heroes VII Expansion Release - read more
26 Apr 2016: Heroes VII XPack - Trial by Fire - Coming out in June! - read more
17 Apr 2016: Global Alternative Creatures MOD for H7 after 1.8 Patch! - read more
7 Mar 2016: Romero launches a Piano Sonata Album Kickstarter! - read more
19 Feb 2016: Heroes 5.5 RC6, Heroes VII patch 1.7 are out! - read more
13 Jan 2016: Horn of the Abyss 1.4 Available for Download! - read more
17 Dec 2015: Heroes 5.5 update, 1.6 out for H7 - read more
23 Nov 2015: H7 1.4 & 1.5 patches Released - read more
31 Oct 2015: First H7 patches are out, End of DoC development - read more
5 Oct 2016: Heroes VII development comes to an end.. - read more
[X] Remove Ads
LOGIN:     Username:     Password:         [ Register ]
HOMM1: info forum | HOMM2: info forum | HOMM3: info mods forum | HOMM4: info CTG forum | HOMM5: info mods forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Heroes 7 - Falcon's Last Flight > Thread: An Empirical Study of MMH7 Memory Consumption and Time Complexity
Thread: An Empirical Study of MMH7 Memory Consumption and Time Complexity This thread is 5 pages long: 1 2 3 4 5 · «PREV / NEXT»
frostymuaddib
frostymuaddib


Promising
Supreme Hero
育碧是白痴
posted August 24, 2016 01:53 PM

Oakwarrior said:


In terms of optimization I'm not fully sure what you mean by this. Do you mean the FPS, memory usage or loading times? These are the three big performance metrics for Heroes.


Personally, waiting times (loadings included) as it makes you don't want to play the game - that was the thing I disliked in H5TotE -  waiting for AI. (Thank you Quantomas!!! )
____________
"Occam's shuriken: when the answer is elusive, never rule out ninjas." -- Dr. Gordon Freeman (Freeman's Mind)
"lol" -- VERRIKER VON ERWINSSEN

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Oakwarrior
Oakwarrior


Famous Hero
posted August 24, 2016 01:53 PM
Edited by Oakwarrior at 14:02, 24 Aug 2016.

verriker said:
Oakwarrior said:
Right back at you, son.


if expressions of contempt for your audience are really the only rejoinders you have in your arsenal, I honestly have to say I wish you and your studio ill tidings in turn, and that the failure of Heroes 7, can only be the chickens coming home to roost (while, believe it or not, I felt legitimate pity for Limbic before) lol


I don't care about you
Also you're not really my audience.

frostymuaddib said:
Oakwarrior said:


In terms of optimization I'm not fully sure what you mean by this. Do you mean the FPS, memory usage or loading times? These are the three big performance metrics for Heroes.


Personally, waiting times (loadings included) as it makes you don't want to play the game - that was the thing I disliked in H5TotE -  waiting for AI. (Thank you Quantomas!!! )


That's something where we have quite little room. There's 2 main choices for loading in stuff for games: on start-up and on-demand. If you do a lot of loading on start-up, then starting the game will take long, and will consume a lot of memory immediately. If you defer it to when a session starts, you will have longer loading during the session. There's also the option additionally to load stuff during the session. In total, you can approximately aggregate a "grand total" loading time for all your assets. Then you have to decide at which point this happens. When it comes to H7 I think it's already spread quite well, unless you're okay with creatures popping into existence when they come into view (I don't think this would ever be approved anyway ). For the AI, I have one idea how to improve it, because I still feel it could be faster, but I've yet to test it.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
frostymuaddib
frostymuaddib


Promising
Supreme Hero
育碧是白痴
posted August 24, 2016 02:03 PM
Edited by frostymuaddib at 14:07, 24 Aug 2016.

Oakwarrior said:
When it comes to H7 I think it's already spread quite well, unless you're okay with creatures popping into existence when they come into view (I don't think this would ever be approved anyway ).


Can you please explain this a little? 'view' means player's screen? If that is the case, it would mean that creatures would load only when player can see them, which (if I understood correctly) sounds like a good idea.

EDIT:

To be clear, AI in H7 is much faster than in H5TotE
____________
"Occam's shuriken: when the answer is elusive, never rule out ninjas." -- Dr. Gordon Freeman (Freeman's Mind)
"lol" -- VERRIKER VON ERWINSSEN

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Oakwarrior
Oakwarrior


Famous Hero
posted August 24, 2016 02:07 PM
Edited by Oakwarrior at 14:08, 24 Aug 2016.

frostymuaddib said:
Oakwarrior said:
When it comes to H7 I think it's already spread quite well, unless you're okay with creatures popping into existence when they come into view (I don't think this would ever be approved anyway ).


Can you please explain this a little? 'view' means player's screen? If that is the case, it would mean that creatures would load only when player can see them, which (if I understood correctly) sounds like a good idea.


Yes, basically the "camera view", it's what the player sees in the program viewport. If we do that then it will introduce popping. Meaning that when you pan your screen or switch your view from the minimap, assets would not be immediately visible but they would appear, one by one, over time, depending on how fast your RAM and storage drive is, basically.


EDIT: The AI may be faster but I think it can always be even faster... It's one of my main gripes with Heroes games.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
frostymuaddib
frostymuaddib


Promising
Supreme Hero
育碧是白痴
posted August 24, 2016 02:11 PM

Oakwarrior said:

Yes, basically the "camera view", it's what the player sees in the program viewport. If we do that then it will introduce popping. Meaning that when you pan your screen or switch your view from the minimap, assets would not be immediately visible but they would appear, one by one, over time, depending on how fast your RAM and storage drive is, basically.


Hmmm, ok. Now, I have to ask (and keep in mind that I'm no game developer ) wouldn't it be possible to create something like a 'hidden' camera view (my terminology sux ) that would be bigger than the real one (the real one would be nested in the center of the 'hidden')? So you could load the stuff that comes into the hidden camera view, and when it comes to the real view, it would be already loaded, and there would be no popping up.
____________
"Occam's shuriken: when the answer is elusive, never rule out ninjas." -- Dr. Gordon Freeman (Freeman's Mind)
"lol" -- VERRIKER VON ERWINSSEN

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Oakwarrior
Oakwarrior


Famous Hero
posted August 24, 2016 02:21 PM
Edited by Oakwarrior at 14:21, 24 Aug 2016.

frostymuaddib said:
Oakwarrior said:

Yes, basically the "camera view", it's what the player sees in the program viewport. If we do that then it will introduce popping. Meaning that when you pan your screen or switch your view from the minimap, assets would not be immediately visible but they would appear, one by one, over time, depending on how fast your RAM and storage drive is, basically.


Hmmm, ok. Now, I have to ask (and keep in mind that I'm no game developer ) wouldn't it be possible to create something like a 'hidden' camera view (my terminology sux ) that would be bigger than the real one (the real one would be nested in the center of the 'hidden')? So you could load the stuff that comes into the hidden camera view, and when it comes to the real view, it would be already loaded, and there would be no popping up.


You underestimate how slow RAM and HDD's can be
Of course you can do this, but the loading itself just takes time.

Stevie said:
That's called preloading and games like Starcraft 2 have it.


Not sure which part of the loading you're talking about. Starcraft 2 loads all its assets in based on which units are involved in a map and once the map is loaded that's it for that map. Once you go back to the menu the stuff is un-loaded. There is no loading of assets when you build your first Marauder from a barracks for example. That would be ludicrous in an RTS game where twitch reflexes are king.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
frostymuaddib
frostymuaddib


Promising
Supreme Hero
育碧是白痴
posted August 24, 2016 02:25 PM

Oakwarrior said:
You underestimate how slow RAM and HDD's can be
Of course you can do this, but the loading itself just takes time.


Of course it can be slow... But it does seem as a good compromise. If I'm right, first person games do that (or something similar)? Correct me if I'm wrong, but Skyrim does that: when you are on the world map it loads only what you see (or what is around you, I'm no expert). I doubt that it loads entire world map. And Skyrim works good even on slow machines.

Oakwarrior said:

Not sure which part of the loading you're talking about. Starcraft 2 loads all its assets in based on which units are involved in a map and once the map is loaded that's it for that map. Once you go back to the menu the stuff is un-loaded. There is no loading of assets when you build your first Marauder from a barracks for example. That would be ludicrous in an RTS game where twitch reflexes are king.


You Terran scum
____________
"Occam's shuriken: when the answer is elusive, never rule out ninjas." -- Dr. Gordon Freeman (Freeman's Mind)
"lol" -- VERRIKER VON ERWINSSEN

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Oakwarrior
Oakwarrior


Famous Hero
posted August 24, 2016 02:36 PM
Edited by Oakwarrior at 14:36, 24 Aug 2016.

frostymuaddib said:
Oakwarrior said:
You underestimate how slow RAM and HDD's can be
Of course you can do this, but the loading itself just takes time.


Of course it can be slow... But it does seem as a good compromise. If I'm right, first person games do that (or something similar)? Correct me if I'm wrong, but Skyrim does that: when you are on the world map it loads only what you see (or what is around you, I'm no expert). I doubt that it loads entire world map. And Skyrim works good even on slow machines.

Oakwarrior said:

Not sure which part of the loading you're talking about. Starcraft 2 loads all its assets in based on which units are involved in a map and once the map is loaded that's it for that map. Once you go back to the menu the stuff is un-loaded. There is no loading of assets when you build your first Marauder from a barracks for example. That would be ludicrous in an RTS game where twitch reflexes are king.


You Terran scum


Yes, FPS games can utilize this to GREAT extent because you are constrained to your character's view. One game that has a bad time doing this right now is No Man's Sky, and also, to an extent, Mankind Divided. Skyrim does this as well, yes but successfully. Top-down games will suffer from it more, no matter which game. I think anyone who makes decisions about the visuals about any Heroes game would not approve of popping


And I'm more of a Zerg guy myself >_> Even though I hate the race I seem to play best with them.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Stevie
Stevie


Responsible
Undefeatable Hero
posted August 24, 2016 02:36 PM

Oakwarrior said:
Stevie said:
That's called preloading and games like Starcraft 2 have it.


Not sure which part of the loading you're talking about. Starcraft 2 loads all its assets in based on which units are involved in a map and once the map is loaded that's it for that map. Once you go back to the menu the stuff is un-loaded. There is no loading of assets when you build your first Marauder from a barracks for example. That would be ludicrous in an RTS game where twitch reflexes are king.


I realized it might be unrelated. There's a user map called Unit Preloader which hovers over every unit, building and animation so that whatever stutter might occur from loading them occurs then and there and not in a real game. It's near mandatory for pvp.
____________
Guide to a Great Heroes Game
The Young Traveler

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Neraus
Neraus


Promising
Legendary Hero
Pizza Nazi
posted August 24, 2016 02:37 PM
Edited by Neraus at 14:39, 24 Aug 2016.

Skyrim and, since I still prefer to work on it, Oblivion have a different system of loading assets.

Interiors are in a single cell (even though I never found their bounds, never thought of it), while the exterior world is in multiple cells, in short, when in the overworld the game loads a square of 5x5 cells, everytime the player moves from one cell to another the game loads the cells that are included in the new square with the center you're standing on, while the cells that are outside the square are unloaded.

This way too distant assets don't impact too much the local memory.

That's basically how it works, but the scale and perspective of the game means that such a rendering system can't be applied to a TBS, due to the scrolling speed of the map, or clicking a point in the mini-map.

Theoretically, if you implemented full screen GUI elements, like the heroes page, or Town-screens (I believe they are windowed?), you could try to unload the assets that are far from the neighbouring limits of the current view, thus lessening the impact while in a screen, and maybe, do the same while the game transitions from a battle to the adventure map, maybe unloading completely all adventure assets while the game is in the battle-scene.

Of course, I don't know how the game handles this, so it may as well do that already, I don't have a way to check since I don't own the game...

I hope I explained my idea clearly enough.
____________
PLVTOCRATIC AND REACTIONARY DEMOCRACIES OF THE WEST
POTERE, LO SFORZO, LA PASTA

0.05% Chance of being Cyrus the Great's descendant

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
Oakwarrior
Oakwarrior


Famous Hero
posted August 24, 2016 02:38 PM

Stevie said:
Oakwarrior said:
Stevie said:
That's called preloading and games like Starcraft 2 have it.


Not sure which part of the loading you're talking about. Starcraft 2 loads all its assets in based on which units are involved in a map and once the map is loaded that's it for that map. Once you go back to the menu the stuff is un-loaded. There is no loading of assets when you build your first Marauder from a barracks for example. That would be ludicrous in an RTS game where twitch reflexes are king.


I realized it might be unrelated. There's a user map called Unit Preloader which hovers over every unit, building and animation so that whatever stutter might occur from loading them occurs then and there and not in a real game. It's near mandatory for pvp.


Correct, this can be used to boost loading times by keeping stuff in memory
It's not really mandatory, I haven't ever used it and I don't suffer from any loading bottlenecks anyway, but it does have an impact.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
frostymuaddib
frostymuaddib


Promising
Supreme Hero
育碧是白痴
posted August 24, 2016 02:40 PM

Oakwarrior said:

Yes, FPS games can utilize this to GREAT extent because you are constrained to your character's view.


Aren't you constrained to your camera view here?


Oakwarrior said:

One game that has a bad time doing this right now is No Man's Sky, and also, to an extent, Mankind Divided.


Heard about that.

Oakwarrior said:

Skyrim does this as well, yes but successfully. Top-down games will suffer from it more, no matter which game. I think anyone who makes decisions about the visuals about any Heroes game would not approve of popping



Well, if I understood, the point of this is to avoid popping (the 'hidden' view I mentioned)?

____________
"Occam's shuriken: when the answer is elusive, never rule out ninjas." -- Dr. Gordon Freeman (Freeman's Mind)
"lol" -- VERRIKER VON ERWINSSEN

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Oakwarrior
Oakwarrior


Famous Hero
posted August 24, 2016 02:44 PM

frostymuaddib said:
Oakwarrior said:

Yes, FPS games can utilize this to GREAT extent because you are constrained to your character's view.


Aren't you constrained to your camera view here?


Oakwarrior said:

One game that has a bad time doing this right now is No Man's Sky, and also, to an extent, Mankind Divided.


Heard about that.

Oakwarrior said:

Skyrim does this as well, yes but successfully. Top-down games will suffer from it more, no matter which game. I think anyone who makes decisions about the visuals about any Heroes game would not approve of popping



Well, if I understood, the point of this is to avoid popping (the 'hidden' view I mentioned)?



The constraint is much more loose. Compare it to flying in a plane and looking down on the land vs walking around on the street. Of course it all comes down to the assets and how the view is set up, but FPS games have an edge when it comes to that.

And yes, you can introduce this kind of shadow-loading, but since all hardware is different you can never reliably say that assets will be loaded once they pop into view, and pausing/hanging the game while the loading is still taking place is not exactly desireable behaviour.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
frostymuaddib
frostymuaddib


Promising
Supreme Hero
育碧是白痴
posted August 24, 2016 02:50 PM

Oakwarrior said:

And yes, you can introduce this kind of shadow-loading, but since all hardware is different you can never reliably say that assets will be loaded once they pop into view, and pausing/hanging the game while the loading is still taking place is not exactly desireable behaviour.


Agreed. But same argument can applied to current scenario. You have terrible loading times on some machines when starting/loading the game. And as Sal said, this kind of game expects save/load, so that becomes undesirable as well.
____________
"Occam's shuriken: when the answer is elusive, never rule out ninjas." -- Dr. Gordon Freeman (Freeman's Mind)
"lol" -- VERRIKER VON ERWINSSEN

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
JollyJoker
JollyJoker


Honorable
Undefeatable Hero
posted August 24, 2016 03:04 PM

Oak, that is all nice and well, but after 2.0 I have been trying 2 maps and encountered a couple of bugs, one of them not allowing my heroes to interact with weekly resource giving buildings like the Warehouse. 11 months after game release this bug must be well-known. The fact that it's not fixed may mean:
a) until now there has been more important stuff to fix;
b) it can't be fixed
c) the source of the bug hasn't been found yet
d) no one is bothering?

Nothing of this is good.
Now, there obviously has been a problem with skills/abilities disappearing after saving/loading. How on EARTH could that bug survive QC? That's MOST awkward, considering that this has been delayed a couple of months anyway.

That the game as such is no that great, ok, no surprise there, but the amount of technical problems seems staggering - I mean, if you have a really GREAT game, people are more inclined to be patient and all, to put up with some shortcomings, because all in all it may be worth it. But if you don't deliver a good game in the first place, AT LEAST it should run like a charm.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Oakwarrior
Oakwarrior


Famous Hero
posted August 24, 2016 03:05 PM
Edited by Oakwarrior at 15:08, 24 Aug 2016.

frostymuaddib said:
Oakwarrior said:

And yes, you can introduce this kind of shadow-loading, but since all hardware is different you can never reliably say that assets will be loaded once they pop into view, and pausing/hanging the game while the loading is still taking place is not exactly desireable behaviour.


Agreed. But same argument can applied to current scenario. You have terrible loading times on some machines when starting/loading the game. And as Sal said, this kind of game expects save/load, so that becomes undesirable as well.


Yep. In that case it can quickly become a discussion of visual presentation. I for one would be fine with potential asset-popping (even if I have a great machine at home and I won't notice it or even have it) but stakeholders might not agree.


JollyJoker said:
Oak, that is all nice and well, but after 2.0 I have been trying 2 maps and encountered a couple of bugs, one of them not allowing my heroes to interact with weekly resource giving buildings like the Warehouse. 11 months after game release this bug must be well-known. The fact that it's not fixed may mean:
a) until now there has been more important stuff to fix;
b) it can't be fixed
c) the source of the bug hasn't been found yet
d) no one is bothering?

Nothing of this is good.
Now, there obviously has been a problem with skills/abilities disappearing after saving/loading. How on EARTH could that bug survive QC? That's MOST awkward, considering that this has been delayed a couple of months anyway.

That the game as such is no that great, ok, no surprise there, but the amount of technical problems seems staggering - I mean, if you have a really GREAT game, people are more inclined to be patient and all, to put up with some shortcomings, because all in all it may be worth it. But if you don't deliver a good game in the first place, AT LEAST it should run like a charm.


Well, I suggest you ask our QC..

And yes we were even confident that it's fixed now with the latest hotfix. It's not the case. We're going for another route now for this issue and hope that if it works, the OK we get from QC this time around actually has substance to it

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
frostymuaddib
frostymuaddib


Promising
Supreme Hero
育碧是白痴
posted August 24, 2016 03:11 PM

Oakwarrior said:

Yep. In that case it can quickly become a discussion of visual presentation. I for one would be fine with potential asset-popping (even if I have a great machine at home and I won't notice it or even have it) but stakeholders might not agree.


Well, we can agree on one thing I wouldn't mind popping assets So basically, this was not decision made by programmers?
____________
"Occam's shuriken: when the answer is elusive, never rule out ninjas." -- Dr. Gordon Freeman (Freeman's Mind)
"lol" -- VERRIKER VON ERWINSSEN

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Oakwarrior
Oakwarrior


Famous Hero
posted August 24, 2016 03:14 PM

frostymuaddib said:
Oakwarrior said:

Yep. In that case it can quickly become a discussion of visual presentation. I for one would be fine with potential asset-popping (even if I have a great machine at home and I won't notice it or even have it) but stakeholders might not agree.


Well, we can agree on one thing I wouldn't mind popping assets So basically, this was not decision made by programmers?


There are very few decisions that programmers make, especially when it comes to visuals.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
frostymuaddib
frostymuaddib


Promising
Supreme Hero
育碧是白痴
posted August 24, 2016 03:15 PM

Oakwarrior said:
There are very few decisions that programmers make, especially when it comes to visuals.


So.... Team Erwin says hi?
____________
"Occam's shuriken: when the answer is elusive, never rule out ninjas." -- Dr. Gordon Freeman (Freeman's Mind)
"lol" -- VERRIKER VON ERWINSSEN

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Oakwarrior
Oakwarrior


Famous Hero
posted August 24, 2016 03:22 PM

frostymuaddib said:
Oakwarrior said:
There are very few decisions that programmers make, especially when it comes to visuals.


So.... Team Erwin says hi?


Erwan himself has made, contrary to popular belief, very few decisions about H7 as well. Most of them being aesthetic.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Jump To: « Prev Thread . . . Next Thread » This thread is 5 pages long: 1 2 3 4 5 · «PREV / NEXT»
Post New Poll    Post New Topic    Post New Reply

Page compiled in 0.0862 seconds