As I have now begun full swing back into breathing life into Dark Horde Games I have started doing the Unity Tutorials. This may seem a trivial thing, and to most people not worth even commenting on. However, I think it important to take a moment and discuss tutorials. You see, the companies that put out tutorials do so for several reasons.
The Corporate Viewpoint
They are a way of advertising the company to a larger audience. It shows their willingness to spend their money to help you learn to use their product. And why wouldn’t they. If you can’t use their product, then you won’t buy it. Truly, from the corporate standpoint, tutorials are part of the marketing/advertising/sales budget domain. They spend money to bring their product into the usable domain of less experienced individuals. This increases their viable pool of potential customers, as well as providing a substantial opportunity for good press, and repeated website traffic.
Like all marketing efforts though, a poorly done tutorial or demo will harm the product. So care must be taken in the presentation and polish.
For those who are unfamiliar with corporate management: Advertising, Sales, and Marketing budgets are frequently the domain of “Black Magic” and “Hand Waving” returns. Modern marketing offers a more data based approach, but still the pre-calculation of actual returns on these budgets is guesswork at best. Post calculation of actual returns is very limited and not universally available for all efforts. Because of this many companies see expenditures in these domains as mandatory costs and pure loss which must be spent even without measurable returns.
The Management Viewpoint
The management side sees these as little more than an expense. Being told to fabricate a tutorial has a large overhead cost to it. It’s not unlike being told you must go create a full project from scratch that will never make the company a dime. All returns on a tutorial are insubstantial at best or impossible to correlate directly to a single tutorial effort. Additionally it removes one or more engineers from useful work for an unspecified amount of time. Engineers as well tend to dislike creating tutorials because they have to deal with the artistic side of performance, vocal control, editing, and multiple takes to get the right words out.
Management does have a love-hate relationship with tutorials though. Tutorials are wonderful things for their employees to use because it brings them up to speed much faster than just goofing around with a tool. This increases their productivity, thus resulting in better profit margins, or potential margins, than tools without tutorials. This makes for an interesting dilemma for managerial decisions when you are the manufacturer of a tool set. While we could explore this, most readers here won’t really care. So we’ll boil it down to a cost benefit analysis which says if we spend $X making the tutorial, then we must see an increase in sales by $Y for it to have been profitable.
Knowing this decision goes on behind the scenes should influence your choice of products. When you look at a game tool set system such as Unity or Unreal (or any of them really) you should spend time looking at the quantity and quality of their tutorials. Not just because you might personally need to use them. But because it’s a firm indication of how much financial backing the company puts behind their product, and how much dedication the company has for their user base.
Doing a web search for tutorials will also provide you a glimpse into the dedication of the user community. Does the tool have user sites with expansions and plugins ready for use? Are there additional and more complicated/complex tutorials provided outside of the company? Have people been using this tool set for a long time, or is the user community new? Answering these questions assists with determining if a tool set is worth dedicating your corporate resources towards learning and using.
The Engineer Viewpoint
Now we get to the heart of why I’m writing this. Tutorials are there to help you learn the tools, techniques, and tricks dealing with that company’s software (or other products and/or IP). You should never look at a tutorial and say “I’m too much of an expert to do something that basic.” If you’ve not used THIS EXACT TOOL before then (my opinion) you should do the tutorials. Why? Because each tool is created uniquely. Even tools based on each other have different engineers and design decisions. The tutorials are written for a specific tool and will help you quickly match your knowledge to the specific tool’s capabilities.
I’m currently working my way through the Unity tutorials provided by Unity https://unity3d.com/learn/tutorials. This allows me to learn their tool. Do I NEED to do this; probably not. I’ve got 2 years of using Unreal Engine, 3 home-brew games made, 6 years of industrial software engineering, and 3 years of web based java-scripting. All this experience allows me to know the various piece-parts of how to put together games. Unreal in particular uses a similar layout and engine tool set. But I do them anyway because the tool is different, and comfort and familiarity with a tool improve work flow.
Let’s talk for a brief moment about work flow. Look at the phrase “work … flow.” It’s how your work moves. As engineers this is perhaps the most important part of our job. We love problems, the tougher the better. And having an issue unrelated to our particular job item is very distracting and disruptive. If I told you to go out and create a VI/AI for a FPS, most of you would start digging in and designing. But what if your tool set responded with “License server unavailable”? Those who work in industry know exactly what I’m talking about. Suddenly your tool no longer works, and you can’t build, compile, test, anything. Your flow has been disrupted with an issue that has nothing with to do with your task.
This creates what we call a mental breakdown. Your mind stops working on the task, and starts trying to solve the work flow issue. Work becomes disrupted, and as a result ideas, solutions, and even steps in problem solving are lost. Features slip and are cut most commonly because of work flow disruption. Now it’s not always as catastrophic as the loss of a license server. Something as simple as “Where is this widget” causes a mental break when you’re deep in the development groove. And that’s where tutorials help. They establish the knowledge base and working flow paths to reduce interruption and improve efficiency.