3 ms·
So right now there are two kinds of gamedev: the ones who would suck it up and just use C++ (although not the modern one) Why can't there be a third kind: the
by stinos 8y ago
So right now there are two kinds of gamedev: the ones who would suck it up and just use C++ (although not the modern one)
Why can't there be a third kind: the ones who suck it up and just use C++ including modern features? (honest question: I don't know anything at all about 'gamedev')
- lasagnaphil 8y agoUsing modern C++ with STL in gamedev is quite difficult because it results in atrocious compile times and slow debug build performance (For making a game, iteration speed and debuggability can be pretty important.) Also if you want to develop for consoles there are some limitations: most notably you are forbidden to use exceptions, and the platform's compiler usually doesn't even support the latest C++ standard... That said, I think a third kind might also exist, although rare for AAA studios and more common with mid-size/indie game developers...
- Negitivefrags 8y agoThe compiler for Xbox one is MSVC which supports modern c++ quite quickly, and the compiler for PS4 is based on Clang which also supports modern c++ very quickly. Exceptions are supported and we use them for any non-gameplay code paths. That is to say, you can and should use exceptions for all loading/initialisation paths unless they are during actual gameplay. This ends up feeling quite natural as that is mostly what exceptions are good for, and honestly, they would practically never fire in a non-development scenario because they are almost always some kind of error in data files.
- tdsamardzhiev 8y agoThis is what probably 95% of us do. Don't like a C++ feature, don't use it. You can have a better C than C (at least for gamedev needs), or the bells and whistles from the functional languages. Yeah, some of them are ugly, but to be honest, after the first 5-6 times I see them, I no longer care. Jon Blow says a language with less friction would make him much more productive. Let me tell you -- rockstar programmers at our company have tried that again, and again, and again. I spent the last 2 months trying to purge one such attempt from the codebase, because it ended up introducing all kinds of nasty bugs and unexpected limitations. I still occasionally binge Jai videos and hope Jon proves my scepticism misplaced though :)