Archive for the ‘Article’ Category

Keeping your skills up to date.

How do you manage to find time to keep up to date with modeling techniques, new programs, etc?

This was a question from Game Artist Forums - since the technology is constantly changing, and software is always evolving, how do you stay up to date?

Just reading various sites on the net can keep you to date with new games and their engines, tools and other other tech, and hanging around forums (such as Polycount) will keep you fairly up to date with what is new out there. Looking at other peoples posted artwork will point you towards techniques that may not always be new, but perhaps cover something you’ve never considered.

As for actually sitting down and learning new techniques, or trying to put into practice something that you have spotted online, I occasionally do this at home, but to be honest a lot of this happens at work. When we got Zbrush at work a few years ago we all just sat down and played with it - looked at tutorials on the net and simply got tore in. We learned off one another, someone would ask “Does anyone know a good way to this?”. More often than not my home learning is down to seeing interesting art on the internet.

You don’t need to know a package inside out to use it - I don’t know Maya these days, I’ve never used XSI, but if I got a job where I had to use either of those packages I’d probably be up and running within a few days. The only major difference is the interface, the rest is pretty much the same from package to package. When we got a trial of Mudbox, we were creating things in minutes because we knew Zbrush.

Learning on the job is something that just happens as a matter of fact.

Now, if you are making (for example) Playstation 2 or Nintendo DS assets day to day, then you most likely wont be learning highpoly sculpting and DirectX shaders on the job, and you’ll have to put in the effort to learn it outside your normal daily tasks - though you can easily hack away 30 minutes over a lunchbreak.

Technorati Tags: ,

What software do I need?

A common question on many internet forums every few weeks is “I want to get started game modelling, and I’m wondering what modelling program I should get? Which one is the best? Which ones are used to make games?”

I could bypass the entire post by simply directing you to a thread on the Polycount forums, Suggestions For Programs, but I’m going to give a concise overview of what is used in the games industry and what your realistic choices are.

The second question is easiest - there is no best. There are a few packages out there, then all have pros and cons, zealots and detractors. Most of them are expensive, but several offer 30 day demos or even free learning editions.

Which ones are used to make games? Lots of them, so I’ll combine questions 1 and 3.

  • The big three modelling packages are 3D Studio Max, Maya and XSI. I love to use Silo, many people swear by Modo. Lightwave has a big following too.
  • For high polygon sculpting, Zbrush is currently the most used, and Mudbox is well loved.
  • For 2D texture work, Photoshop is the industry standard, but in certain cases artists could be using Illustrator or Freehand for Vector work, or Pro Motion for pixel work.

Since you are just looking to dip your toes into the water of modelling, you don’t want to spend money, so the best thing to do is to download either a free package, one of the 30 day trial packages, or one of the free learning editions, so I”l leave links to the demo versions of the big 3:

Technorati Tags: ,

Update on the maxscript controllers

A small post to say that I managed to write some fairy nice code that links my joysticks to bones, allowing me to specify angle limits. It all works as planned in my tests at home, but breaks on certain real world hierarchies.

This is something I need to figure out before I post a breakdown of it, but for those interested, the code is available here:

http://forums.cgsociety.org/showthread.php?f=98&t=563367

GAFB: 03 - Introduction to Alienbrain

As an artist working with a team of others in the games industry, you will no doubt be using a content management system, and one of the most common in the market today for artists is Alienbrain by Avid/SoftImage.

Alienbrain is very powerful system, but for a new artist it can be a daunting application. The purpose of this post is to break it down to the core elements, the information that you’ll want to know on your first day at work when you’re confronted with it for the first time. To be perfectly honest, it may well be enough information for most artists for the majority of the time they use it.

What is it?
In many respects Alienbrain is like a version of Windows Explorer with added file protection/sharing/backup functionality. It allows users to share a file, but prevents several people from editing a file at the same time. It’s a content management system that backs up everything you choose from your hard disk to a central server. Alienbrain also stores a copy of every change to a file when you save a file, or “Check In”, to Alienbrain.

This means several things - since the files are stored on a central server, any artist on your team can edit art assets created by any other user. A server copy of each file means that a local hard disk failure doesn’t mean the loss of days or even months of work. Since the server makes backup copies of every file when it is saved to the server, any change is reversible.

Common Actions
There are only a few core actions - Import, Check Out, Check In and Get Latest.

  • Importing a file is what happens when you first add a file that exists on your hard disk to Alienbrain. From that point the file exists in two places, a master server copy and a local copy on your hard disk, and both are write protected
  • When you wish to make changes to a file, you must perform a Check Out - you find the file in Alienbrain and give yourself write access to it. At this stage your computer will copy the latest version from the server to your hard disk.
  • When you have finished working with a file, you will perform a Check In - this copies your changes to the server, making an invisible backup of the previous version, and makes the file read-only again.
  • Get Latest does exactly as you’d expect - it gets the latest version of the file from the server. On larger projects there may be several of you working a single asset, so as one person is rigging a model, another person may be editing textures. When you come to export the file, you’ll want to make sure you have all the current resources.

What do the icons mean?
Alienbrain marks all files with an icon so that you tell the status of a file at a glance. I’ve pulled together an image with the 7 most common (there are a few others), and I’ll explain what they mean.

abicons.jpg


  • my_file_01.tga has a little disk icon on it, which means that it is a local copy and doesn’t exist on the server. This file needs to be imported
  • my_file_02.tga is the standard icon for an imported file that no-one is currently editing.
  • my_file_03.tga has a little red tick - this means that you have checked this file out for editing, but haven’t modified it
  • my_file_04.tga also has a little red tick, but the entire document icon is red. In this instance you’ve checked the file out, and you’ve made changes. This is Alienbrains way of telling you that you’ve not committed these changes, and that you need to perform a Check In
  • my_file_05.tga is ghosted - this is a file that exists on the server, but you don’t have a local copy of. A Get Latest will copy the file to your computer
  • my_file_06.tga has a black tick, which means that some other user has checked this file out for edits. You can’t edit this file (but can view it)
  • my_file_07.tga is half and half - you have a old copy of this file, someone else has edited it and checked a new version into the server.

Hopefully this brief overview will give new artist an anchor point on their first few days in a job. Although it is Alienbrain specific, the basic principles are the same in many version control systems.

Technorati Tags: , , , ,

Games Developers and Publishers

The developer and publisher relationship can often be confusing, but in it’s simplest form it can be explained as Developers make the game, and Publishers put the game into a box and get it into the shops.

Where it gets more difficult is that some publishers develop their games as well, and sometimes it’s difficult to see where specific roles lie in the developer/publisher relationship.

Developers
A developer is a group of people who make games. They design the game, program it and make all the art and sound (or sub-contract some or all of these tasks to other developers). At the end of the day they are people who create the fun.

Publisher
Publishers are not simply responsible for getting the game into the shop, but they also handle the packaging, distribution, promotion, language localisation and providing legal help when needed - negotiating licenses for example. Often a publisher will approach a developer and ask them to develop a specific game for them, providing a design overview.

Since the publisher is often the party with money, they will often seek a creative role in the games development to protect their interests. This can take the form of assigning producers or project managers to the developer to ensure that deadlines are met. This can often cause tension between the publisher and developer, as the developer may feel the publisher is trying to interfere with what they as developers do best.

Internal Developers
Some developers are self publishing, and some publishers own development studios. EA and Ubisoft, for example, are international publishers who also happen to own several development studios. These studios are known as internal studios, only develop games for their parent publisher. Both Ubisoft and EA however also publish games developed by external studios - studios which they do not own.

There is also now a growing trend towards online distribution of games, thus removing the publisher from the equation, but this is not as simple as it sounds. As described above, Publishing is not simply the job of putting the game in the box and getting it into the shop, and games still need to be advertised and promoted.

Scripting streamlines your 3d workflow

I think a lot of 3D artists overlook the power that scripting with their 3D application provides them.

“I’m an artist - so why do I care about scripting?” I hear you cry. Scripts are great for automating repetitive tasks, and you don’t need to be a superb programmer to take advantage of them. That being said, if you understand a few of the basic aspects of programming like loops and variables then scripting becomes even more powerful.

I predominantly use 3d Studio Max at work (along with Silo for modelling), and I’ve found that maxscript is relatively easy to learn. I’m not a Maya user, but I understand that it’s scripting language, Mel, is fantastic.

How about some examples of where scripting is useful?

I know that all the characters I build in my current project have the same bones, so rather than creating them from scratch each time, I have a script that loads them from an external file. After the bones are loaded, it creates 2 selection sets - 1 for all the bones (but no nubs), and another set with a drastically reduced bone list for the LOD model (no fingers, toes, helper bones or face bones for example). The script finds all the components that need a skin modifier applied, applies it and assigns the correct bone set (thats the benefit of a sensible naming convention for you).

I like all my renders to look the same, so I’ve written a render script - it loads a scene with my preferred lights, floor and camera, sets the background colour of the scene to be neutral and changes the lighting tint. It selects the camera, sets the output size, grabs the name of the model from the max filename so that it can name the image, then renders and saves the image to the same folder as the model. It also renders Front, Back and 3/4 views.

Sound useful? How about a batch script? It loads a list of models in turn and executes another script. So if I need to render out all my work, I just point my batch script at my models and tell it to execute my render script - then I can bugger off for a coffee, or leave it running overnight.

Setting up all your shaders? Press a button and maxscript converts all my max materials to shaders, with all the shader values set to our correct defaults.

So where do you start?
The best thing to do is to pick a simple task and try to script it. I learned to script not by doing abstract examples, but by just grabbing the bull by the horns and trying to write something useful. But where can I START? The first step?

3DSMax has a tool called the Maxscript Listener, which records almost everything you do in max. This is usually my first step - I open the listener, then I perform the entire task manually. The listener records all the steps (usually, sometimes the listener has selective hearing), and I can simply copy and paste them to a new script document where I can then edit until I’m content.

It’s worth mentioning that not just 3d applications that can have their workflow improved by scripts - Photoshop is a good example of a 2d package that allows you to create actions to automate repetitive actions - such as resizing and sharpening an entire folder of textures.

Resources:
These are a few things I could think of to help you along the way.

  • The Maxscript help files that come with max are very, very good. I’ve gotten most of my help from these.
  • Search Google for ‘Learn Maxscript
  • Scriptspot has got thousands of 3DS Max scripts online - there is a good chance that you get something to suit your needs, or tear them apart to learn how they work.

Console to TV connection cables

The component input on our TV is mixing the colours up - I’d noticed this when I got my Xbox360, but since I was connecting it via VGA, I wasn’t that bothered. Then I realised that when I pick up a Wii, I’ll be connecting that via component, and since I’d paid £1000 for the TV, it bloody better work, so an Engineer was dispatched.

This is when I realised that the guy sent to fix my TV didn’t see the difference between a composite and a component connection. Then I remembered someone posing a similar question on an art forum. Could it really be that hard to understand? I explained it to the TV guy, then thought “Hmm, thats was easy, and might make a useful post…”

Lots of people will have consoles that aren’t displaying their games as well as they could be, so I’ve written this to try to help.

Firstly, the most simple thing I can do is just list te connections in order of quality

  1. RF/Coaxial
  2. Composite
  3. Svideo
  4. Component (on a Standard-Def TV)
  5. RGB Scart (Mainly European)
  6. Component (on a Hi-Def TV)
  7. VGA
  8. HDMI/DVI

The most simple thing you can do is look at your TV to see what connections it accepts, and then you connect your console using an appropriate cable. If you’ve simply read this far and done that, you’ve probably got the best connection you can get. If you want to know WHY some connections are better than others, then read on…

So why are some better than others? It’s really all down to compression, and a lot of that has it roots in television broadcasting.

Cables 01

A video signal contains quite a lot of information - you are sending 50 or so different images every second. These are made up of 3 signals: Red, Green and Blue. With connections like VGA, DVI and HDMI you are sending just that - the RGB signal (along with other information, such as sync rates and perhaps digital audio). HDMI and DVI are both digital signals, which gives you best quality picture you can have since the signal is pure and unaltered.

The VGA connection also sends an RGB signal, however it gets converted to an analogue signal, then back to digital, so you have already introduced a conversion, and therefore you can lose a little clarity.

However, this is a lot of information to transmit, especially over the airwaves (and these signals have their root in TV broadcasting), so over time various methods of compression were used to be able to broadcast them more effectively. The signals get compressed to a faster method for transmission, and then they get reassembled when they are received.

Cables 04

Component, which has a red, a green and a blue cable doesn’t actually carry a pure RGB signal, which is pretty misleading. The Green cable carries a black and white signal, and the Red and Blue cables carry a mix of the colour. The signal gets converted to this efficient format, is transmitted along the cable and then it gets reassembled at the other end. It looks very good, but not quite as good as a pure RGB signal.

Cables 06
Svideo takes the same approach, but goes one step further with the two colour signals - it combines then into one, leaving you with one colour signal and one black and white signal, which is yet another step down, but it is still better than composite…

Cables 05

Composite is the next step down in quality, because it combines all the video signal into one wire (usually yellow). The other two cables (Red and White) carry left and right audio. Yup, 2 cables for audio and one for the picture.

Cables 06-1

The worst of the lot is RF/Coaxial which hasn’t been on a console for years, would still find it is the default on your SNES or Megadrive. It takes all that video information, and all the audio and compresses it into one tiny cable. This is also the same system most televisions have used for years.

Cables 03
Finally RGB SCART, mainly used only in Europe. I left it to the end cos it throws a bit of a spanner in the works depending on your TV. SCART is type of connector that allows different signals to be sent across it - composite, svideo, RGB and stereo sound. So in theory it should be better than component since it transmits RGB, and it is on standard definition TVs, but not on Hi-Def.

How many polygons in a piece of string?

A typical question that has been around for as long as I can remember is “How many polygons should I be using in a character/vehicle/environment?” Another common one is “How big should my textures be?”

There is only one answer that I can think of - “It depends.”

The reason for that answer is that the question is too vague - it’s like the old question “How long is a piece of string?”.

It depends. It depends on myriad things, such as the visual style of the game, the type of game, the capabilities of the engine and the target hardware. Some consoles can push vast numbers of polygons, and others can’t.

For example, a character for a 3rd person shooter like Gears of War on the Xbox 360 where you usually have a dozen models on the screen at once, in a small compact area of map would have a totally different target for polygons and textures sizes than you would if you were creating a character for a GTA game for the PSP.

The PSP simply doesnt have the processing power of the 360 to push around large numbers of polygons and it doesn’t have the memory to store large textures. The style of game is different too - GoW has smaller enclosed environments, whilst GTA is much more open. Compare both of those games to Fight Night Round 3 (on the 360 or PS3) where effectively all you have are 2 boxers moving around a small boxing ring. With these restrictions on the focus you end up with incredibly detailed boxers with muscles, tendons and sweat.

Finally, compare everything to Mario Kart on the Nintendo DS - there aren’t that many textures and lots of use of shaded flat colours. The hardware is less powerful, and the art is stylised.

So for those reasons, it’s impossible to answer a question as vague as “How many polygons do I use?”, which isn’t exactly much use to you.

So how do you figure it out? For one, you play games and have a look. Look at what details are modelled, and which ones are textured. Have a look at screenshots to see if you can spot repeating textures (remembering that most screenshots are ‘tweaked’). Have a look at game art forums where people not only display their work but usually an overview of it - and on those forums don’t be afraid to ask questions about the art.

An important thing to remember is that the polycount and texture sizes will fluctuate continuously through the project (usually getting smaller). Sometimes the programmers will come up with new compression techniques to allow more textures in memory, and all too often you’ll have to shrink or reuse textures to get them to fit.

We can encourage questions like “How many polygons should I use for the lead character in 3rd person hack and slash gladiator game for the PSP where I have wide open arenas and normally 2 other fighters on screen at once?” - but I think the answer would still be “It depends.”