Tuesday, 16 December 2014

Unity 5

Unity 5 has been available for paying developers as a beta for quite a while now and, I figured, I might as well get acquainted with it as soon as possible and see how I can apply (if at all) its new toys into my project.

Physical-based shaders and real-time global illumination were the key components that I was interested in.  While saying "real-time" (in the context of global illumination) is not necessarily a lie, the omission of "pre-runtime calculations" in the disclaimer is a major disappointment for me; making it practically useless for my project.  Unity 5 is still in beta, though, so they might eventually remedy that because they're ALMOST there.  With that said, the physical shaders have been really good so far and really makes materials closer to what 3D artists (like myself) are accustomed to.

What really surprised me were the subtle (yet noticeable) changes in some of the other aspects.  On the "good" spectrum, ambient light can now have three colours instead of just one to better control the mood of a given scene.  My code is also quicker to compute now (aside from my own optimization), is lighter at run-time and, therefore, allows for a better graphical performance.

On the "bad" side of things, fog (which adds tremendously to the ambience) can no longer be applied to an already established rendering method... the rendering method that my project is using.  The Unity team implies that developers should be using an "image effect" on a given camera to add the fog (a different way of rendering fog)... which, again, my project cannot practically use given its procedural nature.

So, right now, my project cannot have fog.  Somewhat of a setback but, again, it's all in beta.  They'll have plenty of time to fix things as well as I have time to adjust and rework my project.

It's all good.

On the coding side of things, things are looking great!  I've been spending less time on debugging now; allowing me to experiment with a method of adding secondary lights in really dark areas.  That's to make things less realistic yet more appealing to the eyes and I think, so far, it's showing great promise.  I just need to elaborate on it.

Monday, 1 December 2014

Lights, Crystals, Water and Grass

Nothing encourages me (and my team) more than seeing promising results; and the most recent build of my prototype has been pretty awesome.  It's starting to look like a video game despite having practically nothing in it yet.  It's pretty much all about the environments still and it will continue to be for a few more months.

- added the possibility for multiple alternate paths throughout the environments.
- more lighting adjustments.
- added environmental decorations such as crystals, water and grass.
- more graphical and scripting optimization.

Optimization and bug fixes as been my focus for some time, now.  Large dungeon layouts take roughly a full minute to generate (which is a major improvement) and there are performance dips that occur in certain areas.  I'm starting to see what's causing these dips and finding solutions has been pretty entertaining despite being a destractions from my current priorities.

Right now we're pretty dedicated in adding more and more art assets to make it feel more organic while, at the same time, I'm trying to keep everything as lightweight as possible for a stable performance.  It's essential that my environments run as smooth as possible before I start to inject gameplay elements to them.

I'm at a point where, on the programming side, I'm only doing a few things here and here.  Mostly adjusting variables and fixing a few bugs and coding oversights.  The code is more or less ready (for a prototype) so I can allow myself to take some time and make everything look pretty.

The question to how we're going to procedurally light an envionrment has more or less been figured out and it'll be interesting to see how (well) these solutions.  Our glowing crystals coupled with lights shining from large holes in the ceiling already shows us a glimpse of what can be done.  Regardless of how we're going to light everything, there's still the issue of balancing the areas so that they remain somewhat forboding.

I've noticed that finding the various paths in the dark have been somewhat difficult without following a particular wall.  As an artist, that's an appealing challenge to have.