Will Sprites Return?

I've been playing a lot of older games lately and especially three adventure games I have fond memories of. Dust: A tale of the wired west, Titanic Adventure out of time and Starship Titanic. These games were made between 1995 and 1998 and used sprite based engines. I've always loved these games, not just because I played them and enjoyed them, but because they were stunningly beautiful at the time of their conception. Since I started playing them again some time has passed hehe, they aren't as beautiful as they once were, especially the two first in my list, but they are still quite playable.

Will we ever see a comeback of sprite based games? Considering the power and rendering techniques we have today some pretty stunning games could probably be made and run on rather low end systems. Sprites are still used and too good effect (Far Cry f.ex.), so the "art" of sprites has gone forward too. The use would be limited since sprites don't look good when you change angles up or down (or is there a way around this nowadays?). High resolution animated sprites for characters and environments with a lot of interactivity would make for a rather interesting adventure game me thinks. So is there a chance for it's return on center stage?

I got to thinking about it after seeing some ZBrush renders of Salvador Dali and playing Starship Titanic. A normal computer would die from the load of just rendering the head, using sprites it'd just be an animated image. I could only imagine adventure games with static camera (no up or down movement) to use such a 2.5D sprite engine though.
 
Sprites could return.

For example, you could render (or raytrace, or raycast, etc) into a sprite cache and billboard the those sprites onto the screen.

One problem though, Z overlap.

From a hardware perspective, there is one missing element, that is a fast path for depth writes in the fragment shader. What would be needed is the ability to render a triangle which specifies front-most Z, and enable the fragment shader to write depth (but only increasing depth away from the front of the triangle). The key here is that HiZ (AMD) and Z-Cull (NV) would still work such that you could get a good course raster Z reject rate.

Current hardware assumes if shader writes depth that it cannot also use HiZ or Z-Cull. So compositing depth sprites doesn't go very fast for now...

Ironically this hardware might some day be here, because fast voxel rendering (with voxel sprites) and GPU raycasting (with raytraced sprites) also needs this fast "increasing only depth write" hardware path.
 
Sprites with additional normal map, depth map (for parallax or relief mapping), and material definition maps look pretty much identical compared to real 3d geometry, and interact correctly with changing lighting conditions (correct pixel perfect specular highlights and even shadows are possible). With parallax or relief mapping the usual flat sprite look is also gone (if you don't change the camera direction too much, as the sprite is still really a flat surface and cannot affect pixels outside the polygon area). You can also update sprites like these on real time, by rendering to a texture. Most developers call sprites like these impostors.
 
Those games he linked to are 1st person adventure games with prerendered backgrounds. There are still adventure games with prerendered backgrounds being released btw. I really liked the prerendered background work on the psx Final Fantasy games, they had animations. And in some sequences in FFVIII the background actually turned into a FMV as you were walking along it.

As for sprites as in these kinds of sprites(independent foreground images) I would definitely like to see them with today's tech. A problem with old sprite games is that the sprites were often of a lower resolution than the native res the game displayed at so there is blockiness. The only sprite games we get these days are fighters. Street Fighter II HD is a notable one but the animation from what I've seen is not fluid. Those 2D Capcom fighting games on the Sega Saturn and Dreamcast had wonderful 2D work although the problem is again that they're limited to the fighting genre.
 
Last edited by a moderator:
Very interesting, what you pointed out Sebbbi about sprites today being almost identical to real 3D geometry; sounds like a good thing for games with crowds, rendering the middle or back row of characters through a sprite could alleviate a severe performance hit. I remember "Trespasser" from 98 used sprites for all objects in the distance. The sprites would turn with you and update to a new angle every few seconds to mirror the stored 3d object. It looked weird when seeing a building turn before jumping and looking "normal" again as you walked around it only to pop into full 3D when you got close. I heard Crysis or Far Cry used a similar technique for vegetation only.

I guess one problem would be the rendering of sprite data. I am no expert, but as I understand it a sprite is basically a texture. Current hardware isn't geared towards huge textures but for a lot of smaller textures. Since a sprite today would have to be quite detailed and therefore large I could see a potential drawback. Are there ways of layering a sprite to make it look good and therefore use more conventional rasterization methods currently available to speed it up? Timothy, you seem knowledgeable on the subject. Sprites being used like this probably have technical drawbacks and pluses, I'd love to hear about it.

I am dreaming here but I kind of see an all sprite game engine of 2.5D nature that you can explore free of hotspots for walking. Sprites could be used for all characters and high quality 3D geometry could be used for things that are impractical to make into sprites.

P.S. vazel, I also loved that effect in FF too hehe.
 
Ah, trespasser.

Now THAT was a story...

To make things short, trespasser was designed with the Talisman concept in mind. It was turbocharged tile-based rendering. (including reusing tiles from the last from, including 3 point motion compensating).

To bad the 3d revolution happened while it was in development, making it look crappy. So they spend even more time to get it run with GPUs, too. Making it more dated.

And they never got the physics engine to work reliable and had to throw away most of the work/features.
 
Timothy, you seem knowledgeable on the subject. Sprites being used like this probably have technical drawbacks and pluses, I'd love to hear about it.

You can mipmap sprites like any other texture, so you could either stream in pre-computed sprites (or mega texture sprites) or render them on the fly (like the Talisman concept). One technical challenge for on the fly rendering of sprites/imposters is that you cannot render to compressed + swizzled textures easily (I hear this is changing and/or possible for DX10/11?), without that performance wouldn't be ideal.

Plus there is the ability to raytrace or raycast into an imposter texture.

Again, NVidia hardware needs the ability to both write depth (when depth > triangle) and still allow early z cull to work. I don't know if this is possible on 8/9 or GT2xx cards (perhaps they changed it). From my understanding it isn't possible on 6/7 series cards.

Once this happens, all sorts of really cool stuff will be possible.
 
Back
Top