Search

Saturday 13 April 2013

On: Getting shit done faster.


 

Introduction:

The main thing you want to be focusing on when developing games is getting shit done. Let's face it: you're probably not in a huge company with 90 people working on the game and it's much more likely you only have a few people. Maybe you don't even have that, maybe you're all by yourself. Fact is that although you could probably create an awesome asset that looks mega realistic and has awesome performance: it's never going to matter if it takes you a week to finish a barrel.
     If later you find you have the time to go back and fix up some of the objects to perfection, then then that's pretty awesome too.
     Saying that however  many people I speak to seem to be under the impression that saving time is completely based on experience and the process of modelling. This is why for this first part we will not be discussing modelling techniques (that shall come at a later date), but rather organisation and management. The plan is that In Part II I will discuss Speed modelling Techniques as well as give some challenges and guidelines to help you practise and Finally in Part III I will discuss ways to speed up your texturing workflow.
     I'll be using 3ds max as a main example however many if not all of the practices can be brought over to other  packages.  This Volume is aimed at intermediate to advanced users however I attempted to make much of the article beginner friendly by giving hints and suggestions.


Planning:

Lists;
Plan a rough guide of how you'd like your Scene on paper/in photoshop
You need a list of things you'll need to model. A simple indoor scene might involve:
Add to this list as you go and cross off that which is done. This way you'll not be wondering what to make next

Figure out Pipeline(s):

EXAMPLE: Don't use this make your own. Make it neater.

Don't  waste your time wondering what to do next. Write down your processes. It can get pretty complicated and while you may have it drilled into your head. Having a checklist that you can work through can keep you on track. No more "Oh monkey-wank I forgot to set the smoothing groups... time to re-render."

The example shown is just a quick and crappy example of  *1* Pipeline for *1* method of creating assets. If you incorporate Zbrush/Mudbox, substance designer or Ddo etc, your pipeline will probably include that. If your game engine has special requirements, for eg; say your game engine can't hand single smoothing groups then this should also be included somewhere. Find what works for you; maybe you model more quickly by making the High poly Mesh first?

One final tip: you can create a flowchart-style pipeline which covers more options, makes it easier to read and looks neater. Which is cool and cool is good.

Time Management;

Managing your time can be one of the most crucial ways to save time. Write yourself realistic deadlines and assess if you're making them. Essentially saying to yourself this week/fortnight I want to get X amount of work completed. 

It's also a good idea to take note of the time of day you're most efficient. Take this into consideration and set day by day goals. It's a good idea then to give yourself bigger more elaborate tasks in the time you work best and smaller easier tasks in the time you don't work so well. Remember to pace yourself; if you're not meeting deadlines assess the cause, that is to say is it due to a lack of input by you or is it due to your goals being unrealistic?   

Try to do Something everyday. Even if it's just for 20 min or so. 

Save your progress:

Backup your work, save and do it often. People lose their work all the time due to file or hard drive corruption, accidentally deleting a file or simply just making a huge undoable mistake such as for example; resetting Xform when you really shouldn't have. Save your file to your hard drive and back it up on a USB, external Drive or cloud based storage. Get into the habit of hitting ctrl+S often I think I've said enough. 

Optimise your Setup:

To Speed up our workflow we'll first be looking at eliminating repetitive tasks. Reusing your old assets isn't 'cheating', nor is starting from anywhere that isn't scratch. So let's get our setup configured and our resources sorted. 

Set up your Default Scene (3ds Max)
Every time we start a new project things need setting up. We can set up a default scene. 

Grid settings are accessed by right clicking snaps.
The Grid
Hint:Right Click the Snaps Icon at the top and then navigate to Home Grid.
In Game development we work a lot with powers of 2, So it only stands to reason that we should set up our Grid to work as such.
Set up your grid spacing to be a power of 2: in this case I used a power of 4 which gives me 16;
Note: The perspective view grid extent is how many iterations the grid should extend in perspective view. I.e. Smaller number - >smaller grid. Make sure to check 'All viewportsor set them all up individually.

Unit Setups;
Cryengine and UDK:  1 max unit => 1 unit in Game engine.
Customise => unit setup => Generic Units
Done.

Reference Box;
The Reference box is used for an Idea of scale. Since we'll be using the grid for large objects we should keep it a small size. 64 cubed is a size... but then 96 high with a 32 x 32 base is also the size of a 6ft person with the UDK assets. So maybe you'd like to use that as a reference. Or maybe some other reference.   

Other Objects;
You may also wish to add other objects such as light setups, eg. a skylight for baking AO. 

Gamma Setup and exposure
"Adopt files gamma and LUT settings" Should I?
Gamma and LUT settings are nice for rendering out scenes in max. But as far as games go: it messes things up. Disable it. 
To elaborate: Gamma changes the levels on images automatically, to make them look better. But it messes up normal maps and gives false results.
Hint; Gamma can be found under Customize => Preferences => Gamma and LUT tab.
Exposure is pretty much the same thing except it's to replicate camera settings or something, who cares it screws up our render to textures so disable it.
Hint; Exposure can be found under Rendering => Exposure Control (Set to no exposure control)

Viewport Setup;
In 2013 you have the ability to switch viewport configurations. I hardly ever stray from my 2
viewport setup one for modelling and one if I require a second view (Such as when building from 2 references). There was a time when I would also have a separate view exclusively to display a reference/ List of commands I would be trying to memorise or a Pipeline.

Hint; You can find viewport setup by clicking the + icon in top right of viewport then going to configure viewports.

 
Save the file;
After you've fiddled around with your default file and set it up so you like it. save it in your [documents\3ds max\scenes] folder (or your project folder, which I'll go over in a second) as [maxstart.max]
Henceforth every time you open 3ds max the default scene will load. 
Note: if you choose 'new empty scene' at the welcome screen then any geometry or other objects you have in your scene will not be loaded. 

Miscellaneous


Project folders;
If you're constantly getting sick of having to spend a lot of time browsing for rendered textures and files etc. Then you should organise a project folder.
A project folder becomes the default location for all of max's files. It makes folder management far easier than looking all over your hard drive. Once you are done with modelling the final files can be moved to your game engine directory.
Be sure to copy byour maxstart.max into your new scenes folder.

Hotkeys and interface;
Clicking is slower than using hotkeys, So set up your hotkeys and use them you shouldn't need to spend time looking for modifiers or tools. In the future after using hotkeys for long enough you can spend a lot of time in expert mode (Ctrl+X)

Search the internet for a tutorial on how to set up hotkeys if you need to. 
Hint: you can find the menu under [customize => customize user interface]. 



Make once, Use many times - Libraries
Model Libraries;
There is no reason for you to constantly be modelling screws, knots,bolts etc.
keeping a model library of these little bits and bobs we use in many projects is a great way to save time. This library can be as simple as making a new folder in your project folder

Alternatively you may consider using This script to create your own primitives. One thing to note: this script creates new plugins and the primitives will be stored where you select to store them. I.e they're not stored in the script. 

fig 1.
Material libraries;

There's a common misconception when it comes to material libraries that is that they are only available for mental ray. They get this notion from the fact that the Autodesk material library requires mental ray. So let me make this clear: material libraries are not mental ray exclusive.

So how do we use them? you ask. Well it's quite simple: 

hint you can find the material editor by going to rendering => Material editor or simply by pressing [m] on the keyboard. 

Right click in the material/Map browser (left hand side of screen in slate editor and you can open this by going to material=> Get material in the compact material editor.)
Here you can make new material libraries and open existing ones. You can also experiment with groups and other stuff but let's stick to the basics for now.  

Create a new material it can be whatever you like I created a red and a blue material. And Create a new material Library.   

Fig.2 Put to library button.

 From here it's as simple as Clicking the 'put to library' (shown in fig 2.)  in the compact material editor. Or dragging and dropping the material in the Slate editor Mode.


Side note: Many people also don't know how to drag and drop materials in the slate material editor. To do so simply drag from the output node as shown in figure 3. Though please note that my nodes go from right to left so as to resemble that found in the UDK.

Figure 3. Dragging and dropping in Slate editor.




Finally don't forget to save your material libraries by right clicking the material library going to the top option and clicking save. Once saved you can call on them very quickly without needing to remake the whole thing for every new scene you create. Better still save the library to your default file. Furthermore you may wish to create a collection of bump maps, and other such things. We'll talk more about how to use these materials to gain quick results in a later article.


 
Generic Libraries;
In windows 7 you can make a new library for quick access to these files. Open up windows explorer (Use the shortcut Win key + E). Find the libraries folder in the left panel. From here click new library (Shown right). Name your new library (I named mine game assets). Right click => properties. Add the folders you wish to include


Build your texture and reference libraries;
As you collect free-to-use textures and references place them in neatly organised folders for later use. This will save you a tonne of time searching for a new rock material or scratched metal material.


This is it for part 1. In the next part I'll actually get into some Modelling tricks and tips.

-Fuzz out


Disclaimer: The content on this blog is for informational and learning purposes only. The owner makes no assertions as to the accuracy or completeness of any information on this site or found by following any link on this site.. The owner will not be held liable for any damages, losses or injuries that may occur due to the articles on this site .The owner will not be liable for any errors or omissions on this site. This policy is subject to change at any time without notice. 

No comments:

Post a Comment