47 ms·
Could you elaborate a little on what happened? What exactly went wrong?
by mhlakhani 12y ago
Could you elaborate a little on what happened? What exactly went wrong?
- thegeomaster 12y agoWell, this was a server, and it was also multithreaded, so many synchronization bugs that didn't happen in debug builds did happen in release ones because of timing. Without assertions, though, none of these was caught on time, so I was left with mystical crashes, garbage data sent out to clients, etc etc. I spent hours and hours in valgrind and gdb, and only then realized that none of the assertions worked. When I re-enabled them, I was able to snipe (almost) all of the bugs easily. But this is generally the kind of thing that happens when you turn a blind eye to errors somewhere where that's not a good way to go. In gamedev, sure, nobody cares, but if you're dealing with crypto and security-sensitive stuff, well, what I did was very, very bad. It's a small proof-of-concept pet project, but if I was ever to release something like that to the public, it would be very irresponsible of me.
- jl6 12y agoWith total respect to what you're saying, I'd just like to say that I care about games and other non-mission-critical software. I am continually disappointed by buggy glitchy unreliable applications which have clearly been rushed out to meet a release window. It's as if we've all been trained to accept poor quality, based on the excuse that "it's not handling payments or running a nuclear reactor so it's OK to be sloppy".
- JoeAltmaier 12y agoBut would you pay double to get it? Or would you buy the buggier one that comes out first, and hey now you've spent your game budget so the 'good one' will have to wait. Its commerce, and 'just in time' and 'just good enough' is all that sells.
- thegeomaster 12y agoI am sorry, but you have completely missed my point. All software has bugs, period. With games, you can omit assertions so that these bugs cause glitches in the game (or cause no visible change at all), or you can keep them in, slowing down the engine because of numerous runtime checks and crashing the whole game if a single bug occurs. That's way more sloppy design than the former.