SamuKata
RadianHelix
RadianHelix

patreon


The Jump to 3D is coming along great!

Handling lighting and collision geometry, and sorting sprites in isometric 2D is an absolute nightmare. So three weeks ago we decided to make the shift from a pure 2D project over to a hybrid 3D system.

There are a couple ways you can do this.

#1 -- Just place the texture on a generic cube. It will fit MOST of your sprites at the sacrifice of having inaccurate lighting (perfect for most things where it doesn't matter, but not for situations where collision shapes really matter, such as something frequently shot with an arrow or bullet.)

#2 -- Make a "cage mesh" onto which the sprite is projected. This is for situations where lighting must absolutely be perfect, and your collision shape must also be perfect.

These rough cubes are working just fine for simple objects, for example.

These cliffs, though, need some extra love and attention, so I've been experimenting with multiple approaches to tackling the problem.

As you can imagine, it's not easy matching a mesh to a sprite.

The building system and its brushes are coming back online! The Roof requires a new rule brush however, and that was a challenge for Curtis to code last time. Luckily this system is much much simpler, and a fraction of the vram overhead due to just being 3 textures.

This has totally eliminated this very annoying sorting problem shown here, with two "not ideal" solutions:

Here you can see the sorting issues with these 2D isometric roofs. They're either sorting correctly with themselves, or not their neighbors. Or they're sorting correctly with their neighbors but not themselves.

While this has solved about a dozen critical problems, it has introduced one bummer.

We can't ignore sprites too close to a wall now. :p

So certain doodads, like tables and servers, will clip into the walls! That's because they must follow the grid, which wasn't an issue in 2D. But now that walls are on the inside of a Tilegrid, the Subgrid, where doodads and characters live, is missing the width of a wall to place things comfortably.

So either certain things can't be placed by walls, or we have to move them, or make special wall attached things...

We'll solve that later.

It's a much better single problem to have than the 6 problems this solution has solved.

Comments

Excited to hear!


More Creators