I’ve always tried very hard to keep sensible budgets. I’ve also made efforts to use at least 3 LODs for all ships. I’m assuming the proper use of LODs will go a long way in helping with the “budget”??? Or am I addressing the wrong cause and effect?
This is what Scole said a year ago:
But ships still use LODs, so IDK.
The budget in this case is just raw RAM - so if your LODs have unique textures, they’re making the pressure for memory as a resource worse. Enough to matter? Probably not. As for LODs - the old advice was to not bother. However, the next patch doesn’t support Goblins any longer - they’re not an engine feature at all. We use our first LOD as the ship+goblins, and our 2nd LOD as the ship - then lower as required. So we’re using LODs a bit. Not a ton, but some.
It’s an odd feeling to be finding a precious pieces of know-how like this accidentally in discussions.
That’s another incredibly useful info, thanks.
Hopefully a stupid question, but I’d like the confirmation anyway: if a ship isn’t referenced by any race files or level files that fit into the ext filtering, does it effectively not exist for memory considerations? Or perhaps another angle, if I had a 10 race mod but only 2 player maps,would I only need to budget for two races of ships being loaded at once?
Yes and Yes, I think. I mean, not all content is loaded, certainly. And if you can only have 2 players, well, you can only have 2 players But make sure you take into account stuff like your backgrounds, and FX…
Our backgrounds are typically 40MB without any planets or extra stuff, up to 120MB with all of the fun stuff - a ‘plain’ background over 50MB is probably just an example of poor material/texture use… For example a raw Cube instead of much, much more optimal Sphere. In addition, consider the sorts of detail your background has/needs… You can use stars or even cut-out overlays to provide details on top of a MUCH lower-res base background. It is very easy to add new stars for hero items like small nebula or constellations - as opposed to pushing your background res high enough to make those sorts of things sharp.
For us, our most complicated backgrounds are in Campaign maps - we know exactly what will be in that level. For MP, often the most basic maps are best - leave the performance for other things. I’ve seen a fair amount of ‘Cube’ constructed maps - but those are insane: We use a single 4kx2k texture for our basic backgrounds - they often look amazing. As noted before, the stars and smaller details can be sharp as just extras not actually pixels in the background texture itself. A ‘Cube’ is going to be 2kx2k or more, per side - So that’s 3x more RAM used, where often the top/bottom aren’t seen. It’s not only way slower to draw/render, it’s wasteful - plus, the pixels for any given texture vary in screen-space size because they’re smaller farther towards the edges of the cube.
For FX, the balance is similar - use low-res textures when you can for things that aren’t sharp, stick to only a size that you require - bigger is NOT better.
And lastly, consider UI - here’s another case where being conservative is king. That’s because UI is ALWAYS loaded. Sure some of the ship-specific stuff only comes along with loaded ships (ShipIcons, etc) - but in general, super HQ UI art is burning your budget. Ship Icons are a great spot to screw up as well. Some authors insist on using big ‘view’ graphics - when often the on-screen size doesn’t justify it. Or, they use non power-of-2 textures and choose shapes/aspects that waste RAM, often the same mistake over and over for each ship loaded - compounding the waste. A 512x256 preview icon is probably more than enough for most uses, and as a DDS ends up being tiny. You can scale it to 1024x512 easily - which is a substantial portion of even a 4k screen.
Sorry to harp - but I get really cranky when I see artists burning budget without any regard for a balance of end-result vs performance.
It’s worth noting to people that are following this that GPU memory doesn’t have the 32bit bottleneck of memory size. That’s why you get this thing where it can end up being a waste to have LODs.
The game is going to have lots of things in memory from all the variables for everything that makes the game work from stats to cords to gamestates, but also textures that you need to send to the renderer where they go from the system’s memory to the GPU’s memory.
Then it’s there that you’re using up a tiny bit more memory creating LODs on the GPU, but it never has to exist on the system’s memory wasting space that’s a premium in this case.
And when it comes to stars in backgrounds, gl_points or point sprites seem to not have too high of a cost. I’m not positive, though.
agreed. I like it when artists are ruthless in having the minimum texture detail and model complexity so we can do more than have just one asset on screen at a time w/o blowing budget (I really enjoy large sack engagements with lots of different ships on screen at once doing things)
More of the same asset doesn’t increase memory usage hardly at all. They’re instanced.
The polygons from more of them aren’t much of a problem, either; it’s draw calls as each object is typically one draw call. But there are exceptions to that.
That’s another bad extreme case from the opposite side of the spectrum.
really? I’m for artists putting as much detail as they need to accomplish the effect they want (you, Enterprise E, Eville Jedi for example), but I hate it when things are just sloppy.
There is a diffrence between sloppy and efficient and the latter one is what is very important when creating new content and I think that was what BitVenom and the others were getting at.
I did not know Gearbox had a Studio in Quebec? Is it Quebec City, or in Montreal?
Also, I’d like to say, great work on the Formations. I really can’t wait for this patch. I hope Multiplayer will get a bit of a revival with this upcoming patch, because I want to play some.
I’m holding my breath waiting… I’ve turned purple and passed out 47 times now… Not giving up…
BitVenom et al,
Long time lurker; first time poster.
I just wanted to let you all know how much I appreciate the continued effort you are all putting into this game. As a “veteran” of HM, HM:Cata, and HM2 (& Complex), I can honestly say that if you can deliver even half of what has been hinted at for this next patch, it’s going to make all the difference in the world. The current version of the game is already very much improved over the release version, and it seems to me that this upcoming patch should really bring things together. You guys should be proud of what you’ve managed to do with a game engine that was originally released in 2003 (13 years ago!).
Thanks again for all that you’ve done (and continue to do). VERY much looking forward to the next patch.
Yup, wanted to mention, some of us are lurkers here. We’re still with you, guys! Even hoping for some DLC, since other games with fewer sales had even less. Might even revive RM!
Several people have hinted at a HWR “revival”, and I wasn’t going to say anything because, well, we all have our special opinions which mean so dearly to us.
However, if you want to play online, you can play online. It’s not hard to get a game going. A revival implies that the game is no longer active, which is not the case for HWR. So, not an opinion, but a fact.
But, then again, everything can become a matter of opinion nowadays.
Enjoy some ‘Holy Crap What Did I Do?!’ Glitch Art - I figured I’d cap these before I fix whatever I just broke
what research will get me that?
Hah that’s pretty funny!