|
|
|
|
|
by zubspace
3940 days ago
|
|
I don't know if this is a blessing or a curse. 3D games are very complex. It takes years to grok all the concepts from linear algebra, to scene management, occlusion culling, shaders, physically based rendering, network synchronization, scripting and ai, game design and thousand other things. I think a large part, why smaller, "indy" engines like haxeflixel, godot, cocos-2d etc are surviving is because of the much lower entry level. I wonder if the big ones like unreal, unity and crysis are going to collapse sometime under their own weight... How are they even adding all those new features without breaking stuff all the time? This is what impresses me most. |
|
I haven't looked at their code, but I would bet they have fantastic regression tests. Something I've added to my own engine in the past year is "pixel perfect" tests: for a given test scene employing specific effects (soft shadows, reflections, refraction, etc) the renderer should produce an image that is a pixel perfect match with a known correct image. If you begin optimizing shaders and rendering code, regressions are caught very quickly, in an automated way. Sometimes the images are close enough to be acceptable (for example, if an optimization changed floating point precision, resulting in a color that is a shade different). In that case, the test fails, and you can replace the test image with your new rendered image, after you've vetted that it "looks correct" manually.
It's not anywhere close perfect in testing all code paths, but the payoff is rather large for the effort put into creating the test.