Friday, July 11, 2008

Hollywood and video games

As much as Hollywood enthusiasm and willingness to work in creating an engaging video game title helps, it can also get in the way. All the resources working on an interactive project should have a basic knowledge of the game development process which is so different from film making. Knowledge of timing constraints associated with development can help to ensure that meetings are scheduled and approvals are received when needed. It can be frustrating to reach alphas and betas only to receive a list of proposed changes from an approval request originally sent two months ago.

Its also helpful if the talent understands not only basic game play but also the potential limits when it comes to game design. If an award winning writer does not understand the basic content required for a game story line and dialogue, he might end up writing an amazing script that features little that relates to the title's gameplay or the addition of new and exciting game characters with fantastical physical technology that exceeds the limit of the game engine. The issues that arise from working with some of the most creative minds in entertainment can be resolved but it takes time and unfortunately time is a developer's most valuable commodity.

So this influx of talent from the entertainment industry is inevitable and the addition of some of the most creative writers, directors, animators and artists can do nothing but help the game industry move forward in its quest to create memorable interactive experiences.
From a developers point of view, when working on licensed IP, I've learnt the following lessons.
Take the time to meet with creators at the beginning of the development process to present the team, procedure, project management processes and goals. Most people are willing to resolve the issues that arise when merging one medium into another because noone really wants a bad game, much less a bad game that does not sell well.

Thursday, July 10, 2008

Video game industry

The Video game industry is currently the darling of the entertainment industry. Just pick up any Hollywood trade magazine and there will be an abundance of stories testifying that interactive entertainment is the place to be. Everyone from directors, writers to actors want to at least have a toe in the business and where they want to go their agents will lead them.

This sounds fantastic. But with access to all this talent, how do you think it could fail? Well... there are plenty of potential difficulties yet there are certain advantages that result from the influx of talent and access to Hollywood resources that the gaming industry is making games like King Kong and James Bond.

Simply put, the focus and attention being given to games based on movies is good for the video game business. Publishers and development teams are being allowed unprecedented access to talent and are allowed to run with the ball and create standalone experiences that extend the original IP and the result is better entertainment for the masses. There are usually a lot of brainstorming meetings scheduled during the beginning of game development. Writers, artists, directors, and animators sit down with produces, designers and programmers to share ideas and agree on the general direction of the game and everyone is given much more freedom.

I have been in many such meetings. From the Tech lead programmer perspective, I give rough estimates and resource promises to meet their budget requirements. The room is filled with creative talent. The collaboration will likely get to the point where the game designer or the film director will become so excited by the creative opportunities that they will seem to speak in a secret language.

More later.... hold on tight.

Wednesday, July 09, 2008

Cloth animation

Cloth animation
One of the biggest challenges in computer animation has been to simulate how clothing bunches up and then relaxes again, as when a character's elbow bends or arm moves across the front of the body. The problem with conventional cloth simulation techniques is that during such motions, fabric becomes sandwiched in areas where it intersects with the body and itself and it gets pulled stretched and tangled. As a result, it can flutter, wiggle and appear jagged. And then, when the body parts separate, it can remain pinched and tangled instead of falling loosely and naturally back to its original shape.

To avoid these problems, David Baraff, Andrew witkin and michael kass of Pixar (owned by Disney), have devised two cloth simulation and collision algorithms described in Siggraph in a paper called "Untangling cloth". The first is called collision flypapering, which eliminates nearly all visible artifacts in regions of body intersection by carefully controlling the motion of any trapped or pinched cloth points. The accompanying figure shows how the fly-papering algorithm produces realistic cloth simulations when clothing would otherwise get pinched from typical body motions of a CG charater.

The researches also have developed a cloth-to-cloth collision algorithm that peforms a global intersection analysis of the intersecting cloth meshes. It instantaneously charaterizes the current intersection state of the fabric in order to guide the cloth back to an untangled state where the intersections occur.

Sunday, July 06, 2008

Job Nature in CG

Animation Director:
This position is responsible for supervising a team of animators and for developing the behavior of all the digital characters in a production project. For larger, character based feature films like Casper, Star wars I, the most senior Animation directors might be placed at the same level as the Visual Effects Supervisor. In this case, he/she might report as much to the Director as to the Visual effects supervisor.

Compositor:
A compositor combines many different rendered and scanned raster elements into a finished image or show. These elements often include a background image or live-action plate, rendered CGI elements, rotoscope mattes, and other digital matte paintings. The compositor must integrate all these together by balancing color and black levels, and by adding subtle amount of nuances such as flash and grain. The ultimate goal is to make the composited elements appear to have been captures as a whole. After all, its all 2D in the end. Excelling at this job requires a thorough understanding of color, light and film.

Computer graphics sequence supervisor:
This position has thorough knowledge of the tools in use on the production, excellent organizational skills and a great aesthetic sense. He/she works between the Technical director (responsible for individual shots) and the CG supervisor.

Technical director:
Mu favorite position in the entire graphics industry. Responsible for the direction of the technical aspects of an effect shot, although the term might mean different things in different companies. The job is to assemble the many different elements from Modelers, animators, painters, matchmovers, rotoartists, to create a finished shot to the Director's satisfaction. Sometimes, this job also requires to do compositing and effects animating.

Saturday, July 05, 2008

Jobs in Computer graphics field

Software Developer:
Being a software engineer myself, I can't resist listing this first. A software developer is one that develops software...duh... who writes code and custom tools that the production team uses. Programmers should work with CG supervisors to determine just how far off-the-shelf software can take the project and what needs to be written from scratch in-house. During development, the software developer works with the Technical Directors who use the early versions of the software and help the designer refine the tools to include the best features and interface. Although most often not considered "in production", a software developer is very much part of the team effort that gets a show done in time. A software developer might report to a CG supervisor on a large show or to management as part of a facility's more general overall scope of operation.

This job requires knowledge on programming languages like C, C++ or Java and scripting languages like javascript, perl, python working on operating systems like UNIX, Max or Windows. R&D team members generally have a PH.D. degree in Computer science specializing in one of modeling, rendering or animation areas.

Thursday, July 03, 2008

Computer graphics Vs. Traditional methods

As with any artistic endeavor, the final result is only as good as the skills of the people creating it; the tools are always secondary to the talent. Practical models have a distinct advantage in their interaction with light on a set or outdoor environment. Our eyes are accustomed to viewing images captured in a real space through a lens and onto film. The many subtle nuances of this seemingly simple and commonplace technique are very time consuming and are difficult to duplicate in an all-digital environment.

Creating a completely realistic all-digital reality occasionally is done so well that it goes unnoticed altogether. Most times, the whole point of a visual effect is to blend seemlessly into the context of a film and not stand out at all. Mission impossible is a movie that is an excellent example which had several such sequences. One of the scenes depicted a helicopter entering a tunnel entrance. No sets or models were used at all, but you never know it.

One of the biggest advantages of computer graphics is being able to do a job when it cannot be done any other way. In the movie, Small soldiers, ILM created more than 300 shots with many hundreds of interacting commandos and Gorgonite action figures, all completely digital and integrated perfectly with the live action sets. Achieving that volume of photorealistic animation on a very strict production timetable would not have been possible with any practical techniques. The animators even had to match with the few live action puppet closeup shots.

Wednesday, July 02, 2008

Visual effects

Computer graphics is extensively used to create visual effects in Hollywood movies and video games. Pixar, Dreamworks, ILM, Digital domain are some well known companies in this area. Traditional models and miniatures are still very much a part of the visual effects used today. In many ways, more miniature work is being done lately because of the resurgence of big effects pictures. This was brought on by the advances of the newer digital technologies.

The largest single difference between any traditional effect and CG is based on the nature of the medium. Models naturally have physical limitations, both in how they are constructed and how they are captured on video. It is important to note that most CG models are created from some traditional reference sculpture made out of clay. The clay model is scanned by a microscribe digitizer that generates millions of 3D points depending on the sampling density used. There are sophisticated software available to convert the 3D points into a digital model. The process of constructing a digital model from a cloud of points is called surface reconstruction. They can either fit a polygonal mesh over the point cloud or a NURBS surface model. Geomagic, Paraform (now out of business) are very expensive $20K software that specializes in surface reconstruction tools. CG is limited only by the designer's imagination.

A combination of both should be used to take full advantage of both techniques. For example, I know ILM used the combination technique in transforming the black sedan sequence in the movie Men in Black. The metallic quality of the car itself and the very intricately animated surface structure and jet exhaust are all well done in CG. The tunnel through which the car travels is a miniature set that needed to be realized with thousands of cars.

Tuesday, July 01, 2008

Rendering in computer graphics

Rendering phase is where geometric models, light effects and mathematically defined animation paths are turned into realities. Trust me it is extremely difficult to create computer graphics images that look realistic.

I am going to list the major milestones in computer graphics rendering below.
1. Wireframe rendering: The simple vector graphics represention of polylines or any surface geometry.
2. Hidden line rendering: Shows only portions of the surface that face you directly.
3. Surface Shading: Flat shading of one color per polygon. No interpolation at all.
4. Gouraud Rendering: Interpolates each pixel value from each vertex illumination value.
5. Phong shading: Uses the surface normal information when interpolating the vertext values.
6. Ray tracing: Advanced lighting techniques and reflection, refraction and specular, diffuse, emission, ambient kinda values are taken into consideration.
7. Radiosity: A good compliment to ray tracing technique. It calculates lighting based on global illumination techniques as well.

Bump mapping, displacement mapping and texture mapping add rendering details to existing geomety. It is the technique of creating surface detail through surface normal perturbation. The shader function is defined by 8-bit data. It only perturbs surface normals and does not directly affect underlying geometry. Displacement mapping does afffect the underlying geometry.

Autodesk's product Maya has excellent rendering tools. They have thousands of different shaders that can be defined using various parameters.

Animation in Computer graphics

Animation is giving life to digital models. It means changing something over time whether a model's position or just a color value in a rendering style. There are two techniques usually employed in computer graphics.
1. Procedural animation
2. Keyframe animation

Procedural animation is generating motion through mathematical or rules based languages. Twister, Star wars, Armageddon are some movies that used complex rules to degine the movement of particles in animation. These rules can be based on accurate physical principles or they can be faked to skew towards a particular desired effect. After these rules are started, simulation runs its course creating its own effects designed by the artists. This technique sometimes results in different outcome than what was expected. This requires changing the rules and running the simulation again. This is time consuming, but executed properly, procedural animation can bring some complex animation to life which cannot be achieved by any other means.

In traditional keyframe animation, specific values are set for a given attribute that has to moved and the computer generates interpolating curves that join successive keyframes. At any point along the curve between these keys, the computer evaluates the curve to resolve to a value. Most often, the whole number frames are used to generate the beauty pass of the image. The intermediate frames are used to create the motion blur.

These two methods fundamentally differ from other animation techniques such as stop-motion or cel animation which requires the animators to draw every single successive frame one at a time from start to end.

That is my ramblings for today. More later...