I'm trying to write a sprite-based 2D game using Java 1.4 and I was wondering if you guys have any ideas on how to make 3D looking terrain (with hills, valleys, ect...) in a 2D world. I'm really looking for a programatical solution though. i.e - I dont want to have a giant bitmap with meta data to represent the terrain.

Do you mean like C&C Tiberian Sun, where they had faked 3D terrain by having shaded tiles that looked kind of sloped, and by moving the unit 'up' the slope in addition to they way they were moving already (if you catch my drift). If so then I have no idea how to do it, maybe someone else will

The first one Snak... I don't want to have to draw out a map by hand, and load a giant picture with metadata associated with it for the height. However, the storage of terrain details at runtime should be quite acceptable. Also, the engine will be in the Isometric view point, mainly to help with the illusion of 3D buildings, people and other objects.

Yes Stustill, I'm going for a similar effect as the C&C terrain, but closer to the ground than the bird's eye view of C&C.