Smooth Iso or discrete tiles?

Started by
8 comments, last by JonnyQuest 21 years, 8 months ago
Hi, I'm not currently working on an Iso game right now after my 4E3 entry went belly-up. (large source code loss due to BSOD) However, after having created several isometric engines in the past I seem to be having the same difficulty over and over again: instantly making the user recognise what the terrain height map represents. My terrain always contains nice smooth hills and such, lit effectively, etc. but I still get people asking me what it's supposed to be. Nobody seems to have this problem with games like C&C. Don't tell me I should go 3D, it can't be the technology's fault, as many iso games have proven to be immensely popular. Now, the big difference between my engine and, for example, the C&C engines, is that in the C&C engines you immediately see the tiles when the altitude changes. In my engines so far, distinguishing tiles is practically impossible, and this was actually purposely implemented, to make it feel more realistic. Is that the problem? Or IS it possible to create smooth, recognisable terrain and I just suck? Is it perhaps worth switching over to flat shading, maybe also increasing tesselation at the same time so realism doesn't go down the drain? Does anyone have any ideas/hints/tips/experience on this subject? - JQ Full Speed Games. Period. [edited by - JonnyQuest on July 25, 2002 10:25:45 AM]
~phil
Advertisement
Maybe you should show us what it looks like so we can make an opinion of what''s right and wrong.
Yeah, I thought of that when I finished the post, but I'm at work at the moment, so I only have two crappy screenshots from early development stages of my engine. Be warned, the test unit in these shots "floats" above the terrain and the terrain types are, uh, a bit wacky.
The only significant difference between the images is the lighting.

One
Two

- JQ
Full Speed Games. Period.

[edited by - JonnyQuest on July 25, 2002 10:26:12 AM]
~phil
I think that your terrain looks good as it is, I can tell where the hills are with the shadow and highlight. I don''t see any problem with your terrain.
Damn, we developers probably have an eye for this. Everyone except developers I''ve showed it to (3 or 4 people) has asked what the heck it is.

JQ
~phil
The two diferent light sources may be a little confusing... The vehical appears lit from "Bottom-Right" where as the terrain is "Top-Right" lit.

A different lighting position (say Left or bottom left) maybe more useful to aiding the brain to see what it is...


NightWraith
NightWraith
I had difficulty in doing this too, and I''ve now managed to
get it working not too badly. Looking at your screenshots,
you seem to have the same problem as I was having. So, my
advice is: exaggerate. Make slopes more steep than they
should be, and/or exaggerate the lighting differences between
slope normals. That should help nicely.
Thanks for the input so far.

Nightwraith: I know, there used to be some bug in there that I eventually fixed. I don''t have the full source to that engine anymore, and I''m not working on anything iso at the moment (doing regular 3D right now, but hopefully will get back to iso soon) and I do understand it was confusing with the flawed light directions. However, I am only referring to terrain in this thread, objects on top of the terrain are something entirely different.

AP: yeah, I was already exaggerating the lighting in that engine by a factor of 1.8 or something, I should have maybe tweaked it some more. Increasing the slope won''t work well in all games though, as units can disappear behind hills if you make it too steep, which is Not A Good Thing, unless you can implement it into gameplay somehow. Maybe pretending to look down at a steeper angle (why pretending? this is 2D...) helps, too.

Discussing this however I did get a new idea - I should tesselate the terrain more next time. These are 32x16, more or less rectangular tiles (when they''re flat altitude-wise, they''re rectangles) I should try 16x8 or even 8x8. That way, lighting would be much "sharper", meaning a slope doesn''t necessarily have to start gradually. This should make it a bit clearer.
Performance wasn''t really an issue - this was written in VB6 (!) and I got 550 fps in 800x600x32, which is blindingly fast for VB, so on a regular project (with more time on my hands) I could probably easily pull off 4-8 times the poly count in C++ and still get absolute fluidity. (P4 1700 mobile with GeForce4 Go, which is about as fast as a good GeForce2)

Still: keep it coming, guys, you''re inspiring me

- JQ
~phil
I''ve had a similar problem, partially it looks to me like the different terrain types are too similar so that it''s not clear what''s a shadow and what''s another type of terrain. Try using a significantly different texture for the other terrains so the eye doesn''t get confused. Also the borders between terrains often help the user get used to shading on the slopes as the borders make it easier to see the slope, as do terrain types with more definite lines (stones or bricks) and more objects (trees) to show elevations changes.

It did take me a while to figure out what was going on in the images and I even have plenty of experience with these types of things. Finally the difference between the object lighting and the terrain lighting really does confuse the eye, it''s a non-trivial thing. I had some issues with this and testers really complained and got confuses by the terrain when they weren''t aligned correctly.

good luck,



mat williams
Lead Programmer, Designer
Zero Sum Software
www.zero-sum.com
mat williamsLead Programmer, DesignerZero Sum Softwarewww.zero-sum.com
> I got 550 fps in 800x600x32

Raaah .... I get 12 FPS in 640x480x16
(software only)
Though it''ll be probably about twice as much in release mode.

> P4 1700 mobile with GeForce4 Go

P2 350, no hw acceleration

I''m trying to resist the urge to go OpenGL, but it''s getting
harder and harder

FWIW, my tiles are 48x23, and the slopes are well visible
(though rather steep). I''m not sure that if you Gouraud shade
your tiles, as I do, you need more tessellation.

The remark about the texture was a good one too. If you have
the impression that the texture is stretched in Y, you get the
impression that the surface is facing you, if you have the
impression that it''s squashed, you get the impression you''re
looking at it at a low angle.
But for that, you need sharp detail, so maybe the filtering
done by the hardware is working against you in this case.
And, as I said, exagerate even more. I found that setting
lighting very dark or very light helped a lot. 1.8 might not
be sufficient. Experiment with lots of values, and pick the
best one (which might be slightly different for different
textures, too).

Hope this helps

This topic is closed to new replies.

Advertisement