$16 for a *very* non-performant material? If this was intended for use in high-detail scenes, not meant for gameplay, one would generally just use a flipbook animation, or looping HD video texture (both of which are higher quality and available for free all over). I love options, but c'mon, that's pretty steep. $5, maybe. And you can loop in materials, using custom HLSL nodes. Also, there are better ways of doing this, all around. Somewhere on the forums, Ryan Brucks (of Epic fame) himself touched on this. I've personally been working on a cool water material (not "material blueprint", thankyouverymuch) and utility functions, and am close to the quality achieved here, sitting at ~180 instructions with everything "turned on". The kicker? It's pure procedural. No textures are needed. So this is cool, no doubt about that. In my humble opinion though, it's not "good". It doesn't run fast, and it's more complicated than it needs to be.
Lee is right - you can use a gradient effect when you vertex paint in your chosen 3d modelling platform (I've done it in max), meaning the wind effect shifts from nothing to maximum along the length of the leaf/branch/whatever.
I'm fairly certain you can vertex paint the bottoms of the foliage and control the movement using vertex colors along with the wind node. I did this in an earlier project and was able to create a scene with grass that moved less and less as it went down until stationary. I created the grass and painted the vertexes black to red (bottom to top) in Maya.
Martin Thorzen is one of the few people, who has the knowledge of the technical backend and understands the cravings of the artistic game development crowd. He’s been a member of Crytek & CD Project RED. Now he’s working with Ubisoft on wrapping up Assassin’s Creed Syndicate. His main job is the creation and optimization of incredible development tools, used by the creators of the best games on the market. In this post he shares his personal opinion about the game tools creation and discusses the best qualities of Unity and other game development middleware.
About Martin Thorzen
I have played games as far back as I can remember. I wasn’t one of the “lucky” ones that had a Nintendo Entertainment System (NES) at home. But my daycare mom had. So there I got to play all different kind of games and the ones that I remember was Metroid and Zelda. Still two of my favorite games by the way.
In 9th grade I played Final Fantasy VII and that must have been the most beautiful game I have ever played. The graphics where great and the cinematics where life-like. This game had probably the biggest impact on me as a child. Story and characters where great and the combat and game mechanics where really good.
When I was 16 and went to 10-12 grade I met a likeminded individual in my class and we tried to make our own game. He was coding and I was doing pixel-art using MS Paint. That was a blast. He later introduced me to a software that he knew about called 3DS Max. This was back in 98 and I was totally amazed with what you could achieve with that software. I told myself already back then that I wanted to make art for games for a living. We never got anywhere with our game but it was fun and I taught myself 3D by going to the library and borrowing a book (Yes a library, that is how long time ago it was. We didn’t really have proper internet back then)”
Some of the most interesting moments in my career would be the traveling. Seeing new countries, meeting new people and new cultures. This industry has allowed us that work in it, a great room of flexibility when it comes to moving to another country. Another great moment for me was the GDC talk I made this year. This was the first time for me attending a GDC and I was also fortunate enough to give a presentation (read out report here). Great experience and I can recommend this to anyone in the industry who hasn’t gone there yet.
I have also learned that even if the company might not be as well known as other companies they can have great tech and in some regards better tech. Some companies care more about the graphical fidelity and others care about the whole picture. The most valuable experience that I learned with all those projects I worked on, is that there is a big difference if the team believes in the project or not.
Being a Tech Artist
It depends on where in the projects timeline we are. I consider Tech Artists Jack’s of all trades. You should be able to be slotted in wherever you are needed. If someone needs a shader you should be able to pick it up and learn fast and help out.
If someone has a problem with some tedious exporting steps you should be able to script it for them. If the game runs like syrup on one of the target platforms you can help in debugging why. If you are needed to make complex character rigs you should help out. In preproduction I tend to think about the future work the artists are going to do and try to foresee bottlenecks and flaws in the pipeline. I create the tools and necessary enhancements for it to be as smooth as possible.
During production I help out where help is needed. If the artists still have pipeline issues or unforeseen problems I am there to help. During the end phase of a production I am needed in finding the “expensive” assets and try to find out why they are expensive and help with fixing it.
Building New Tools for Game Development
Each studio has their own way of working and their own pipelines. So my tools are helping with whatever is still left to do (which usually is a lot). Some tools are built directly in the editor and some tools are built for 3DS Max or Maya. It could be tools that the editor is lacking like for example something that would align two entities with each other depending on X,Y,Z coordinates. Or maybe the way Maya starts up and sources all our scripts and tools.
Automation of tasks are also a big thing for me. Let’s say you have 500 pieces of equipment and you wanted to render thumbnails of all the those, then there would be a tool or script that loaded up the equipment and rendered them out one by one. Then at the end if someone decided to change the shader or textures and they now look different. You don’t want an artists to do those 500 renders again and again and again. I also like to work closely with the tools team to help them in creating “artists friendly” tools. There are so many small things that needs to be created for a pipeline to be a smooth as possible.
Contemporary Game Engines
Contemporary engines are all good in their own ways. But thanks to Unity3D teams of all sizes have been able to make games much easier than before. I really like the way Unity3D works. You can create a game even if you are only one person. It is also quite easy in Unity3D to build for different platforms.
An engine that I kept my eyes on for a very long time is Autodesk Stingray (read our report about the creators of the former Bit Squid engine). I believe this one will gain a lot of ground coming years. With the tools and tech from Autodesk we could see a really good package that has most of what you need for making a game.
The best renderer on the market today is really hard to point out. 5-10 years ago I think everyone would say CRYENGINE’s renderer. Nowadays people has caught up with that so it is really hard to say. We have Frostbite from EA in which the latest games from EA is utilizing. They all look pretty impressive. Look at Star Wars Battlefront, amazing visuals.
Ubisoft Massive in Sweden are making “The Division” and that renderer looks really impressive. They are using their own proprietary engine called Snowdrop Engine.
How to make a good game development tool?
If you can let the creative people be creative in your engine/editor and don’t have them worrying about technical things you will get the best product. Anytime an artist/animator/level designer etc needs to open up Notepad to write some data for their asset to work in your engine, then you have done something wrong in my opinion.
This is where we as tech artists/programmers/tools programmers need to be alert and ready to help. Creative people adhere better to visual tools then writing texts in Notepad. So having software utilizing nodes as visual representation of data is very helpful. Substance Designer is a good example for that.
In my own experience, I see that having videos is helping more than just written tutorials. The best thing is to have both, a good written tutorial and a video. My personal mantra when creating a new tool is that it is not finished until there is a document that breaks down everything in detail and a video showing what you can do with the tool.
The Future of Game Development Technology
We get better in helping creative people be creative. Developing big, huge AAA game seems to be as hard now as 10 years ago. But developing smaller games with less people needed has never been easier thanks to engines like Unity3D. We now have the power do display more on the screen but that just means there will be more complex models, shaders, physics, AI …etc. Good middleware and new software has been created during this time. SpeedTree, Substance Designer and Houdini Engine just to mention a few.
I think there will come a time where there will be a few big productions around the world and the mid-sized teams will be growing in numbers. The small studios will always be there and with the way they can publish their games on Steam / GOG and similar platforms they can be very profitable. I think there will be more games created with more platforms in mind and more cross platform interaction. There will be a bigger market for 20-30 dollar games built by smaller teams then what we have now.