Spirit Age

by Chris Gayle
Spirit Age
An amazing action adventure game in a fantasy world on mystical islands
Applies to:
Status: Open

Issue hasn't been assigned a status value.
I think there's something to be learned from 3D games. You know how if you walk behind something in such a way that it puts an object between your character and the camera, then you are often still able to see your character, because of some kind of "ghosting" shader? It's hard to describe this in words, but hopefully it makes sense. (Somebody find an example picture of this.)

Well, I think it's feasible to implement something similar in a BYOND game using transparent icons. It's often a problem in games with the kind of perspective that Spirit Age has, that when a player walks "behind" a building or other object, you cannot see your character. I think it would be nice to solve this problem, and possibly make a library or demo to demonstrate how it can be done. However, in the case of multiplayer games, the issue is a bit more complicated, because you can't just alter the regular icon_state of an object, since that would be seen by everyone. This would have to be something on the client side. I can imagine the new animation system currently in the works could make all of this much easier, but I'm not sure.

What this feature should not do is make hiding impossible. That would take the fun out of it. Basically, the idea here is that you would be able to see anything that exists on the same side of the building as you, including your own character. So, if you are "behind" a building and another player is in front of it, you would see your own character, but they wouldn't. However, if they decided to walk behind the building with you, they would be able to see you. This transparent "ghosting" effect could also be applied to any regular objects, not just mobs.

Now that I think about it, this would probably require some kind of underlying visibility system using something like ohearers() to determine who can see what, as a transparent "ghost" that's behind another object. Chances are, any game that has reasonably advanced AI will use some kind of visibility system anyway, so lag shouldn't be too much of an issue.

I guess transparent /image mirages attached to and aligned with the real objects could be sent to all of the clients with mobs that are on the same side of a building or other large object. These images would appear on top of any large object that would normally obscure the icon of the real object.

Anyway, this is starting to seem really complicated, so I'm not sure if it would be worth the effort, but let me know what you think. Have you ever considered doing something like this?