Cowboy: I’m so angry, I could kill you!
Indian: Me want to kill you too!
Dialogue with subtext:
Cowboy: I reckon you should take back this tobacco. It’s no good.
Indian: White man no good.
Cowboy: (Takes out his guy and shoots it in the air) Are you calling me a liar?
Indian: No. You a bullet waster.
Cowboy: And what if I am? What are you going to do about it?
Indian: (beat)
Cowboy: I reckon you oughta give me a refund, doncha think?
Indian: (pulls out some bloody scalps). Two for one. Fresh. Like yours.
Okay, that wasn’t a great example
Subtext is important because humans have become very sophisticated consumers of media. Literal art is boring. Good vs. evil. Red vs. Blue. We need depth which subtext, subliminal messages, satire, irony, innuendo, hyperbole, whatever you want to label it, etc. all provide.
Subtext is well understood in writing / storytelling, especially in film where it thrives because conflict in film needs to be externalized (seen, heard, shown) which lacks the subtlety of interior monologue/thought thus subtle conflict is create through subtext.
The process of texturing/shading a 3D model always begins with UV mapping and for the past 20 years the 3D industry has used traditional UV mapping techniques which relies on cutting up a 3D model and laying the pieces of it onto a 2D grid (the texture):
UV mapping is horribly complex and labor intensive. It’s a highly specialized skill that an “artist” needs to learn over a few months.
The main problems are:
1) Seams which are highly noticeable in areas where two parts are joined together (shoulder, hips, neck, etc.)
2) Texture distortion/stretching. This is a subtle problem that is due to improper UV mapping – too few texture pixels (texels) are mapped to a large or uneven area of a 3D model.
This female model almost has no distortion except near the breast area… it is almost perfectly UV mapped as the “texel to pixel ratio” is pretty consistent.
In the last 5 years, computer graphics researchers have been discovering new methods of texturing. The best one I’ve found requires throwing out all previous UV mapping tools and relying on 3D paint programs solely. The algorithm is called PolyCube maps published first in SIGGRAPH 2004.
I discovered it via reading some geometry-based texture papers as physics and new rendering techniques are using textures to represent geometry. Cube maps are traditionally used to represent environments via a 6-sided textured cube:
The idea behind Polycube maps kicks ass… instead of trying to splat arbitrary polygonal geometry into a 2D plane (aka UV mapping) you build a polycube representation of the model that becomes a “cube map hull.” This cube map hull is where the texture lies on – much like in traditional cube mapping. Each vertex in the 3D model contains a UVW co-ordinate that refers to a point on this cube map hull. Unlike cube mapping, this UVW co-ordinate is not the surface normal and is something generated by the Polycube map algorithm.
The entire process is automated after the polycube map and model are fed into the system. Screw pelting and hand moving UVs around in Maya, UVlayout, etc.. The only work required by the artist is creating the polycubes and running some optimizations to reduce texture distortion. The end benefits over UV mapping are:
No seams / seamless. Since we are no longer making surface cuts and the process of UVW layout is automated there are no seams as the entire surface is continuous.
Texture distortion is minimal. Since we are no longer relying on humans to manually layout UVs using projection, pelting, etc. we can algorithmically force uniform texel coverage.
The negative is that all previous 3D renderers have to be changed to NOT use traditional UV mapping and instead use UVW mapping which requires pixel-based sampling operations similar to how current cube mapping works.
Currently, there is no public implementation to generate the polycube map data (only samples), but there is a fragment shader available. Sadly it is for assembly language based OpenGL which is rarely used and not the easiest to understand compared to modern shading languages like Cg and HLSL.
I’ll be the first to admit I don’t play enough games as a game developer, but I do try to play all the game demos and games related to my current project.
I had the pleasure and displeasure to play Bee Movie + Spider-Man 3 – two licensed games with polar results. Usually licensed games are crap, which Spider-Man 3 definitely is. Swinging through the city is enjoyable, but all the missions are about repetitive button mashing and pressing the button shown on the screen. Kill me now. Even the swinging became repetitive in the “take Mary Jane for a tour of NYC” missions…
Bee Movie uses a similar “press the button when shown” game mechanic but uses animation + humour to expand it. Bee Movie also includes fun diversions like mini-games.
How could two licensed games with similar game mechanics and both featuring a open city end up with such different results? The two critical flaws in Spider-Man are:
Lack of gameplay flow. The missions are disconnected messes that could be played in any order. All the dialogue and story makes zero difference other to annoy the player.
While the God-of-War mechanics are fine, they are used in the game with zero emotional impact. In God of War and Bee Movie, pressing the button or moving the joystick as shown provides the player with a neat after effect… in GoW it was a “cool” effect and in Bee Movie… a giggle. In Spider-Man 3, I felt the tone was mechanical. The game required me to press dozen of buttons while the pre-mission cut-scenes telepath-ed the final results (i.e bomb would be de-activated if I completed the tasks). At no time, did pressing the buttons evoke a “wow” except for the odd unexpected explosion.
Blame must be laid on the Spider-Man 3’s game designer, who did not integrate the elements cohesively together. Instead, the game merely cloned the game mechanics of God of War and assumed similar “fun” results.
because the visual effects (VFX) business causes more divorces, has longer hours, and more unscrupulous bosses than the game industry. Competition at its finest!
I’ve been thinking about this for a while. We all watch sports, but why not watch computer games? I doubt there is much of a market for watching Half-Life or Halo, but maybe a future version of Rock Band or SingStar?
I’m not the only one who wants this, as at GDC many presentations casually mentioned it. I think it’s has a brighter future than hardcore games, but right now the current crop of games aren’t worth watching (no social aspect). Microsoft is pimping PGR 3 as a game to watch. No thanks.
Advanced shadow techniques – while shadow volumes + shadow maps are the most common techniques they are also the most problematic.
In general, shadow maps are the most flexible of them all because there is no need to create a degenerate shadow volume for extrusion. However, they are noisy due to the lack of shadow map resolution and numerical imprecision in post-projection space.
After reading the up to date literature on shadowing algorithms, I believe strongly in two methods: Adaptive Shadow Maps that increases the resolution on the shadow map in areas where it is necessary but requires a tree-like data structure that makes it hardware-unfriendly until Glift came along…
and the other is custom rendering techniques that enable “shadowing” like Pre-computed Radiance Transfer, Irradiance Volumes or Alex Evan’s Signed Distance Functions. If a game has specific limitations (i.e. mainly indoors), then the graphics system should leverage this.
The slides provide a fantastic overview of tax credits and subsidies available in each province and asks some difficult questions regarding how to grow the industry via government assistance.