isometric shooters [edit4]

posted in polyfrag's Blog
Published May 26, 2017
Advertisement

This is another idea I had with several variations. The basic idea is that you control a character, perhaps made of an upper and lower pre-rendered sprite with 8+ angles of yaw and pitch, and you have a crosshair in front that is 3-dimensional. You would use a projection of 3-dimensional coordinates based on the orientation of the character's aim, with 4 slightly outwardly forward-tilted lines that move farther along their directions when you have more inaccuracy and recoil, and a central, longer line, directly where the character is aiming, perhaps extending to the possible intersection point, or perhaps there are three dots along that line instead of a solid line.

WOTX2053.png

The controls would the same as in shooters: WASD to move, mouse to rotate and shoot. It would likely be best to use depth-writing using RGB-encoded depth maps for the sprites, and you could have thick tall grass swaying, and detailed, branchy, leafy trees, etc. There were some other effects. For dust and clouds and smoke and explosions and steam, etc, there's a "spherical blend" that basically just uses the depth values on the screen (in the frame buffer, encoded in RGB perhaps) and blends with an opacity such that, the closer to the center of the sphere or closer to the forward-viewer facing side of the sphere of the effect being rendered (which itself would be a flat or pre-rendered effectively flat texture with increasing transparency in a circle at the edges), the less the sphere opacity would be, so if something is completely behind the back of the sphere in 3-dimensional space, that opacity of the full texture would be used at that texel, along with the opacity already on the texel, and if it was halfway through the sphere (in the center), then perhaps it would be just half-opacity or in other cases depend on the actual distribution of sphere opacity in 3-dimensional space (inverse square law).

TOEG6695.png

Alternatively, this could be fully 3-dimensional and perspective or orthographic projection. It could use orientability maps. Or it might just be really pixelated, nearest-filtered, and using low-res but crisp textures, for that MineCraft effect. Also you might either use fully-proportional and fully-scaled sizes of details, or there might be a 2-height-to-1-width size of tiles and everything could be made of tiles, and you could crouch into a 1:1 tile, and have 1:1 ventilation shafts to crawl through, and windows, etc. Instead of renders you could also use pixel art or paper-drawn and scanned or photographed and perhaps computer-controlled or over-drawn art. For the physics you could have a grid of tiles and use the 2:1 and 1:1 tiles, or define more sizes, but you have to be careful with the amount of items you would need to test against for CPU load. You could have a quaternion-rotation orientation for other objects, like boxes and items and weapons, and they could work by simplified physics. They would have 8+ yaw, pitch, and roll orientation angles for the sprites, and when eg a box is shot, it's inertia tensor is treated as a sphere, and cross product of the incident vector and the vector to the center of the mass from the interception point is used to decompose the inertia or impulse (or force?) into a component of rotation (the farther away from the center of mass, and the more perpendicular it is to the line going to the center of mass from the intersection point, the more the rotational contribution of force), and a component of translation. I had a lot of fun when I first tried this out in 3-dimensions and shooting a box around, but I lost that code. Fortunately I remember the basic principles I used. You could go all-out BSP and make whole levels in isometric rendered sprites in terms of physics. The interesting thing is to have 3-dimensional levels with ladders and stairs and elevators, like underground bunkers, tunnels, and towers. I was thinking of making an RTS with underground tunnels and bunkers that would be tile-based, and use pathfinding and economy and basically have a teeming ant colony of workers. But that's creeping into my other ideas I'm probably going to talk about in another entry. Also if you have a 2:1 size of tiles that simplifies physics for characters' AABB's, and basically they just exactly fit through doorways etc, and it becomes a lot simpler to make behaviours and physics of objects.

[edit:] Here are some videos of the effects.

[edit] Forgot to make the videos public. [edit] Okay, now it's public.


[edit] If you don't realize why this is so awesome... these are flat textures... just images rendered on top of quads, and you can pack as many triangles and details as you want into these textures, and all the depth values are stored in RGB. All the work is done by the pixel/fragment shader of checking depths and discarding or blending the colors. I am not aware of any effect of clouds or fog or explosions etc that actually uses depth-writing and spherical blending. I only know of billboards being used, but it's possible it's already being used for all these effects in 3-dimensional games and I am not aware. Either way, this is an essential skill and technique for these kinds of effects.

Previous Entry bluetooth web
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement