Batching and minimizing DIP's and state changes

Started by
13 comments, last by _the_phantom_ 13 years, 1 month ago

Disagree. Primary focus is 1) does it work acceptably to return investment and 2) will it be finished in time. Optimizing for speed of execution is only necessary, and indeed worthwhile, if either of the two above factors are compromised.


Well, not in indie game development, i don't think that greediness is of primal concern ;D Seems like project managers and publishers are the real root of evil, and yeah, why not, their concern is greed, not game, that's why most games now-days are crap code and fails at gameplay...


If you are working on a game as an indie developer and you factor in a system from the start to handle this, it isn't a particularly massive time sink at all. My scene manager took about an hour to code up right at the start of my project and I've barely touched it in the last two years.


This is bull. If that were true for real game projects, then developer would have made it without even asking, hey, its 1 hour, but as you can see - they DIDNT.
Civ5, as far as i know was not outsourced on graphics, and i think that you missed mentioned hex grid drawing system - its implementation is both time consuming and more depending on hardware, so its either pure stupidity, or code management issue, where one developer is given a certain task and hes used to make it as generic as possible and have no clue how game works as a whole. Point to mention that Civ5 developers were kind of bragging about cool features of using DX11 to take advantage of threading to improve performance, so it WAS concern or they pretended it was, to sound more techy and lure some gamers being fanatic about hi-end graphics. I vote for second.
Advertisement

Seems like project managers and publishers are the real root of evil, and yeah, why not, their concern is greed, not game, that's why most games now-days are crap code and fails at gameplay...


Project managers and publishers are the reason that game developers can earn a living, feed their families and keep a roof over their heads while creating the successful games you are criticising.


This is bull. If that were true for real game projects, then developer would have made it without even asking, hey, its 1 hour, but as you can see - they DIDNT.


You are missing my point - it was trivial for me because I am a solo developer working without a third party graphics engine and without deadlines. In a larger team with competing priorities, decision about where to invest time is not based on performance but based on shipping a finished product that works well enough.

I don't really understand where you are coming from - all the example games you criticise are commercially successful. They therefore work sufficiently well within their own parameters, so any further optimisation would be worthless.

I don't really understand where you are coming from - all the example games you criticise are commercially successful. They therefore work sufficiently well within their own parameters, so any further optimisation would be worthless.


The whole point of this thread. The misdirected guidance about minimizing state changes and dips, seen everywhere, also lots of developers reading and working their asses off to build it, while the real situation suggests to leave it alone as a general rule. No: "Batch, batch, batch". Yes: "Whatever.", that's the real rule of thumb. Its not good, it works.

I'm primary concerned here of people learning to do stuff and making their way of creating games, and i think that this is mayor aspect, that is taught very wrong and far from reality, so if you are indie/student/hobbyist - this might come to use, as weird as this kind of suggestion might sound.

The whole point of this thread. The misdirected guidance about minimizing state changes and dips, seen everywhere, also lots of developers reading and working their asses off to build it, while the real situation suggests to leave it alone as a general rule. No: "Batch, batch, batch". Yes: "Whatever.", that's the real rule of thumb. Its not good, it works.

I'm primary concerned here of people learning to do stuff and making their way of creating games, and i think that this is mayor aspect, that is taught very wrong and far from reality, so if you are indie/student/hobbyist - this might come to use, as weird as this kind of suggestion might sound.


Sorry, yes, I do see where you are coming from in that case. Certainly far too much emphasis is put on optimisation in a lot of online resources and the phrase "Premature optimisation is the root of all evil" is very common on these forums.

My apologies if I misunderstood you.

The whole point of this thread. The misdirected guidance about minimizing state changes and dips, seen everywhere, also lots of developers reading and working their asses off to build it, while the real situation suggests to leave it alone as a general rule. No: "Batch, batch, batch". Yes: "Whatever.", that's the real rule of thumb. Its not good, it works.

I'm primary concerned here of people learning to do stuff and making their way of creating games, and i think that this is mayor aspect, that is taught very wrong and far from reality, so if you are indie/student/hobbyist - this might come to use, as weird as this kind of suggestion might sound.


The problem is you CANT compare AAA development with hobbiest development.

Yes, you can ignore "batch, batch, batch" IFF you can afford to. Most hobby developments probably can, however if you are planning from the ground up and really plan to push thing then you can't.

So, yes, those games you cited probably could get away with that level of drawing, it was considered 'fast enough' and if anything was probably a victim of game play coders, artist and designers.

In our AAA game we have worked very hard to reduce our draw calls and genereally batch things together because due to design and art issue our scene complexity shot up massively in a short period of time and while our level of batching before was fine for the game one this change kicked in we had to work very hard to reduce them (while swearing at art and design and trying to explain that they can't have the framerate they wanted while pushing that many objects into the world).

So, yes 'batch batch batch' is very important if you need, or indeed want, to push the hardware as best you can.

It's not 'bad' advice, it's just advice which you need to be pragmatic about, much like any advice given.

This topic is closed to new replies.

Advertisement