In this write-up I'm going to address some universal best practices’ regarding project organization (in computer game and 3D animation), game specific pipeline stages and pipeline programming in Autodesk Maya and QT Design.
Depending on the field, Game or 3D Animation, one will notice differences within the pipeline architecture. There are, however, universal conventions that reign over both Industries.
In 3D computer animation, whether we are making computer games, creating full CG movies or VFX content, there is always going to be an organisational structure in place to get the production finished. These structures are usually systems developed by a company to suit their own internal, project-specific needs. The size and complexity of these systems really depend on the task at hand, how many resources the organisation has at it's disposal and whether we are talking about a small Indie endeavour (smaller teams and less resources*) or a large high budget AAA Organisation (*Vice-Versa). Most people in the entertainment industry would agree that we call these systems Pipelines.
Automation within a well-structured pipeline is accomplished with scripts usually written by engineers and programmers to complete cumbersome tasks, so developers and artists can focus on the more creative aspects of a project. Not only do scripts save the team tedious work loads and time, but allows the project to be completed faster so QC (Quality Control or Quality Assurance) revisions prior to publishing can be made.
However, exception may occur. Either currently a task is too complex to be automated or the project Director / Team lead wants specific adjustments made only HR can handle.
Best Practice - Folder Structure
It is always good practice to create a logical folder structure in advance. This way one is more likely to find older versions of files if they need reviewing. An import aspect in folder structures (Project Trees) and project files is the concept of publishing. There should always only be one “Master” (Done) version which can be found inside a “Published” folder, at any given point in time. This will avoid confusion and prevent possible “Over Writes” of older or unwanted files. The final project will be stored inside the “Delivery” folder in the root of the project tree, inside those folder there will be no version or work in progress files, only the files agreed upon on the high concept / or treatment.
Img.1 Folder Structure – Project Advanced Scripting
Naming conventions are the visible labels (names) or descriptions given to files and folders within a project tree, by a user (or once defined it by a computer running an automation script). Reason being; organisation, by labeling your project folders and files in a logical manner it will be much easier and quicker to find. The syntax of naming could look like this [ProjectName_Object_Specification_Version_Date_ Author.Suffix]
With the utilisation of scripts we are able to search through our projects in next to no time.
In the Production phase specific pipeline tools can be used to automate or facilitate treacherous tasks. There many scripts, plugins and extensions allot of which are to be found online. These scripts come in different shapes and sizes, depending on their purpose. In this case the spectrum is huge. Smaller scripts can be as simple completing a simple task using the Maya interface, copying the command out of the script editor and dragging it in to the shelf.
This is on the minimalist side, on the other side we have monster scripts with complex interfaces and large amount of functionality like Advanced Skeleton (which also happens to be free). Advance Skeleton is an Auto Rigger used to rig anything you want, it has preset skeletons for birds and humans. Furthermore, you can use the “Limb” system to create a join chain for custom characters that break outside of the biped schema.
Img.2 Advanced Skeleton 4 Interface
Of course proprietary software is available, this might be useful for smaller Indie Companies as they may not have the resources to develop their own system. Bigger companies like Disney and Pixar have their own in-house pipelines. Below is an example of a project organisation tool compatible with Autodesk Maya, Photoshop and Nuke.
Img.3 Shotgun Toolkit – Image from Shotgun
Communication and Planning
Usually it is the producers and team leads called Scrum Master, responsible for the scheduling of the project. There are various techniques such as the previously mentioned Scrum that can be implemented. Members of the team discuss and begin to break down the tasks in 2 or 4 weekly, so called “sprints”. The entire project is not planned out in advance because creating a computer game as a complex endeavor similar to creating software so there is always room for bugs.
Online communication and file storage software such as Dropbox, Copy, Google Drive, Slack (Freeware Web-App) and Confluence (Proprietary) are widely used to help share data organise. These types of communication methods are very practical and enable a relatively new trend called “Home Office”, working from home. All files and messages are stored online and can be accessed from anywhere via the Internet.
Version is used to roll back and merge data structures accumulated over the course of project, this is extremely useful in case irreversible errors or problems occur at a certain stage of a sprint. To manage large data repositories version controls applications such as Git are used. The 3D game engine Unity has a built in version control system.
Game Production - Key Stages
Either the studio in question commissions and external company for idea generations, or a team of in-house creatives produce them, in most cases the latter is true. Concepts can be very simple sometimes even as little as one or two sentences. Either way it is the idea that counts, without this the entire project would not exist or just lack all meaning. Later on the idea will evolve into a High Concept which can be viewed as a transition between the Concept and Pre-Production stage.
In the second stage; an extensive document called a “Treatment” is compiled where basically all of the to-dos and priorities are defined, how the game will work aesthetically and technically. A round up of game features, level design, missions, look and feel can all be found in this document. Strict guidelines will need to be met being dictated exactly how the game assets should look, move and sound.
Obviously an independent studio has the freedom to express their creativity entirely with only few limitations whereas a franchise studio will face limits from their contractors on what the content of the game is going to be. Another restriction could derive from the concepts inclination to realism, if the game is intended to simulate real life happenings restrictions could take the shape of physical accuracy, for instance the behavior of light in a game like “Watch Dog” lots of physical properties need to be considered for instance falloff, intensity, Hue, shadows. There are many more factors like material properties which work in conjunction with the light, so the re additional factors like reflections, refraction, specularity and so on.
In the treatment all of the most important design and engineering decisions are captured. What a player can and cannot do, everything from Game Design, Interaction Design, User Experience Design, Visual and Technical challenges (potential problems) are defined.
Methods used for idea and story generation include the use of Procedural Rhetoric and Non-Linear Narrative.
“The formidable world of Hunters is archaic and fantastic, soaked in mysticism. In your World some might say, “Money is power.” in a Hunters’ world, one mutters “[…] and runes be your survival”. The Flora is untamed, huge and full of life. The fauna is manifold, colorful yet malevolent toward those who hunt them. Their hides and furs are in penetrable by normal means. Blades and spikes cannot wound, the humans of the world found other ways to hunt and survive. Danger is everywhere, just the skilled in the use of symbols, will prevail.”
Saussure says that meaning in words cannot just be created or changed by individuals. However in an inspiring talk, Mark Forsyth gave a fantastic real life example of how circumstances within a given context can change the meaning of words in a society and even the outcome of perception hundreds of years later. Ideally our game will be one of the
“[…] human cultural and historical creations that are designed to engage and manipulate people in certain ways.” - James Paul
We will try our best to ensure that those ways are as meaningful as they can be. Instead of creating real-time cognitive dissonance we would rather our game emerges as a synecdoche. Even though in some cases we may refer to existing tropes, perhaps there is some rhetoric created by players on their own accord. It is in the team’s interest not only to create unique Gameplay but also specific game aesthetics which are kept relatively simple as not to lose the player in an awkward ocean of decoration.
If successful, we will transport our players from a vivid feel of Aztec culture to modern contemporary Art Deco, just like a time machine. Time travel is a fantastic concept marvelled at by many, making this an idea well worth of translation from our games rhetoric delivered to the players flow.
In this stage of the Pipeline it is usual that more people than during Pre-Production are involved. The Team leads of an apartment come together to organise the projects scrum and define the upcoming sprint. Commonly, all the design questions have by now been settled, however in smaller less organised productions it is still possible for design revisions to be made.
Artists are now working hard using DCC's like Maya, 3DS Max and Z-Brush to bring the game to live. This stage in production can be further broken down into the following steps, more commonly known as, Workflow :
- Concept Art: The concept artists provide moods and images out of the perspective view, front and side. Note that it is not always the case a 3D Modeler has the luxury of being given art from all of the three perspectives.
- Sculpting: In Z-Brush Blockings are created to gather a sound understanding of volume and proportion.
- Modelling: Based the blocking a clean mesh is not created. Quad Draw is a relatively new feature in Maya that allows you to set points on a “Live” mesh (the Blockings) in order to manually Re-Topologise (make a usable mesh with good topology), depending on the experience of the artist this happens relatively fast.
- Rigging: This is process of giving the character bones so it can later be animated. Advanced Skeleton is extremely useful in automating this process, it really saves allot of time.
- Animating: Once the character can move all other elements in the Maya scene have to be deleted so he artist can export a clean .FBX (3D file form that can save lots information such as animation and key frame data)
- Texturing: In software such as Photoshop, Mudbox and Z-Brush one is able to paint on the 3D models in real time. First of all the base layers are painted, then the details in Photoshop are added. More depth information will be saved to texture files called Normal Maps.
- Export / Import: Finally the character is imported into a game engine like Unity where animations can be blended using features such as Mecanim, which can read basic rig definitions.
The programmers beginn the daunting task of completing; what is known as, the Software Development Cycle. Some of the most important aspects for the coders and the overall quality of the game are AI (Artificial Intelligence) with accurate physics and collision detection and Shader Coding, special effects amongst other fancy features the direction wants to be included.
Usually a prototype is built before the main Production begins, this may occur if the studio decides to make a game, with extremely unique features where every asset/function needs to be tested in advance to see if it works.
When the development of a title is considered complete (via the "Definition of Done" defined in advance), be it a prototype or the game to be published, will not go into the QC (Quality Control) for filtering out any unwanted bugs, lag or bad art. Anomalies are classified in to A, B and C categories, with A being the highest priority. When all implementation errors have been cleared the game will be sent to publisher and console manufactures for approval.