Oct 052016
 

Disclaimer : This post is a constant WIP, I try to keep it updated but I may not always have had the time to look into the latest patch!

Hello everyone,

First off, there’s a tl;dr at the bottom. Secondly here’s a third look at what I’ve found while using Shader Forge and the Amplify Shader Editor, we’ll start by taking a look at two simple node networks that do the same thing and look at the output code.

Continuing on I’ll write some thoughts and finally a few lines on how I use (both) of these  in my Eco Tales : My Item Shop workflow.

Shader Forge

oct5th_ecoshaderforge

Shader File : An SF .shader file contains the actual code for vertex and fragment shaders in three passes for forward rendering; this gives of a file filled to the brim with information, 390 rows to be precise in the case of the forward version found below.

The deferred version adds a deferred pass and weighs in at 538 very interesting lines of code!

Amplify Shader

oct5th_amplifyshader

 

Shader File : An ASE .shader file contains a single surface shader, it’s very easy to read and it’s remarkably similar to the way I’d’ve written it by hand had I not used a node editor, very possible to write and the one found below measures in at 68 rows, should you wish to compare, just download both of them.

oct5t_ampsf01 oct5t_ampsf02

 

Shader Forge (as of version 1.29)

The play test : After updating to version 1.29 I’ve yet to get any crashes whilst entering play mode. You will have to make sure you compile the shader before entering into play mode however as it locks into a “Saving…” mode if you have not, this forces you to close the window and reopen it.

Another issue is that, if you “Maximize on Play” and have Shader Forge as a non-floating window, it will auto-shut down forcing you to reopen it.

Usability : The way it’s possible to hold down a letter/number to quickly get to a node is wonderful, holding will allow you to pop a Value node down, holding will send up a list with all nodes starting with an L, it’s a wonderful system once you’ve learned the shortcuts.

There is a code node currently available, it works well but is cumbersome to work with, sadly as of today that is the only way of getting a “custom node” into Shader Forge.

Final Thoughts : Shader Forge does in many ways feels like a complete package, there are some things which are not optimal but once you get used to them, you’ll be able to manage just fine.

As for if the package is still alive, as of Unity 5.5 there have been some issues reported (I’ve yet to experience these personally), the main huge asset breaking issue was resolved instantly and therefor I’d say that, yes, Shader Forge is still alive. If you’re looking for speedy updates and customizability, you may want to scroll down to Amplify Shader.

With that said, it’s an amazing package and the node part of the interface at the time of writing works better than Amplify Shader’s does.

Is it worth its price? At $90 it’s “expensive” as far as asset packs are concerned, and certainly more expensive than Amplify Shader, in many ways it’s still ahead of Amplify but unless a 2.0 is somewhere around the corner, this may not stay true for long. With that said, I in no way regret the money I spent on Shader Forge, despite now having access to Amplify Shader, I would buy it all over again.

Amplify Shader (as of version 0.2.6_dev01)

The play test : I’ve yet to experience any crashes while using ASE in play mode.

Usability : It’s feeling less and less like a beta. As more and more nodes are added to the asset, things are really looking bright for Amplify Shader, these, of the ones I’ve tried so far, also create really manageable code which is, incredibly easy to read.

However, there are still no real shortcuts that I’ve found, other than for comments; and using RMB to open a window with a search, containing a lot of, if not cryptic, then less intuitive node names than those found in SF; SF’s hold a letter and select is by far my favorite way to place nodes.

Finding nodes by the string compare doesn’t really work either as a lot of the node names can be rather strangely named, some of these could be named by the community however, and that may be the reason.

Which leads me to the customizability of Amplify Shader, it’s in one word “incredible”. Users can easily code their own nodes which can then be shared with the community, sometimes they’re even added straight into Amplify Shader itself.

Is it worth its price? As of beta 3 it’s $30, that’s a steal, even if the only reason you buy it is to create base shaders to expand upon, it’s worth it.

My workflow on Eco Tales : My Item Shop

A workflow that I’ve found to be rewarding is this, I first, due to the ease of prototyping within Shader Forge create the sample shader here; then, when I feel that the shader is done, I’ll remake it in Amplify Shader, should this not be possible, I’ll keep the Shader Forge shader and then maybe, I’ll be able to create an Amplify Shader version in a few betas.

Shaders

Next up, the shaders, feel free to download and have a look!

Amplify Shader Editor Shader

Shader Forge Shader

Shader Forge Deferred Shader

tl;dr


As of right now, I’d go for both, Shader Forge is “expensive”, but working inside of it is fast and intuitive, not to mention that you get the actual code which you could look through and learn a thing or two.

Amplify Shader will surely only get better, and at its current price point, it’s a steal, the shaders are very easy to read and with some work, Amplify has the potential to take the throne from Shader Forge.

 

Tutorials


Here are a few tutorial-series I’ve made to show off the workflow, so far only Shader Forge is represented below.

 ToDo


Performance Test.

Tutorial Section.


If you like this post, or think others may find it useful, then please consider retweeting it or sharing it on Facebook!

 Tagged with:
Sep 132016
 

derp_villain_01Hey!

Almost didn’t catch the camera on time, loads of things have happened this week and there are some very exciting things on the horizon for the KJs, you should look at what they’ve been up to, looks interesting.


J Here’s something which most of the little Eco people will be quite happy to see, it won’t however influence Lech in the slightest.

Without wasting any more time, here’s the first hair prototype! Still not 100% sure if planes are the way to go, but sculpting each and every hairdo is going to take too long, and that may have decided this for me.

sep10th_hairmaya

Above you can see what the hair looks like inside of Maya, not really the most good looking thing I admit, glad I managed to struggle through and get it into Unity, maybe I shouldn’t see this, but out of all the images in my part of the post, this is the most important one, why? Well, read on why don’t you?

Important to note is that all of the three meshes above, left : black alpha mess, mid : loads of planes, right : planes using the vertex normals of a sphere, actually have the exact same geometry.

Most interesting of the above is undoubtedly the model to the right, why have I edited the normals to make it look like that? To know this we have to deepen our understanding of how specular highlights (or in real world terms reflections) travel along a hair “surface”.

I’ll keep this short and sweet; since a hair “surface” in the real world is actually composed of thousands upon thousands of micrometer thin tubes, each of which has its own specular highlight. Any light falling upon this “surface” will be stretched along each strand defining it as an anisotropic or directional dependent light distribution.

anisovsiso

Isotropic (uniform) – Anisotropic (directionally dependent)

Don’t take this as the absolute truth, in reality it’s much more complicated, however, this is how we can look at it when creating a shader to visualize hair.

Here’s a video of a test I created for Legends of Aethereus back in the Unity 3.5 Alpha, look at the black hair, that’s what I’ve been babbling about for what must feel like ages!

sep11th_hairtexture

Here’s the texture that currently drives the hair, two small patches of thick and thinner clumps of hair which have been placed with a few percentages of randomized scale and rotation. R and G controls alpha cutting; B and A controls alpha blending.

sep11th_hairupdate

Finally we have the in engine result, where I have, for now at least, skipped everything we just talked about. Instead, every hairdo currently undergoes two separate shader passes, the first one, is a double sided alpha cutoff, and the second, an alpha blend to create the thinning at the edges of the do.

Looking at the outline of the hair, you can tell that I’ve made good use of the manipulated normals, using a Fresnel effect to highlight the edges and make it look even more as if it’s a whole rather than a load of separate planes.

I might be back next week with an aniso-shader, however, I’m afraid it’s going to look too photo-real, and that’s not something we’re looking for.

sep11th_bush

With a lot of hair research, creating and trashing, the only other thing I’ve had time to create was this bush, at the time of creation I thought that the difference in hue and brightness of the different leaves was enough, looking at it with fresh eyes, I realize that this asset will need another hour.

Now I’ve only got one more paragraph until I’m done, if you look at the leaves, could you guess that they were created inside of Substance Designer? Pretty cool, isn’t it?


K We are on a roll, we have some super exciting news that we won’t be sharing just yet.

We have been putting more focus on the shop part of Eco Tales this week and and will continue doing so for  some time now. I’ve started with the customer and shop interaction and more specifically I’ve begun with pathfinding.

In the store the customers will be able to walk around, look at the goods before possibly come to the decision to make a purchase and if you manage your store like a pro you want it to be full of customers and that is why we have pathfinding with local avoidance so the NPCs just wont stand tightly squeezed into a small shop but they will walk around the other customers to get to there point of interest.

Pathfinding with RVO local avoidance

Pathfinding with RVO local avoidance


As always, if you like this post, then please consider retweeting it or sharing it on Facebook!

 Tagged with: ,
Aug 312016
 

Hello my lovely Devs!

Tired of hearing (read as reading) future customers and other developers say (write) “Looks like it’s made in Unity”, well, be tired no more!

By writing your own custom Screen Space effects, your game will look like no other game ever conceived! I mean just look at Eco Tales, have you ever seen a cuter character than our very own Lech?

Skinning clothes

Adorable

You may have guessed it! Today I’m kicking off a tutorial series on creating post effects inside of Unity using Shader Forge, if it becomes popular, I’ll continue. For now it’s just two introduction videos which should be able to set you off on your own adventures!

In part one we create the base of all screen space effects, the script needed on the camera to make the shader do it’s magic as well as a simple one color shader, just to see how simple it is to get into post process shaders inside of Shader Forge.

In part two we look at screen space UVs and manipulate these to create a simple distortion effect.

If you learned something new please consider tweeting it or sharing it on Facebook!

 Tagged with: ,
Aug 112016
 

Jawning_Villain_01

Doesn’t look like a lot has happened this week, although, allegedly making water look worse takes a very very long time.


J I have not managed to do too much this week, at least not on the game, but what has been done is quite cool, if I may say so myself!

Aug10th_Waterflow

Here is the shader to which I’ve added flow (vertex map) functionality, working side by side with the Digital Asset I created in Houdini, as you can clearly see here, the flow map is way too strong, that’s something I will have to managed next week.

I’ve also started working on a custom terrain tool for Eco Tales, that will suit our needs, everything will be built by hand but placed procedurally, in a way that will make sense to all of you readers once I start showing off the assets I have planed.

Suffice to say, there will be no measurements and strict asset height, widths and lengths to fit into a grid based system!

Aug7th_Wall

Ack, definitely going to have to send along some attributes to keep walls from being built upon water and similar surfaces!

Houdini… I can’t recommend it enough, can’t wait for the moment when time allows for a deep plunge into simulations of various fluids and destruction!


K Krister is working on his Hip-Hop career currently, this is a graph in Lech form predicting the buildup of his fandom.

July26th_fracturingRealTimeReverese


As always, if you like this post, then please consider retweeting it or sharing it on Facebook!

 Tagged with: , ,
Jul 262016
 

Gaping_Villain_01

Look up there, the wonderful sunshine, that the boys had better see nothing of!

I don’t think they are to be honest, things are actually starting to take shape, who knew that “Houdini” could be such a time saver?


J Much like Lech I’m amazed at how amazing Houdini is as a generator of things, after countless tutorials I’m starting to get the hang of it, finally!

July24th_mushroomgrower

That’s the start of a mushroom grower! Ok, so I accidentally didn’t save and then it vanished in a crash with this… Now as I’m writing this, I remember that there are auto saves! I’ve gotta check that folder! More on that next week.

Let’s take a look at the wall that I’ve shown off in earlier recaps.

July22nd_procedural

I agree, it doesn’t look very good, at all, but now it contains everything needed for a finished game asset, let’s walk through the elements.

First of, there’s visible geometry, we have walls with columns and some rocks, all of these are completely procedural and are created based upon a single curve, you know how fast you can draw a curve? Seconds, literally! Editing it is just as easy and quick!

Secondly, see those light green lines within the walls? Those are colliders, these are generated from the walls and heavily reduced in precision (read as poly amount) to make collisions less costly.

July26th

As you can see above, the same goes for the rocks.

July22nd_wallcutup

Third we’ve got the materials, the wall and columns are auto UV unwrapped and painted with vertex colors, the shader in the case of these walls blend up to three different textures spread over red, green and blue. The UVs are actually world space dependent so the texel size will be constant across all elements, I’ve changed the material tiling here to make them stand out a bit more.

July22nd_rocksdifferent

Now let’s look at the rocks again, for UV-mapping them is on a whole new level of difficult, they’re all randomized and as you can see, their shapes are hugely varied!

Let’s take a look at the UVs.

July22nd_rockuvs

As you might be able to tell, these are just slapped on using an orthographic plane projection, why then, do the rocks not look like

this?

this?

Well, while I in the future would like to try and create pelt-maps based upon a seam created from the Y intersection plane from my terrain, I in this case wrote a simple tri-planar shader, which uses two textures (but three samplers) for left/right, front/back and top/bottom texture projection based upon world space normals.

I’ve created a version of it in Shader Forge which you can download here, you may use it in any project, including commercial ones, as long as you like Eco Tales on Facebook!

That’s all for me this week, next week will be all work! Which for me means all play! I love game development!


K Well I sure didn’t see any sun on my vacation to Gotland visiting family, eating ice cream and going to the beach as I had my shades on the entire time. I do suspect Mr Lech knew though and brought forward an evil plan to prevent me doing this again as I know have a cold on my first day back to spend time on Eco Tales.

Now I have a week or two before work starts and I’m devoting it entirely to Eco Tales, well… It would be nice to get at least one role playing session if I can drag Jona from Houdini, it’s been way too long since we played last. Anyways, I’m starting  of my week by doing a few 3d prints, same model and pose as before but larger just to get the hang of it before Jona takes the huge amount of time it takes to prepare another model / pose.

Besides that I’m hoping we can finalize the webpage as you might have noticed changed before our vacation started.

Going to Gotland with gifts

Going to Gotland with gifts

 Tagged with: , ,
Apr 132016
 

We’re almost at three months and things are starting to shape up, we’re still some ways away from showing off any actual game play, but behind the secretive doors of KJ Interactive studios, there has been sword swinging, that’s for real and for true!


J I’ve continued looking into shaders and post effects this week. Last week I showed off the first version of our main VFX shader.

This week I show off, what may very well be the final one, check out this fire burning in the forests of Eco!

 

I’ve also looked deeper into fonts, Alegreya has for many reasons been on top of my list for Eco Tales, but readability would be a problem within the game itself, so after roughly two seconds of googling I found Alegreya Sans, it was as you may imagine, love at first sight.

Not our logo!

Not our logo!

We’ve also changed the name! The old one was very descriptive, sure, but it lacked a certain… Punchiness… So, Eco Tales : My Item Shop, short and concise isn’t it?

EcoApril10th

ZBrush Hippo

The gear of our friendly little hippo is also coming along nicely, imagine filling all those boards with baskets and sword sheets! Quite the little carrier isn’t she?

Mainly this week I’ve been working on look development, getting colors and lighting to where I want it, more shaders are needed and while the standard shader looks good, it’s not possible to get where I want with it.

Going to further break it down and rewrite the overall light functions so that SSAO and other screen effects still work the way they should (my last toonish-reality shader really screwed the SSAO up).


K Well well well, lucky number eleven, just writing that sentence got me in the mood for Lucky Number Slevin, great movie, I mean not like The Room or anything but then again, what is? Anyways it is time for eleventh recapitulation of Eco Tales: My Item Shop so here goes.

If you remember from last week I’ve been working on the “soon” to be announced webpage for Eco Tales and it is getting ready, now we just need to set the texts and Jona needs to produce the graphics for it but as web development is not exactly what either one of us fancy and there is a bunch of more important and more exciting things to do on Eco Tales it just might take some time.

On that page you will be able to subscribe to our news letter and as an extra treat if you want to subscribe to us via E-mail so you don’t risk forgetting about us you can sign up here for future news letters, and I can’t stress enough that we will not misuse your e-mail adress in any shape or form, this is strictly about Eco Tales: My Item Shop and until our dedicated web page is up you will not be able to unsubscribe in any convenient way but that will hopefully soon change.


So back to what I have actually have done on Eco Tales, that is why we are here after all.
What we have now ins still early in development and requires different amount of work to make them as good as possible so keep in mind that everything you see is in test phase and considered temporary..
  • Player movement – WASD style moving the player in relative to the cameras view point.
  • Camera movement – Follows the player allowing for rotation around the player which snaps back to default view, zooming is also possible.
  • Inventory – With one equippable sword with temporary GUI.
  • Attacking – You can swing your sword around hitting things, a successful strike will not achieve much currently but the basic system is in place.

Below is a quickly recorded video with excellent programmer art and showing a small bit what I have done this past three months.

 Tagged with: , , , , ,
Mar 082016
 

Another week another post, let’s see if there’s anything interesting for y’all to learn this week!

JIt’s been quite a week, this busy little bee has been going at it, hard. Even more so next week, can’t wait to write more about my SpeedTree adventures in the next recap! If you scroll past the shader section there’s some SpeedTree thoughts here as well!

Busy Bee

Buzz buzz buzz

So this week I’ve been looking deeper into shaders and the over all look of the project, I’ve had long debates with myself on whether or not we are going to have normal maps as part of the asset pipeline.

The quickest way for me to create characters is to sculpt them, thus, getting the normal maps for the characters is pretty much free. As for other assets, there’s no way I can sculpt them all and there will also be a lot of tileable textures for the majority of the environments.

Part of dissolve shader

Part of dissolve shader

We don’t have to worry about the triss amount with the art style I’ve chosen, so getting the tiled assets to look good won’t be an issue, normal maps or not.

While playing around with the shaders I always went back to the standard shader. This was to make sure that that didn’t look better. To be honest, with correct lighting the standard shader truly is gorgeous. Because of this I’ve started to break down the Unity standard shader to see what I can possible add, maybe I’ll want light ramps, I know for sure I’ll want transmission and Fresnel for some assets and effects.

So what have I decided upon you ask? Well have a look at the difference between these two screenshots, one is with and the other is without normal maps.

Normal | No normal

Normal | No normal

While this in no way resembles the final look of the game, it’s clear to me that skimping out on normal maps, especially on the characters, will give way less visual interest. Also consider that this is just a still image, when the light is playing over the surfaces, the difference is greater still, especially on the foliage!

So we want normal maps, but with me being the only artist, there is not enough time to sculpt all of these textures, what about generating them from a diffuse texture? Will it look good enough, the answer can be found in the next sentence.

When I went into 3D content creation, we had Nvidias Normalmap filter, great for small surface detail, but is it strange that people who have been in the business for a long time are still using zBrush for all their normal map needs?

New | Old

New | Old

With today’s normal generators being as powerful as they are, this, in my opinion is something we can consider skipping. At least for non-hero objects. If you paint a texture with solid lighting, you’ll get an almost sculpted looking result at a fraction of the time!

SpeedTree

Now then, let’s talk SpeedTree! (If you’re interested in SpeedTree, make sure to follow Gruckel and Eco Tales on twitter.)

I’ve modeled trees before, it was ages ago, and it took me a long time to create, look at it, it is there, up in the corner! Luckily this is the only image I can find on the net which contains content made by me that many years ago.

Fumbie Tree

Fumbies the Cloud Creatures

I got an opportunity to dabble into SpeedTree for a Landscape Architecture project last week at work, you can read about my first thoughts on SpeedTree here.

This weekend however, I managed to create for roughly 18 hours, straight. From noon until 6 am on the following day! Sure I was fueled up on some Red Bull with… “Condiments” but doping is luckily allowed in game development.

I started out by painting the texture, I wanted something for my larger trees first, something with a large gnarly pattern, after some painting I removed a lot of detail, don’t want people to focus too much on the trunks after all.

Looking at it now, I may return to it to give it some additional micro and possibly even mid size details (here’s some info on detail levels), then again, maybe not, I’m quite happy with it.

Hand Painted Gnarled Bark

Måla måla måla!

When I was done painting, I wanted to start of with the most enjoyable asset type there is to create, a hero asset, the tree on the right hand side is in this case my hero tree.

I used the hand draw feature to give it a nice interesting curve and added branches in the same way, branch level 2 I left up to the generators, I then created a few different leaf generators both billboarded and stationary ones with small branches which connect to the tree itself.

At this point I was still using the leaf sprites and leaf models from the free Broadleaf asset, I’m keeping the models, but the textures I am going to recreate myself, more on that in a later post.

SpeedTree:ing it up!

SpeedTree:ing it up!

With this tree looking as unique as it does, the next step was to create a base tree which with rotation and scaling can be used over and over again. For this I went with a standard trunk base and spent a few hours learning how to generate a tree by breaking down SpeedTrees mobile vs desktop versions.

Our triss budget for the trees is quite high, but you should never go overboard just because you can, we’ll see if these will need some polish in the future. For now I’m calling them done.

I will be creating some free basic SpeedTree tutorials in the future, I’m also considering a gumroad tutorial on how to create a fully featured hand painted tree in SpeedTree.

Let me know on Twitter if this is something that would interest you!

 


K Well well well, Jona has indeed been busy while poor me had to be away from Eco Tales and go to Prague on vacation with my partner, it was a few days filled with excellent food (I am some what of a Goulash lover) nice drinks, and a lot of walking and looking and enjoying life to do.

Needless to say life was great, but now I am back and life is still great, any time spent on Eco Tales is time of love and adventure.

So here is an image of me freezing my hairline of in an ice bar in Prague and I will see you next time when I have had a bit more time to actually work on Eco.

Cold in Prague

Cold in Prague

 Tagged with: , , , , ,