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.

Thursday, 21 August 2014

Screenshot Dump

A lot has changed over the last few months (how long has it been? 6 months since last blog update?). Here's a few noteworthy changes:
  • Lighting calibration.
  • Guaranteed player pathing.
  • Faster procedural algorithms.
  • "Organic" dungeon structures.
  • Goblin models replaced.
  • Camera focus & Occlusion Culling.
  • Water implementation.
  • Grass implementation.

Thursday, 12 December 2013

Small progress

Nothing major changed from the last build.  I added some functionality under the hood and made adjustments here and there.  I'm trying to implement a Shufflebag system for my random values but it's really not working at the moment; I guess that's my big hurdle to overcome this week.

There's also room for improvement to optimize the generation process; some of the dungeons get so large that it can take the computer a very, very long time to complete a task that should be straight forward.  At least I know WHERE to look in order to make the adjustments.

In the following screenshots, you'll see some progress in the different lighting variations, new art assets as well as an updated look at how dungeons are laid out:









Thursday, 28 November 2013

New art! It looks so much better now!

You know, its been over a month and, it hasn't been until this point that I look back and realize that I've made much more progress than I originally thought since my last blog update...  otherwise, I would've shown stuff sooner.

It's getting late so I won't go and fetch screenshots of all the things I'm going to list here but I'll make sure that I'll showcase some of these elements in future updates.

Basically, what I did for the past month is I took apart the algorithm that generated the various shapes of the terrain, re-wrote some of the code, implemented the new art assets, implemented lighting and atmosphere variety.  The reasoning behind removing the shape generating algorithm was primarily because I wanted to re-write the logic in a different way and I also wanted to focus on replacing all of the old art... which required a lot of debugging.

Everything is coming together really nicely.  The different sets of lighting really gives my environments a mood and the new art makes it look more organic.  This was very time consuming but it was worth it.






Tuesday, 15 October 2013

Room types & outdoor areas

Lately, a lot of thought has been put into categorizing types of rooms and possible shapes for these rooms.

I also did a quick mockup today of how outdoor areas would be generated.  There's a lot of adjustments needed before I'm satisfied with the generated results, mainly the size and environment colours, but adding a sun already helps.  Makes me think I should really consider adding a time/day.

Because I did a major rewrite on how rooms are being generated, I had to make slight adjustments to the logic in which ramps spawn; so I spent some time doing that.  The last screenshot shows (it's a bit dark, mind you) how ramps can easily get out of control!  There are everywhere!




Thursday, 10 October 2013

It's starting to take SHAPE! HA!

I didn't post until now because there was a lot of "thinking things through" and a lot less "doing" going on.  It's hard to show pictures of mere (and incomplete) ideas unless you're showing concept art and I don't want to reveal any of that just yet... because, yes, I have been doing some concept art.  Besides, the infrastructure of the game hasn't completely solidified yet and that's where most of the thinking has been about.

Last month, I mentioned that I wanted to focus a bit more on the 3D Art "by the end of the month" and, as far as that is concerned, "organic" was the recurring theme.  The current 3D models that you see in the screenshots so far have been redone because everything looked too much like you're surrounded by a bunch of boxes.  So there was a lot of brainstorming to see if something couldn't be done to make it look more natural.  The basic ideas are the same, the execution of the art is different and more akin to what the final game will use both in looks and how it's modeled (polygon count, etc).

The new 3D assets aren't in the build just yet because they're far from being completed but the results I'm seeing so far are very promising and I can't wait too put them in.  For now, I'm content on using the old assets as my basic construction tool for the programming side.

The programming side has received a major change.  Most of the code has been re-written (again) so that it's organized in such a way that I can actually start building the game as opposed to just a mere "random cave generator".  There was a lot of planning involved in trying to figure out how to structure the code and, as far as I'm concerned, I think it's done now... it might be more efficient too.

Lastly, a lot of thought has been put into how rooms are being generated.  They started as square rooms, then they evolved into more uniquely shaped yet still very square-like but now I got it all setup where I can build even more unique shapes... with more 3D-ness involved.






The cool part is that the shapes can now be based on the type of dungeon I want.  Man-made structures such as crypts, keeps or shops shouldn't be too organic while prairies, forests and caves should have varied terrain elevations, etc.

These are very exciting times!