Perspective occlusion in top down 3D games

Started by
1 comment, last by Vilem Otte 1 year, 11 months ago

Hi.

I have a rather difficult problem to deal with in the game I’m working on. The game is 3D and has a top-down perspective camera(RTS/MOBA style). Each player controls a single hero unit and participates in intensive real time combat.

The problem is that when designing the environment i used some buildings/rock formations which are significantly larger than the player models. This means that if a player walks behind one of these large objects they are completely invisible which gives an obvious and unfair advantage to the player ”hiding” behind structures. If the game was singlepalyer or cooperative I could get away with fading away the model when the player walked behind it. But since it’s a competitive PvP game the hiding enemy would still have the advantage. I could write some code to check if an enemy on the screen is hiding behind a occluding structure and hide them then but I feel like this would be unfair for the approaching player because it would give away that an enemy player is within their screen. This wouldn’t play nice with things like invisibility spells either.

So far the only solution I came up with was to add fences/barres/other smaller models in the areas behind large structure to make walking behind them impossible. This is a decent solution however it severely limits my environments design, especially around objects such as castle walls, buildings in villages, etc.

Does anyone have experience with this kind of problems? Any suggestions are welcome.

PS. I’ve seen moba games handle it by not including any high structures in their environments. However I’m wondering if there’s other solutions to this problem.

Advertisement

Outlines could do the job, but then again - it looks less immersive and if you need invisibility you need to not-draw the outline when in some location (or standing still for too long).

It's still an advantage to hide behind something though.

My current blog on programming, linux and stuff - http://gameprogrammerdiary.blogspot.com

This topic is closed to new replies.

Advertisement