Archive for April, 2008

Subtext

Gamasutra has an article on subtext in games which is one of the first times I’ve seen this topic discussed publicly. Subtext is word that has been traditionally applied to dialogue exchanges

Dialogue with no subtext:

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.

Add comment April 29th, 2008

Quirky game advertising

Better than featuring half-naked women that have nothing to do with gameplay:

Add comment April 29th, 2008

“Revolutions” in texture mapping

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):

Tools since the late 90s have become increasingly more sophisticated. We have pelters (as introduced by “Seamless Texture Mapping of Subdivision Surfaces by Model Pelting and Texture Blending” and the Matrix FX developers) and Least Square Conformal Maps. The two big UV layout tools are UVlayout and Unwrap3D which work in conjunction with 3D paint tools like Mudbox, Zbrush, and Deep Paint 3D.

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:

  1. 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.
  2. 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.
  3. Automatically works on different level of details. Because our UVW parameterization is automated, we can change the 3D model (making it lower or higher resolution) and use the same polycube map (texture and polycube) with minimal visual difference. This feature is called geometric independence and is something available to procedural texturing methods, but not UV-based texturing.

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.

1 comment April 27th, 2008

Spider-Man 3 (X360) vs. Bee Movie (X360) a comparison…

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:

  1. 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.
  2. 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.

Add comment April 26th, 2008

Untold Entertainment nicely summarizes “user-created game development”

(an old post-GDC blog post that got lost in the madness)

Everybody from The Sims to XNA is jumping on bandwagon and letting garage indie developers publish games left and right.

The Democratization of Game Development

To add to that, we now have MORE portals for higher-end PC games that did not exist a few months ago:

  • InstantAction
  • GameTap Indie
  • Wild Tangent ORB
  • Steam

Add comment April 22nd, 2008

Game developers have nothing to complain about…

because the visual effects (VFX) business causes more divorces, has longer hours, and more unscrupulous bosses than the game industry. Competition at its finest!

Add comment April 22nd, 2008

Spectator mode in modern games…

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.

How about? (all live - using networked 3D games)

  • So You Think You Can Dance?
  • Jeopardy
  • Family Feud
  • NHL shootout knockout
  • WWE Royal Rumble Cagematch
  • UFC winner takes all

Add comment April 22nd, 2008

More tech and research…

BULLET 2.68 has been released with soft body support! The demos are amazing and it looks very simple to use (a quick call to create the soft body mesh with some extra parameters).

Glift - an abstraction and generic template library for defining complex random-access graphics processor (GPU) data structures. After reading about Sparse Virtual Textures, I wondered if there was a generic set of functions that could be created virtualize GPU/texture memory to allow for similar algorithms. Well, Glift is just that! Normally, GPU shader programs are limited to 1D/2D/3D/4D texture access or float arrays which have to be hand bundled together into more complex data structures (rarely does anybody do this).

And performance-wise it’s not that bad.

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.

Add comment April 22nd, 2008

Another 3D engine for the iPhone

with BULLET(physics) support:

Add comment April 22nd, 2008

Government funding options in Canada

Warren Currell spoke at Game Developer’s Association of Australia about “Government Support and Funding for Interactive Entertainment in Canada”

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.

GamePlan
Alliance Numerique
Invest quebec
Ontario Media Development Corporation
Interactive Ontario

Add comment April 11th, 2008

Previous Posts


Calendar

April 2008
S M T W T F S
« Mar   May »
 12345
6789101112
13141516171819
20212223242526
27282930  

Posts by Month

Posts by Category