Quick behind the scenes (cubemaps)

posted in Endomorium
Published January 27, 2022
Advertisement

There was this discussion on another forum, which prompted this short entry:

There was this feature, most recently re-implemented into the project (a separate excursion), that provided a cinematic transition between locations; which in return gave more attention to the background. Which was a major issue, as not having the resources/skills to create eye-catching material/texture(s) meant that quality had to be compromised; to some degree. However, as the majority of the game revolved around seeing this cubemap at all times, it was a critical weak-point that had to be fixed ASAP.

For reasons "unknown", there's this whole tantrum with cubemaps, with rendering and implementation: it never works the first time and requires a lot of tinkering. What's more, finding engine/software specific solutions are more rare; as people seem to be opting out, in favor of HDRI maps. The latter makes little sense, as HDRI tend to have distorted poles (and massive size), which is a deal-breaker when the project requires 360 degrees of freedom.

Initially, it took a couple of days, to come up with the picture below: 2D noise, rendered as an environment texture (from months ago).

Simple enough, but too simple (looking back); after all, creating space art is its own form of art! Thus, more then two weeks of R&D were spent (in panic) trying to make things look better (as in full days of two+ weeks). Here are some of the iterations:


What common among these how "flat" they were; as they were all made by A) Rendered as a texture, on a surface, or B) Captured by a camera, displayed as a 2D surface (laid out on a cube, using particles). With all things, lighting was a bottleneck, and all sorts of workaround were needed/tested.

"Normally", creating a more eye-pleasing nebula (for example), on a modern machine would take 5-10 minutes, with the use of volumetrics; and nobody would sweat about it. However, initially (and long after) it was certain that reaching that level of "accuracy" would remain a dream. Luckily, some odd years of experience gave an edge, and solving this problem only became a matter of time (which again have none, in a crunch; allegedly).

The solution was labor intensive (by hand, hoping that it would work) and trivial: By breaking up the render into smaller chunks, the process (of using modern techniques) became (more) viable. See the final example below. One render now only took 10-15 minutes; instead of 30-60, and was able to somewhat tell what it looked like in the preview (and the workstation didn't lock up).

Of course, there were more technical issues to overcome: Fixing the seams (from incorrect lighting, still have no clue on how to fix that), working around light-bleeding (into the camera, from behind), etc. Luckily, the final product was worth it in the end, and made it so that if one squints their eye (really hard), it might look as if it were done by a professional (well, the hope is there anyway).

This be only a tiny example (of fixes/workarounds), in a "production" where there are literally minutes to come up with an idea an equal amounts to implement those; of course the latter is unreasonable. This goes beyond the topic of this explanation, but more so, in a toxic environment (where you are constantly susceptible to anger and out of time "Why-not-done-already?", and are in a "tolerated" state), with no freedom or belief in your capabilities (from the outside world); making a product (out of "necessity") that is solely there as a last, desperate attempt (after many years) to make it as a creative (with short of everything that be needed).

There was a good reason (apart from the sub's rule) to NOT to share these issues with the public, as they're not interested in an unknown person's struggles/rants, or their dinky-little-game; this be not the first project, and years of ghosting is behind said thoughts. Of course, again, there's more to the story...

0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement