AN INTERVIEW WITH TOMASZ STOBIERSKI: THE CREATOR OF THE FANTASTIC RELIEF TERRAIN PACK
Unt3Dmag: Hi Tom. Good to know you are a composer. Let’s talk a little bit about your musician side before we go to Unity development.
Tomasz Stobierski: I’m double educated – on both computer science and musical composition. First I graduated as a programmer at the Silesian Technical University in Poland, although I already played the piano and was making simple tracks before – back on Amiga times… I fully developed my skills when studying at the Katowice Music Academy between 2000 and 2003.
His Personal website
His Youtube channel
I was an Amiga user too! That was a masterpiece. Nowadays, as a composer, you create music for shockwave- sound.com only?
What’s there is my set of music done over the years. Most of my music was not created on an exclusive basis so I can exploit it today on the library. You can see the same music on my website– there are more info about its origin, inspiration and dates. Among the tracks made on my website there are even one mix of my Amiga mods, so we can see some progress since 1992.
Currently I’m not much of an active composer. Most of the time I’m working as a programmer. Unity and Asset Store activities take almost all my time. Furthermore, music can’t be a source of my accommodation – it’s too low and accidental.
Talking about development, tell me how you discovered Unity.
Previously I was working a lot with Adobe Flash, which was in its beginnings. [There was a] Macromedia product before Flash became very popular [so] around [the year] 2000 I was working on standalone multimedia presentations using Macromedia Director. At that time it was quite a powerful tool. [Shortly after] they introduced simple 3D rendering – Dx7. I was thinking about going 3D all the time and Flash could give me such possibilities. At some point I realised 3D in Shockwave Director just died, and that was the moment I went for Unity.
It was a very quickly growing environment with everything Director didn’t have, like programmable shaders, physics and so on. It was around 2009-2010 [that I] went for Unity and I’m here on the board since Unity 2.5. So it’s like a good old marriage – I know my spouse well with all her pros and cons, and as in every marriage Unity sometimes can drive you crazy… But I still love it.
So you decided to develop your own assets…
I was working on an indie project on Director, then moved to Unity, then I wanted grass to be better, then I discovered a technique suggested by Ralph Habel for VolumeGrass. Finally it became an Asset Store product… It was a moment I [still] didn’t know much about shaders but it became a veryof Unity is quite a hard time for shader developers at the Asset Store interesting theme for me. I graduated [and got a] specialisation in Computer Graphics but in the years of Flash I could fulfill myself. When I discovered Unity I went back into 3D which interested me the most. Now I [basically] abandoned my aforementioned indie project, but I hope to finish it some day with the Becoming.at team.
Shaders became your main objective then?
Yes, I’d like to keep a good balance between the Asset Store and making games, but it’s really hard when you need to maintain the product and fight for every copy sold… Now I’m again in a very hot season because of Unity 5. Every new version of Unity is quite a hard time for shader developers at the Asset Store.
I could compare my situation in the RTP with the Skyshop or PolyVector works (Sunshine, shadow softener). Unity 5 almost makes our efforts void and we need to rush to bring working solutions for the new Unity version. So if I can’t come up with well-working RTP for Unity 5 in time I’m screwed [laughs].
Although RTP works with Unity 5 Beta it doesn’t get most of it – global realtime GI for example. I need to fix it quickly…
It involves a lot of crazy work, I suppose.
Yes… I also do some things for friends of mine in the multimedia industry, like sound design works, small flash games sometimes. [Plus there are] loose requested jobs, my family, the Asset Store and then I [emphasizes] really like to make games. So… It’s crazy.
Talking more about the RTP, I’m really impressed with the results we can achieve. A very simple terrain can be turned into an AAA look.
It would be simply stupid not to cooperate.
TerrainComposer and RTP 1 was about parallax POM shading on eight layers at a time, which was something… And it worked quickly enough even [if used with] moderate GPUs. However the RTP 3.1 is a whole new planet. POM is only a small percent of the features, not even the most prominent.
Can you explain a little bit more of this concept of parallax POM shading?
POM stands for Parallax Occlusion Mapping. The technique is an old one, I’ve [originally] introduced it in my RSP package. In RTP I made it work on multiple layers at once without much overhead. It’s like a tesellation done in a pixel shader.
So, as tesellation is DX11 only, POM works with everything now – SM3.0 is what everybody has on their desktop. For example, opengl (Mac) users can’t benefit from tesellation, but they can use POM techniques because RSP and RTP work fine on Macs. Although the Mac community isn’t that big, it’s very active and quite loud when something on Unity is not Mac-compatible.
Now with the new Unity 5, do you think you can achieve new frontiers with RTP?
I’m thinking about a whole new release of RTP. I’m planning to maintain a basic RTP 3 compatibility with Unity 5 (like introducing real-time GI). Then I will probably try to test some new terrain and shading ideas for the RTP 4, which will be for Unity 5 only and use Unity’s Physical Based Rendering pipeline – RTP 3.1 has its own. But the RTP 4 will be a separate product. It would be nice if Unity introduced [an] upgrade pricing [formula], so RTP 3.1 users could get the RTP 4 relatively cheaper. I don’t know, if we still don’t have this I might consider selling upgrades via my website store. We’ll see. [Because the matter] is very simple: I can’t develop the RTP further if I don’t get enough financial support – it’s just too much time [consuming]. Then the market of RTP users saturates. Any user that bought RTP 1 for $20 in the beginning can still get RTP 3.1 for free. And it was a sale of my own, since RTP has never been on sale, which is a shame. The RTP 2 was featured for a few hours 2 years ago. No sales till today.
I hope Unity will notice my product some day. Unfortunately we can’t do much more – I’ve got good reviews, a well- maintained thread, constant development, rich content, AAA results and mind-blowing showcase videos. Still… nothing.
Fortunately TerrainComposer by Nathaniel Doldersum is featured and on sale from time to time, so it saves my RTP sales from collapsing. When somebody deals with terrains he needs a terrain manager like TerrrainComposer and a shading solution like RTP – so our products are somehow complementary. That’s good for users.
It seems to be a perfect partnership, isn’t it?
Yes, it would be simply stupid not to cooperate. TerrainComposer and WorldComposer demos use RTP shaders and Nathaniel felt the difference. We both benefit from it. In the meantime Peter Rößl appeared and kicked the development of our products in the right direction with his invaluable feedback and artwork. Showcase videos were his idea, however at some point I wanted to push underwater shading to the limits just for the sake of a demo and I’m quite happy with the results.
Indie game development is essentially a cooperation. It’s much harder to achieve good results if you’re on your own. I saw your last demo and you all achieved amazing results.
Yes, it’s pretty hard to disseminate your product – no matter how good it is – in the Asset Store without the “proof of concept”, i.e. high quality presentation artwork. So RTP would be still in the deep hood without its island artwork I guess, no matter how good the features were.
What are the main issues that you face in the RTP development?
It’s quite a nasty job because we always run on the edge of the GPU resources available and I’m not talking about RAM. Shaders have their own constraints which are often very painful. Right now I have just spent all my morning trying to port RTP to Unity 5 to enable GI. The problem is – as usual – the texture interpolator limit. Unity 5 needs more for GI and I’m screwed… Well challenges are the things we always need to break, so I assume I can get it to work in the end!
Great! Thanks a lot for your time. Any message for your users?
If users would like to hear from me, I actually have a message for them: “Pray for me so I can manage all the stuff that needs to be done and don’t run out of the money before I can reach the goal – and before I run out of steam completely when I loose motivation for further work”. Or maybe a message like this: “Send chocolates to the Unity staff to help a bit with my hard work, just from time to time!”.