12
\$\begingroup\$

I have experience in making 2D side scroller games such as Terraria, but now I want to challenge myself and make a game that has a 2.5D perspective. The game I am trying to mimic is Don't Starve. Right now my focus is on figuring out how to render the ground. I am having a hard time figuring out how they generated the ground, and then rendered it. The way I think they rendered the ground is by first painting the ground in some paint program, and then somehow manipulating that flat image so that it appears to have depth.

I am completely confused by how you would actually render that type of terrain. I want the terrain to have the following features:

Any tips and hints will be appreciated, Thank you in advance.

(I am working in Java, using the Light Weight Java Game Library (LWJGL).)

\$\endgroup\$
1
  • \$\begingroup\$ What is the benefit of this technique over regular isometric? \$\endgroup\$
    – pete
    Commented May 22, 2023 at 6:54

2 Answers 2

37
\$\begingroup\$

I'm actually one of the Don't Starve devs (Kevin on our forums). I don't usually handle the rendering stuff, but I can tell you that the game is in 3D. The ground is just a regular 2D tile map with special transition pieces to make corners look better. There's no special Deathspank-style rounding going on, although we have talked about doing that in the past.

There are two types of game entities - upright and ground. The upright entities are kindof halfways billboarded to the camera, although not fully because with the camera angle this made them look like they were laying down. The ground stuff is just plain drawn on the ground.

The look that this gives works for a somewhat small range of camera angles. If you go too high, the upright stuff gets all weirdly foreshortened. Going really low works a bit better, but it's too hard to play the game because you can't see behind things or anything 'south' of your character. Finding the right trade-off between these two extremes took a bunch of experimentation.

Anyway, if you have any other questions about the tech behind the game, we're pretty friendly and forthcoming about such things over at the klei forums :)

\$\endgroup\$
2
3
\$\begingroup\$

I can't say for sure how that one game did it, but from the video it looks like it's just a regular 3D game world that uses billboarded sprites for game objects. Similar games include some of the Paper Mario games and the Death Spank series.

Render your terrain as 3D with a perspective camera. Maybe apply some simple vertex shader to get a little extra "roundness" (Death Spank did this to great effect, and it looks like Don't Starve might have a very subdued version of the same effect; hard to tell).

For your game objects, create sprites, and render them to always be camera-facing (called "billboarding"). There are many tutorials on how to achieve billboarding online, e.g. http://www.lighthouse3d.com/opengl/billboarding/

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .