• FEATURED

View more

View more

Image of the Day Submit

IOTD | Top Screenshots

how can I archieve this?

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

10 replies to this topic

#1germangb  Members

Posted 13 February 2013 - 12:03 PM

people in the GTA Chinatown Wars game look like 2d sprites but they are 3d models, here are some screenshots of the game:

I believe this kind of models can be archieved by defining the models with 3d points intead of polygons, and then render a tiny square for each point in the 3d scene.

Any ideas?

#2LouisCastricato  Members

Posted 13 February 2013 - 12:47 PM

At most, its a variant of rim lighting, but considering how outdated the graphics look, I doubt that's what they were using (All though, this may give quite nice results)

More than likely, its probably just prebaked into the textures (could be a specularity map) during art design, nothing fancy. Alternatively, if you like that effect, but don't want have to make the textures, you could use a toon shader.

Microsoft (XNA) has very nice examples of the methods I described above

Also, if you REALLY want it to look pixelated, just make your mesh, and look for an example of how to generate voxels from a triangular mesh. If you really wanna get fancy, you could also program your application to remap the textures of the original model to the voxels

Edited by LouisCastricato, 13 February 2013 - 12:50 PM.

#3C0lumbo  Members

Posted 13 February 2013 - 12:56 PM

Maybe they render their models to a low-res texture, then render that texture as a 2D quad. They could get the single pixel black outline by rendering the quad black with an offset or scale, then rendering the colour version on top.

#4Hodgman  Moderators

Posted 13 February 2013 - 07:21 PM

Maybe they render their models to a low-res texture, then render that texture as a 2D quad. They could get the single pixel black outline by rendering the quad black with an offset or scale, then rendering the colour version on top.

If you want to look this up, it's often called the "impostor" technique.

It's often used so that you can draw a huge crowd of (billboard) characters while only actually rendering one 3D model, or so that you can draw many (billboard) characters, but not have to actually render all of their 3D models every frame (caching the impostor textures).

#5L. Spiro  Members

Posted 14 February 2013 - 12:01 AM

The effect shown in those screenshots is nothing more than 2D sprites in a 3D scene.  2 triangles for each character and an animated 2D image.

They are just sprites, drawn with an overhead look, and placed over the road with a 3D transform instead of an orthogonal 2D transform.

Update: After watching a YouTube video of the iOS version, I can confirm that that is all they are doing.

L. Spiro

Edited by L. Spiro, 14 February 2013 - 12:06 AM.

#6Norman Barrows  Members

Posted 14 February 2013 - 08:34 AM

The effect shown in those screenshots is nothing more than 2D sprites in a 3D scene.  2 triangles for each character and an animated 2D image.

They are just sprites, drawn with an overhead look, and placed over the road with a 3D transform instead of an orthogonal 2D transform.

Update: After watching a YouTube video of the iOS version, I can confirm that that is all they are doing.

L. Spiro

yeah, by the time i got down to your post i'd pretty much come to that same conclusion.

so, why do you think they did it that way?  for the look (retro gameboyish) ?     not enough power to render a model ?   they must have done it for the look.  if they did sprites due to lack of processing power, surely they could have made better looking sprites.  the "look" definitely says "GTA" to me.

that's what it looked like to me too,

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

#7Krypt0n  Members

Posted 14 February 2013 - 08:46 AM

looks to me like they render normal polygon characters and as a post process, create black borders around those character areas. if you look at e.g. http://www.el33tonline.com/images/cache/8240.jpg

you see the characters intersect properly with the waterplane (check the char on left most), yet there is a black outline, in motion it also looks fluid like MD2 animated meshes, very smooth, viewed from several angels without popping like prerendering would do, without false intersections like sprites would do. I'm quite convinced it's polys+edge detection..

#8L. Spiro  Members

Posted 14 February 2013 - 11:03 AM

looks to me like they render normal polygon characters and as a post process, create black borders around those character areas. if you look at e.g. http://www.el33tonline.com/images/cache/8240.jpg
you see the characters intersect properly with the waterplane (check the char on left most), yet there is a black outline, in motion it also looks fluid like MD2 animated meshes, very smooth, viewed from several angels without popping like prerendering would do, without false intersections like sprites would do. I'm quite convinced it's polys+edge detection..

The character on the far-left is probably just drawn to be sinking into the water. Another animation.
The way they walk is not as smooth as you think. You can clearly see the frames of 2D animations on clear videos, and they never change perspective whether they are high on the screen or low. You never see any other angle than that which has been drawn onto the 2D sprite. All there is is warping due to the different perspectives, but it still shows the same character from the same angle.

After that, the outline is blocky and oriented with the sprite.
If it was blocky but oriented with the screen, it would be a low-resolution post-processing effect. Since it is oriented with the sprite (see images in first post), it is drawn into the sprite, and the sprite itself is low-resolution. You can even see this in your screenshot on the middle red guy drowning. If you scale the image up for a closer look, his outline is blurry because it has been rotated with the sprite. The others’ are very sharp because the sprites are aligned mostly with the screen.

The original data was likely 3D models with effects to draw outlines around them and an either artistic touch to make them look flat or they just used flat shaders.
Those were then pre-rendered onto sprites for the final game. This is why the objects look 3D and why they move smoothly. Since the sprites were generated from 3D objects, it is hard to tell the difference, and the animations are smooth, but they are still jerky if you look closely enough.

It is basically Donkey Kong Country but with an outline for style and from overhead. That’s all.

yeah, by the time i got down to your post i'd pretty much come to that same conclusion.

so, why do you think they did it that way?  for the look (retro gameboyish) ?     not enough power to render a model ? they must have done it for the look.

Same reason we did something similar for Valkyrie Profile: Covenant of the Plume.
The first goal was the style, which requires an outline.
Rendering that many 3D models and then adding the outline (or rendering 3D models with the outline already added by doubling the vertices and reversing the winding and extruding them) is too much work for Nintendo 3DS and especially low-end iOS devices. If they could do it on every device the game supports, they would have.
Due to the style they want to achieve, it became too complex, so they pre-rendered it.

L. Spiro

#9CC Ricers  Members

Posted 14 February 2013 - 12:28 PM

Jeanne D'Arc for the PSP uses fully rendered models with outlines. I would see up to about a dozen characters with idle animations drawn in this manner.  Drawing the outlines they probably used one render to a sprite, tinted it black and then drawing that sprite offset several times to get the outlined look.

Perhaps some more optimization may have been done in this game with caching the idle animations as sprites, because unlike GTA, in gameplay, typically only one character moved and attacked at a time.

Edited by CC Ricers, 14 February 2013 - 12:29 PM.

New game in progress: Project SeedWorld

My development blog: Electronic Meteor

#10MrDaaark  Members

Posted 14 February 2013 - 12:40 PM

Chinatown Wars was originally Nintendo DS game. The DS has a set limit of 2048 triangles per frame.

So if you want to make an open world GTA game on DS hardware, it means you place the camera above to control exactly how much of the world you can see, use most of your polygon budget on the cars, and then use billboard characters with 2 triangles each.

The DS also has fully 3D RPGs, but every character has 3 sided limbs in most cases.

Nintendo DS models are like a crash course in polygon reduction and silhouette preservation!

#11Norman Barrows  Members

Posted 17 February 2013 - 05:04 PM

(or rendering 3D models with the outline already added by doubling the vertices and reversing the winding and extruding them

ugh! god! the things people will do to get an effect!

well, i guess if you gotta have it, and its the only way...

come to think of it i do recall pre-rendering 144 views of a space fighter for a title i did once. i wrote a utility that edited a scene fie and append a rotation, then called POVRAY. took POVray about 36 hours on a 386 to render all 144 views of one ship.

sometimes you gotta break a few eggs...

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.