Unity 5.0 Physically Based Texturing Workflow November 10, 2014
Unity 5.0 gives its rendering engine an overhaul by introducing what is known as Physically Based Rendering. In short, this method of rendering comes with a lot of useful features. One of them is the more accurate representation of dielectric and non-dielectric materials (metals and non-metals). And it enables energy conservation in a material which basically means that the amount of light leaving a surface will never exceed the amount that hits the surface. A linear workflow is a lot more important in combination with high dynamic range images and tone mapping. I’m not here to embark on a paper that explains all of this because many have gone before in doing so. Please check out the links below to understand PBR a lot better than I could ever explain it.
Physically Based Rendering theory:
What you can expect to get out of this blog is a method of how I usually create textures for an engine that renders using PBR. Hopefully the following tutorial will make creating these textures a lot less troublesome than it may have been before.
If you have any questions for me or tips on how I can improve on this workflow then you can hit me up on Twitter @Tinovdk.
Thanks for your time and happy texturing.
Gameplay, Interactions, Release Date & Internship Positions October 24, 2014
Let’s talk about how the interactions within Fragments of Him will work, I will be going over a couple of the mechanics that you’ll be seeing throughout the game in its current form. I’ll be referring to the prototype quite often, which can be played over on Kongregate. As always, anything shown in this blog is subject to be changed or removed as we see fit, at this point we’re trying out as many thing as possible to see what works best for the game.
Finding the object
One of the issues of the prototype was that it was difficult to find the interactable objects once you reach the completion of the scene. In the full version of Fragments of Him you will not have to remove every object, so finding interactions should be a lot less painful than in the prototype.
The first thing we tried with was placing icons on every interaction that would show up when made available. Below you can see a screenshot of our first prototype of this in an old scene. While this worked, it wasn’t exactly what we envisioned. We might return to this at some point in the near future or add it in as an optional thing (for those who have difficulty finding the interactions in the scene).
In the prototype, objects would get a yellow outline when you would hover over them with your reticule (yellow for being close enough to trigger the interaction, red for being too far away). We did like this system, but it proved to be rather difficult to develop a proper outline shader that suited our needs. What we experimented with can be seen below.
Currently, we are using an outline method that adapts its width based on the distance of the camera to the object, allowing it to be consistently visible to the player from varying ranges. We may experiment with additional systems and solutions as issues with this implementation may arise. How the colour of the outline provides feedback to the player can be seen below.
Blue outline – The player can interact with this object but is not looking in its general direction.
Red outline – The player can interact with this object, is looking in its general direction, but is too far away.
Yellow outline – The player can interact with this object, is looking in its general direction, and is close enough to interact with this object.
Fragments of Him outline shader
One of the major changes from the prototype is the reticule. In the prototype the reticule was actually a 3D sphere (some of you might even remember that it originally was even influenced by the scene lighting) which was simply very close to the camera. For the full game we’ve completely changed this, and are making the reticule not only better to use, it will also serve as feedback towards the player.
When not moving the reticule over an interactive object, it will remain as a grey circle (don’t worry, you can resize the reticule in the menu if the default is too large for you). When being too far away from an object and being in range for an interaction it will behave just like the outline. When you interact with an object, the reticule will shatter into fragments. When the reticule forms back into a circle, the interaction is over and the player can click on the next object.
Controlling the camera
If you played the prototype, you probably at some point got frustrated at the movement speed of the camera. This is not only because it’s the default Unity camera controls, but also because sometimes you just want to click on a relatively small object. To fix this we implemented a couple of new features. First of all you can obviously change the sensitivity of the mouse/controller in the settings. The second feature is something we’re not yet sure of, we implemented a slowdown when you’re close to an object (the camera will move slower when the reticule is yellow). This will allow for more precision when interacting with objects. I’ve tried to visualise it in the gif below.
Slowing down camera movement
Another thing we’re experimenting with is snapping the reticule to the object when you’re in range. Do note that this is still highly experimental (and very poorly coded, but that’s a different story).
Snapping the reticule to interactions
While this does make it a lot easier to interact with objects, it takes away the smoothness of the camera movement.
This is where we’d normally announce a release date for Fragments of Him, but instead we’re announcing that we’re delaying the game for another couple of months. I now hear you say “but why would you do such a thing?”. Well, that’s for a fairly simple reason. We’re making this game because we believe in it, and we want it to be the best it can be. The extra time allows us to create a more polished product and to add in all the minor things we thought we had to leave out of the final release. We will be announcing a couple of amazing things in the near future (give that a month or 2), and look forward to the next blog post that will demonstrate some of the process and results we are now able to achieve by applying a fancy motion capture system.
If you’re a 3D artist, enjoy creating environments and are looking for an internship, then we got a position for you! You can read all about it over here: http://sassybot.com/jobs/.
Indigo 2014, Shaders, and progress September 29, 2014
It has been over 3 weeks since our last blog and a lot of things have happened since then. Many of these things aren’t directly related to the development of Fragments of Him but we would like to share the moments that are. Here is a run-down of some of these highlights.
We have started a period with a new couple of interns who have been absolutely great so far. Kaylee Mulder has been taking over the character art department on Fragments of Him and is doing very nice job. Maik Bentlage is also doing a wonderful job with developing a key location in the game. Starting last month, we now adopt a method of weekly milestones with intermediate progress checkups. This is proving to be rather successful from a production point of view. It provides the team with a clear, self-imposed, goal to achieve for each week whilst getting feedback on fixed moments. It helps to get the right amount of iterations in and creates leaps in progress. In terms of development on Fragments of Him we have finally reached a golden thread in the story. This means that we can, with more certainty, undertake production steps with less worry about cutting a lot of work. With that being said we are planning to do a motion capture session pretty soon to get a large chunk of all the animations recorded.
In the meanwhile, we have also created a shader using Shader Forge that enables us to drive the variables that we need. To illustrate this you can look at the difference in the results below. On the left is the default material that Unity gives us that makes use of diffuse, specular, and normal maps. On the right hand side we have the same maps with increased performance, better colour control, full range in specular intensity and glossiness control, Fresnel intensity and colour control, and the ability to make it transparent and opaque. Additionally, we now have a skin shader that makes the skin for our intended look behave better when subjected to shadows at an improved performance. With simpler terms you could say it just makes things look prettier.
Last week we have also been at Indigo 2014 to give people the opportunity to play the prototype that forms the foundation for the full game. The responses from peers and players have once again been very positive and wonderful. This edition of Indigo marked a lustrum with it being the fifth edition. With 32 games of notable quality available to be played at the event you can say that our industry is definitely moving forward. The first day had a recorded attendance of over 600 visitors. That same evening was reserved for press and industry professionals which also resulting in quite a crowd. The second, and also last day, also brought in a good number of new faces although was not as well visited as the day before. We are very happy to have been able to allow so many people experience Fragments of Him and would like to thank the Dutch Game Garden for selecting our game to be part of this catalogue of titles. Thank you for sticking around with us for this blog. Follow us on Twitter @SassyBotStudio or leave a message on our Facebook at https://www.facebook.com/SassyBotStudio if you want to get in touch.
Apartment & Interface Update September 5, 2014
After an exhausting week at Gamescom we continued work as usual. Since then, we had to say goodbye to Baiba, Corné and Arber, who worked at SassyBot until school started again last Monday.
It was great having you all work with us and hopefully we’ll get to work together again in the future. As for that future, 2 new interns started work this week! Kaylee will be taking over from Baiba in the character art department where she’ll be finishing off some of Baiba’s work and add detail to the rest of the cast.
Maik will be working on environment art and has started working on one of the unannounced scenes. Hopefully he can show some of his work in the near future.
It’s been a while since we showed screenshots of Fragments of Him, so here’s a couple of them:
The Unity3D update 4.6 introduced new tools to create interfaces, which we have been waiting for. Tino was very eager to start making the interface, and we have been making a lot of progress with that. Here’s a gif showing you how it looks at this moment. Do note that we’re still working on finalising a lot of things, and everything shown is subject to change.
The menu is designed to support both mouse and controllers. If you’re a PC gamer using a controller we make sure to change the interface based on what you’re using. Hopefully this’ll make switching between these 2 input devices as smooth as possible.
That’s it for this update, next blog we’ll be talking a little bit about interactions and gameplay, so be sure to check that out as well!
Gamescom 2014 Report: Day 4 and 5 August 19, 2014
On Day 4 of Gamescom (Saturday), Elwin and I went to enjoy all the greatness of the conference. Fragments of Him was only on display for a few days in the business area which was closed over the weekend. We woke up early so that we could enter the conference before the general public by using our exhibitor passes. I was able to try out Sony’s answer to the Oculus, the Morpheus. It’s external aesthetics are a bit daunting although the experience it’s able to offer very much reminded me of a slightly better version of the Oculus Rift DK1. The demonstration placed me in a diving cage where underwater wreckages started moving and a shark was aiming for my life. Luckily, I was equipped with a Dual Shock controller and by moving it around it made a flare gun in my virtual hands move. It’s flares didn’t really seem to have any impact although playing around with it was certainly enjoyable for a while. As I moved my head around, I was also able to aim a virtual flashlight around. Looking at my feet felt strange as I witnessed feet that weren’t mine. The inability to move my virtual legs felt very strange, something that I didn’t expect to feel that weird. Before I got to play around with Morpheus I also had a chat with a guy running the stand. After explaining that I’m a developer we started chatting about the possibility of using Morpheus in the future. He was particularly intrigued after hearing what kind of experience we would like to use it for and as a result he gave me a card of a person we should definitely contact after Gamescom to explore the possibilities.
Next up on our list was to play some Destiny which Elwin has been urging me to check out. After waiting in line a bit we were treated on an explanation of what the game was. Why someone would even consider waiting in line for anywhere between 20 minutes to an hour to play something they don’t know is beyond me though. I played as a Warlock and got to get the feel of the game. The controls felt quite responsive although the settings felt far too sensitive. Customizing its controls was a pain with a localized interface but I assume that making it feel right in the full version shouldn’t be too difficult. Elwin, of course, had to show off whereas I was happy with a 4th place as a first time player. The rest of the day consisted mostly of sightseeing as I hadn’t seen anything of the 3 remaining entertainment areas. It was good to see that developers such as Riot Games and Blizzard had a few developer focussed things on display such as artwork, fan art, concept art, and even live drawing sessions by Luke Mancini. The show floor day 5 came to an end by watching a very exciting match of Counter Strike: Global Offensive with RYStorm. In the past, I’ve sunk many hours in CS 1.6 and seeing all these maps reimagined and played by pro’s was pretty awesome. At the end of day 6, Elwin and I went back in to see the final map played of the Gamescom ESL One finals. The hall was filled and the tension was incredible. After the show floor closed it was time for the Sony party which wasn’t accessible to the general public. The drinks were on the house and the hall had a great atmosphere. One of the booth’s big screen was used for visuals with a DJ playing all kinds of genres mixed together like a pro. For some reason, dance battles seemed to be showing up all throughout the evening. Some them popped, locked, and flipped as they were hyped up by the crowd around them. The night came to an end around 4:30 with the DJ trying to extend the party by playing at least 3 final tracks. After getting passed the problem of being locked out of my room with Elwin asleep inside I went to bed at around 6:00. Apart from the CSGO match on Day 5 there wasn’t much noteworthy that happened. Hopefully, I’ve given you some insight and enjoyment from reading about my Gamescom experience. I really hope to back again next year although time will tell. Follow me on Twitter for more updates or to hook up for a chat.
See you around!