Advertisement

environment concept for isometric game

Started by October 21, 2023 02:07 PM
8 comments, last by Warp9 1 year ago

Hi,

I would like to learn how to create an isometric environment / map for a game. I understand the isometric concept, however I have issue when I have to draw the terrain (grass, river, etc...) or map borders (rocks, beach, etc...).

I would like to know if someone could help me with this topic, telling me the process or forwarding me to a forum or course where I could learn it.

thank you

My suggestion is to study existing games which have isometric environments. . . Observe and learn how they did things.

Some examples :

Underrail

Fallout 1 and 2

Advertisement

Warp9 said:

My suggestion is to study existing games which have isometric environments. . . Observe and learn how they did things.

How does that help? I'm guessing the OP has problems with depth sorting, so maybe have a look here.

m_waddams said:

Warp9 said:

My suggestion is to study existing games which have isometric environments. . . Observe and learn how they did things.

How does that help? I'm guessing the OP has problems with depth sorting, so maybe have a look here.

It's possible I misunderstood the question then.

alain.roger said:
I would like to learn how to create an isometric environment / map for a game. I understand the isometric concept, however I have issue when I have to draw the terrain (grass, river, etc...) or map borders (rocks, beach, etc...).

From the discussion above, it appears your question isn't entirely clear. Maybe you can elaborate a bit on what what exactly you like to know/learn?

Under the assumption it's about the order of drawing tiles, see below.

I grabbed a screenshot of openttd, and tried to somewhat mark the center of the tiles with a dot. I also drew horizontal lines through the dots.

It's not complete, but it should be clear that pixels of tiles that belong to some line can only be obscured by a line in front of it. Eg the higher building in the picture obscures the house and the road after it, but not the house and the road next to it.

So to draw this scene, you basically follow the lines, and you draw from back to front. That is, first draw everything at the back-most line, then everything at the line before it, then everything 2 lines before, and so on.

If you're paining on the GPU, you can use depth-sorting instead.

@Warp9 my issue is with the world design. If for example, I want to draw an island…should I draw island as 1 piece of art and add props (trees, rock, etc) on it ? Or should I draw the island as a complex set of tiles (border of island with sea, or mountain) and after add props on it ?

Let's take an example with Family island mobile game:

Is the island designed as 1 piece (beach,bridge, etc..) and flowers, trees grass are added as props / tile. Or are there some tiles : beach, water, bridge ?

Advertisement

alain.roger said:
Is the island designed as 1 piece (beach,bridge, etc..) and flowers, trees grass are added as props / tile. Or are there some tiles : beach, water, bridge ?

It's pretty safe to assume they use tiles. Interesting: I see some repetitive tiles along the shore, and they appear on the left and right side. They are rotated 90 degrees, so the lighting eventually adapts at runtime, or they baked multiple rotations per tile.

alain.roger said:
I want to draw an island…should I draw island as 1 piece of art and add props (trees, rock, etc) on it ? Or should I draw the island as a complex set of tiles (border of island with sea, or mountain) and after add props on it ?

Yeah, that's a really good question. We have seen both approaches. Both works, so it's up to you.

Some related arguments:
We may want tiles (or other forms of instancing), so we save storage and memory, but also so we can create environments quickly.
On the other hind we want to hide the tiling, which can be done with clever artwork or with clever ways to compose content from a given set of samples (tiles, textures, modular models, etc.).

alain.roger said:
my issue is with the world design. If for example, I want to draw an island…should I draw island as 1 piece of art and add props (trees, rock, etc) on it ? Or should I draw the island as a complex set of tiles (border of island with sea, or mountain) and after add props on it ?

You can do either, but there were technical reasons for the implementations back in the day.

The choices matched hardware of the era. From the late 1980s to the early 2000s quite a few graphics cards and game consoles included tile-based processing features for hardware graphics acceleration. A few bits also did flip and rotation, bits to flipX and flipY, bits to rotate by 0/90/180/270, and scale effects on some hardware. You can see signs of this in all manner of games. A thrown knife may be a single sprite with 4 rotation states as it flies. Walking sprites had tiles that were flipped on an axis. Many items in the world could use the same icons mirrored or flipped.

The rendering systems of the era would draw all the tiles in rows back to front, as described above, but the processing work was minimal. They'd have sprites loaded into video memory or referenced in the cartridge for game consoles that allowed direct referencing, and a small amount of memory indicating which sprite index, palette index, and flags were needed for each sprite.

A little later in the early 2000s up through the 2010's when graphics cards could accelerate a small number of 3D graphics, it was somewhat common to use layered depth images tiled into the scene. Artists would create 2D images for the scene and include a depth image as well. The scene or level could be composed of a set of fast 2D tiles/sprites that painted detailed environments and also wrote to the zbuffer, so a small number of 3D models could clip with them properly. Again, it was all about supporting the limited hardware. Under this model we had either a few large images for the overall scene that was broken down into hardware-preferred sizes, or a higher number of tiles to compose the world as a grid. Mixing them let us create visually rich (for the era) games that mixed 2D and 3D elements, like this.

A few UI libraries were built around the sprite model and used in games, like Flash, but even that's been gone for years.

Absolutely go for the visual effect if it's one that you like, but realize that the hardware model no longer has those same hardware acceleration systems built in. If you're not using a library that does the work for you, going for that type of design can take more work to emulate than the work required for today's 3D mesh point clouds.

@alain.roger :

Looking at your question : “Is the island designed as 1 piece (beach,bridge, etc..) and flowers, trees grass are added as props / tile. Or are there some tiles : beach, water, bridge ?

My most basic version of the answer is that you can do either one. It is a question of how big you want your tiles to be. And there are trade offs. . .

It might be easier to simply get artwork which is designed as one piece. Then you can just drop it into your scene.

If you have a whole bunch of little tiles, you'll have to place all of them, but that ultimately gives you more control. For example, if they are all separate parts, you can reuse the beach without the bridge. And, if you are going to have characters interact with that bridge, it might be easier if you know exactly where it is in the scene (which may be a bit harder if that bridge is a part of one big beach/water/bridge image ).

It is hard to make a final recommendation about this stuff, because I don't know your experience level. . .

If this is your first attempt at making a game, you might want to keep things simple. In that case, you might want have a smaller number of large tiles. And to relate back to your question, the island stuff would then be 1 piece.

However, ultimately, I think you'll be better off designing things with more tiles (meaning that beach, water, and bridge would all be separate things). And, if I were creating that scene, those would all be designed separately.

This topic is closed to new replies.

Advertisement