[No] high angle viewed sprities

Moderator: GZDoom Developers

Re: high angle viewed sprities

Postby Enjay » Fri Aug 24, 2018 12:57 pm

I think the biggest argument against this is how much it would be used. I'd be very surprised if many people used the feature to any great extent. I mean, ZDoom has supported 16 angle sprites for many years and yet there are only a tiny number of mods that ever used them. The resource production implications are enormous for this suggestion.

Models (be that MD2/MD3/Unreal format or Voxels) do pretty much what is required here and, because they are designed for a true 3D view, would probably do it better too.

Arctangent wrote:
  • Actor sprites require a very specific naming scheme, which isn't expandable at all. Like, how would you add a top view of BAL1A0? BOSSE3? POSSF2F8? That's already up to eight characters, the max amount in the .wad format. Even if we make this feature .pk3-only, though, how would we add information for vertical viewing angle without confusing the parser?


Not that I think this feature is viable, but that's actually one of the things that probably could be solved reasonably easily. There is already something similar in principle to what I'm thinking about in the player sprites. PLAY* are the regular player sprites but PLYC* is used for crouching. The engine knows to use PLYC when the player is crouched and there has to be a PLYC sprite for every equivalent PLAY sprite. A character definition in ZScript could be given additional properties to specify which sprite set to use when the actor is seen from upper/lower angles. Of course, it would get messy for actors that use a variety of different sprite names in different states.
User avatar
Enjay
Everyone is a moon, and has a dark side which he never shows to anybody. Twain
 
 
 
Joined: 15 Jul 2003
Location: Scotland

Re: high angle viewed sprities

Postby Matt » Fri Aug 24, 2018 1:05 pm

Enjay wrote:The engine knows to use PLYC


Given the issues we've already got even with that, I don't think that's much of an argument in favour of this feature. 😬
User avatar
Matt
Putting the XD into *xdeath since 2007
 
 
 
Joined: 04 Jan 2004
Location: Gotham City SAR, Wyld-Lands of the Lotus People, Dominionist PetroConfederacy of Saudi Canadia

Re: high angle viewed sprities

Postby Enjay » Fri Aug 24, 2018 1:15 pm

To be fair, the problem there is more to do with sprite squishing when using non standard player sprite names/skins than the 1 for 1 implementation of PLAY=PLYC when crouched.

I suppose something like:
Code: Select allExpand view
   See:
      POSS AABBCCDD 4 A_Chase;
      Loop;
   
   See.Upper
      POSU AABBCCDD 4 A_Chase;
      Loop;

   See.Lower
      POSD AABBCCDD 4 A_Chase;
      Loop;

could be feasible but it's all moot anyway given that the feature won't be happening.
User avatar
Enjay
Everyone is a moon, and has a dark side which he never shows to anybody. Twain
 
 
 
Joined: 15 Jul 2003
Location: Scotland

Re: high angle viewed sprities

Postby Graf Zahl » Fri Aug 24, 2018 1:24 pm

If this was done it would have to be additional rotations that automatically get selected by the renderer. So wait: What letters can we use here? A-G are already taken, that'd leave us with 19 remaining ones, we need 32 to have equivalents for all 16 regular rotations.
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: high angle viewed sprities

Postby Rachael » Fri Aug 24, 2018 1:56 pm

Curse the old operating system developers for making only 8 characters for a filename the standard! :P

Although to be fair - even kilobytes of RAM was quite a commodity in those days...
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle

Re: high angle viewed sprities

Postby Graf Zahl » Fri Aug 24, 2018 2:12 pm

Curse them more for a case insensitive file system. Had this not been done, nobody would ever have thought of creating case insensitive file systems for modern OSs or container formats.
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: high angle viewed sprities

Postby Pixel Eater » Fri Aug 24, 2018 5:19 pm

I'm confused. Does it need to match the number of rotations? I'd think there only needs to be one additional top sprite per frame (maybe share one for walking) and then the rotation be handle engine-side (optionally interpolated).
Edit: I'm thinking for walking and idle animations it could be done with a bobbing effect via uniform scaling.
User avatar
Pixel Eater
I sense evil I fear it here today, Like a bad dream that never goes away -MBerry
 
 
 
Joined: 02 Aug 2017
Location: In between the Moon and you, between the buried and me.

Re: high angle viewed sprities

Postby Pixel Eater » Tue Aug 28, 2018 10:16 pm

A humorous attempt:



They have very flexible torsos :P

Edit: Because that looked so ridiculous here is a request for sprites.
User avatar
Pixel Eater
I sense evil I fear it here today, Like a bad dream that never goes away -MBerry
 
 
 
Joined: 02 Aug 2017
Location: In between the Moon and you, between the buried and me.

Re: high angle viewed sprities

Postby Pixel Eater » Sun Sep 02, 2018 9:43 pm

Added a code template to the script library: Linky
User avatar
Pixel Eater
I sense evil I fear it here today, Like a bad dream that never goes away -MBerry
 
 
 
Joined: 02 Aug 2017
Location: In between the Moon and you, between the buried and me.

Re: high angle viewed sprities

Postby Hypersonic » Tue Sep 04, 2018 1:31 pm

With voxels you can make the monsters/items look exactly as they do now, except instead of just 8 viewpoints you'd have infinite. Too bad voxel models aren't as easy to implement as polygonal models.
Hypersonic
 
Joined: 14 Aug 2017

Re: high angle viewed sprities

Postby Enjay » Tue Sep 04, 2018 2:57 pm

Hypersonic wrote:With voxels you can make the monsters/items look exactly as they do now.

Sorry, got to disagree. You might be able to make it look exactly as it does from one angle (e.g. dead front on) but as soon as you move, you'll see the 3D lego-brick nature of the voxel models, especially on shapes with a curve.

Image

In game, their edges are also sharper than the sprites would be in default OpenGL (and so can look very harsh) and they don't seem to alter and blend in the same way with distance as a sprite does.

Image

On top of that, the Doom enemy sprites aren't consistent from one angle to the next, so making a model that looks exactly the same as the sprite from all angles is impossible.

I'm not saying that voxels don't have their place. Even though I really don't like them much at all, I get why people think they tie in well with the pixelly Doom world, but they certainly do not look exactly like sprites.
User avatar
Enjay
Everyone is a moon, and has a dark side which he never shows to anybody. Twain
 
 
 
Joined: 15 Jul 2003
Location: Scotland

Re: high angle viewed sprities

Postby Graf Zahl » Tue Sep 04, 2018 3:17 pm

Some people apparently think that everybody is using the software renderer...
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: high angle viewed sprities

Postby Hypersonic » Tue Sep 04, 2018 4:14 pm

Look like they do now from the angles given, obviously the hidden sides of 1 angle objects would have to be a reasonable guess at what the original artist intended. Many objects only have 1 angle. Monsters have 8. If the monster artists didn't accurately render each angle to a single common 3D model, I'm sure a voxel model could be made that isn't too far off from any of the angles.

Too bad there's no voxel acceleration like there is texture painted polygonal acceleration. It would be neat to see each of the voxel pixels smoothly blend together like 2D textures do.
Hypersonic
 
Joined: 14 Aug 2017

Re: high angle viewed sprities

Postby Chris » Tue Sep 04, 2018 7:52 pm

Enjay wrote:Sorry, got to disagree. You might be able to make it look exactly as it does from one angle (e.g. dead front on) but as soon as you move, you'll see the 3D lego-brick nature of the voxel models, especially on shapes with a curve.

To be fair, the lego-brick nature of voxel models is just 2D pixelization taken to 3D.

As an aside, there are ways to "smooth out" voxels, with techniques like marching cubes. Rather than just treat each individual voxel as its own little self-contained cube, it tries to connect neighboring voxels together, which helps blend both the color and geometry. Whether or not it would look good, however, is up in the air (I imagine it would be dependent on the particular voxel).

If your goal is to get a good looking 3D object, a proper model would almost certainly be the best option. Although a voxel may understandably be easier to create from a preexisting (static) sprite since you basically stretch the existing 2D image into a 3rd dimension and fill in the necessary gaps. High-end computer graphics have employed similar tricks (take a 2D matte painting and "paste" it onto a 3D backdrop, though it only works for limited movement).
User avatar
Chris
 
Joined: 17 Jul 2003

Re: high angle viewed sprities

Postby Gez » Wed Sep 05, 2018 4:32 am

Graf Zahl wrote:If this was done it would have to be additional rotations that automatically get selected by the renderer. So wait: What letters can we use here? A-G are already taken, that'd leave us with 19 remaining ones, we need 32 to have equivalents for all 16 regular rotations.

I'd use only 18 rotations.
8 for 45° pitch above, 8° for 45° pitch below, and one for top (rotate it with actor angle) and one for bottom (same).

The 16 angle rotations are nearly never used.
Gez
 
 
 
Joined: 06 Jul 2007

Previous

Return to Closed Feature Suggestions

Who is online

Users browsing this forum: No registered users and 1 guest