Very interesting post, thanks for sharing! Next step would be to procedurally create the indoors! I understand your point about a semi-procedural approach. I often fall into the go-full-procedural vortex and can't get things done. :D Anyway, one question I don't quite get why "fill the interior" on the vdb node has to be checked?
it is really frustrating that half the article was posted and i cannot view the end of this article, every possible link on the page refers to the same url and that url is password protected. creation of a gametextures account will not get you access to the end of this page so don't hand them paypal info like I did just go blunder off through a youtube tutorial rather than this good-old-boy referral page
Great read, thanks for the effort.
User Experience Director at Ubisoft Montreal David Lightbown talked in detail about his impressive career path and peculiarities the uncommon field he works in – UX of game development tools.
David Lightbown is a UX specialist, experienced technical artist, web designer, reputed public speaker and author of the book Designing the User Experience of Game Development Tools. With more than 15 years of Game Development Experience, in 2012 he joined Ubisoft Montreal and currently works as the User Experience Director. Check one of his speeches presented during Game UX Summit 2016 where he talks about his work in detail:
At the Start
Believe it or not, I’d say that – in a way – my journey in game development started in the 1980s when I was in Elementary School. I was lucky enough to go to a school that had a couple of Apple II computers. In first grade, our computer science teacher started teaching us Logo Writer. It was a program used to teach kids how to program, but it was also a great combination of technology and art, which is a theme that would continue throughout my career. In Logo Writer, you could write little programs to draw designs, create and control sprites on the screen with the joystick, and so on. I created some really simple games using that, basically clones of other games that I had played on NES or PC. A few years later, when my parents bought an Apple IIGS, my teacher gave me some disks to take home so I could continue developing little games in my spare time.
In High School, I started learning Hypercard, which is the software that was used to make the original Myst. You could make interactive stories, little utilities, and so on. It was another nice fusion of technology and art, just like Logo Writer. I used that a lot to create all sorts of little games, also working on them from home or my mom’s office after school.
One of my graduation gifts from High School was a 486 PC, along with a suite of content creation software from Corel. One of the programs was called Motion 3D, and it allowed you to create really basic 3D models and animations. As soon as I started playing around with that, I was hooked.
While I was in college, I got a job doing telephone support for a dial-up modem internet service provider. While I was working there, I was also playing around with another 3D software called Adobe Dimension. One of my co-workers saw experimenting with it, and he said: “hey, you should try this thing called Lightwave”. So, I started creating a portfolio using Lightwave.
In 2004, I was hired by another studio in Montreal called Behaviour, as a Graphics Technical Director. I worked there for almost 9 years, shipping games on PlayStation 2 and 3, GameCube, Xbox 360, and PC. I did that for a long time, and I learned a lot. It’s at Behaviour that I really started doing tools development, mostly in Maya, but also learning some C++, C#, WinForms, WPF, etc.
Around 2010, I was at a turning point in my career. I had just won the “Maya Master” award, which is an award that Autodesk gives out to one user of Maya every year for their contribution to the 3D community. I was very happy and proud of that achievement, but I was also starting to feel like I was hitting a wall in terms of game tools development. I felt that there was a better way to develop tools, and I started researching the field of “User Experience”, or “UX”, which was an approach being used outside of the games industry to create better creation tools for users.
So I put together a little pitch about the importance of UX and game tools, and I started showing it to various studios around Montreal. Fortunately for me, Ubisoft Montreal was looking for someone to do that exact job, and so I was offered to work in the Ubisoft Technology Department, focusing solely on game tools UX. I’ve been there for over 5 years now, and I feel lucky and excited to do my job every day!
Working as a UX Director
As a UX Director in the UX Team, I do a few different things. First, and perhaps most importantly, I work with our user researchers or directly with the users to understand the problems that the users are trying to solve. Often, users are not given a chance to give feedback, or they are not even aware that the issues that they are dealing with are actual problems to be solved. Second, I design solutions to those problems, either by creating wireframes and discussing them with the teams or by developing the interface myself in collaboration with the programmers. Finally, I do a lot of communication, internally and externally. I give UX training internally, speak at conferences to share my knowledge and network with like-minded colleagues, and I also do a lot of documenting and sharing of UX best practices that relate to game development tools.
I am fortunate to work with a great group of people, the UX Team. Some focus on user research, some – like myself – focus mostly on design, some focus on evaluating how people use the tools. I’d say that the biggest challenge that we face is that our process is new to the tools development process in the games industry, so we’re still working with some teams to figure out how we can best collaborate. The challenge of integrating the UX process into an existing and established industry is nothing new outside of the games industry. UX teams around the world have faced similar challenges, but with persistence, most are successful in integrating themselves, and I’m confident that we will do the same.
There are many different things that you need to balance when designing a user interface. Two of those are “learnability” and “efficiency”. For example, if you have only icons for the buttons in your interface, you can save space, and the user can see more of their work. However, only having icons makes the software difficult to learn at first. On the flip-side, if you have icons plus text, and a tutorial for every button when you click on it, you make it easier for the user to learn, but you slow them down, and the addition of text means that there is less space in the window to look at their work, meaning that they need to zoom in / out and pan around a lot to see everything.
Maya is a software geared towards professionals who work with it for many, many hours per day. With a software like Maya – or Photoshop, for that matter – it is assumed that there will be a learning curve. However, the reward for that learning curve is an interface that “gets out of the way” so you can see as much of your work as possible. To me, a typical sign that a piece of software is made to be more efficient is that that interface is very small, and the work area is very large.
Also, keep in mind that Maya does a LOT of things! There is a limit to how simple you can make something when it does so many things. Software like Maya or Photoshop are like 15 different software in one, so it’s difficult to compare them to something like Paint or Word that do one thing really well, and say “they’re so much simpler!” There is a certain minimum amount of complexity that is necessary to be able to do so many things in one software package.
That being said, there are definitely some areas in which Maya or Photoshop could be improved. Tools development is very complicated, and often, some issues with the software are due to the very complicated situation of developing software, with a lot of different people, over many years.
Patterns for simple things like radio buttons, lists, menus, etc. can be found on Microsoft’s websites, in the Desktop UX Guidelines. However, there are some that are only seen in content creation software like Maya or Photoshop that cannot be found in the Microsoft Guidelines (like the common behaviors for a color picker, for example), and in that case, you need to do the research yourself.
Also, other companies like Adobe, Autodesk, Apple, Microsoft, etc. have teams of people who work on these patterns. They have tried things that work and thrown away the things that didn’t work. Not only that, but those patterns are used in much of the other software that our users use, and so, they have learned how many of them work. Tools developers can benefit from this for free.
For that reason, a large part of my job involves researching other software to identify what patterns they use, finding out if they are a good fit to solve the problem that we’re trying to solve in the same context, and then integrating them into my work.
Development of the Tools
Every few years, when I think that everything has been done, someone comes out with something that changes things in the content creation space.
Right before the Xbox 360 and PlayStation 3 came out, we were discussing creating a training plan at the company I was teaching artists how to use NURBS, so we could create high resolution meshes to create normal maps. Then, ZBrush came out and changed everything. More recently, SideFX is pushing the industry forward and innovating with Houdini.
I think that this sort of innovation is important, but I think it’s dangerous for it to move TOO fast. Think about Windows 8. Microsoft made a major shift in the user interface when they released Windows 8. The response from the community was so bad that they backpedaled with Windows 10 to be more similar to Windows 7. Microsoft has a lot of money, and they can afford to make those sorts of mistakes. Not everyone can afford to make a similar mistake. So, for that reason, I think it’s important to innovate, but to do it slowly, carefully, and by working very closely with the users of your tool to understand how what you’re doing is beneficial for them in a day-to-day context.
In terms of making the tools more accessible, I think it is possible, though – like my previous answer – there is a minimum amount of complexity that is necessary. However, I think a lot of developers don’t consider how powerful good documentation can be. When it comes to content creation tools, in some cases it’s best to have something that sacrifices some learnability for better efficiency (i.e. smaller interface so you can see more of your work at once), BUT only if you do a great job with documentation, integrated help, videos, etc. Those go such a long way.
Approach to Asset Organization
There are many different and new approaches out there to organize assets. Tagging is a popular way that has some advantages and disadvantages compared to folders. Fuzzy search (i.e. basically, similar to Google’s “Did you mean…” search results) make it easier to find what you’re looking for if you typed the name wrong, or the spelling is different. There are even some crazy cutting-edge techniques using machine learning to identify and classify objects for you, so you can just describe the object and it finds it for you. Many of these techniques are out there in the web space, but very few of them have made their way into commercial content creation tools, yet.
It’s inevitable that we will move further and further away from the bare metal. For example, consider the progression from punch cards to assembly language, to COBOL, to C, to Java, and then to something like Blueprint in Unreal. Nobody uses punch cards, and very few people use assembly language, and even then, they use it for very specific things. More and more people are starting to use visual programming instead of scripting or interpreted languages. I think that trend will continue. It’s just the inevitable marching forward of technology, and I think that modern game development tools are no different.
The best interface is the one that is best for the user. Everyone is different, and I think it’s impossible to say that one interface is “the best”. To answer this question, we would need to spend a lot of time talking to artists, watching them work, and understanding the problems that they’re trying to solve. If we don’t do that, we can’t begin to design better game development tools.