These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Out of Pod Experience

 
  • Topic is locked indefinitely.
12Next page
 

What are the memory/processor implications of advanced sprites?

Author
Reaver Glitterstim
The Scope
Gallente Federation
#1 - 2014-12-22 22:36:38 UTC
I'm curious as to the feasibility of having sprite characters in a game which are, say, 16-bit color, 128x256 resolution, and have 16 horizontal view angles plus all diagonals for a total of 66 angles encompassing at least 32 poses. Anyone with sprite experience able to give me a number crunch on that? Also nice would be a comparison with what sort of detail level on a 3D model would match the sprite in terms of processor and memory costs.

FT Diomedes: "Reaver, sometimes I wonder what you are thinking when you sit down to post."

Frostys Virpio: "We have to give it to him that he does put more effort than the vast majority in his idea but damn does it sometime come out of nowhere."

Reaver Glitterstim
The Scope
Gallente Federation
#2 - 2014-12-25 20:40:27 UTC
Anyone? :(

FT Diomedes: "Reaver, sometimes I wonder what you are thinking when you sit down to post."

Frostys Virpio: "We have to give it to him that he does put more effort than the vast majority in his idea but damn does it sometime come out of nowhere."

Brujo Loco
Brujeria Teologica
#3 - 2014-12-27 00:47:19 UTC
Reaver Glitterstim wrote:
Anyone? :(


Reaver, my expertise on such topics is at best, extremely limited.

But I will give you something, something I enjoy a lot.

Have this song

Cheers!

Inner Sayings of BrujoLoco: http://eve-files.com/sig/brujoloco

Sol Project
Shitt Outta Luck - GANKING4GOOD
#4 - 2014-12-27 09:11:52 UTC
I am wondering about your question.


Assuming you use opengl/directx for sprites,
you can drop any worries about processing cost.

Why do you call them advanced anyway?

I feel like I am missing something.

Ladies of New Eden YC 117 by Indahmawar Fazmarai

Warning: NSFW! Barely legal girls in underwear!

Diana Kim > AND THIS IS WHY THE FEDERATION MUST BE DESTROYED!!

Reaver Glitterstim
The Scope
Gallente Federation
#5 - 2014-12-27 19:23:15 UTC
Advanced because I've never seen a program use so many angles. Everyone just jumped onto 3D instead.

I assume there are some processing issues with managing a whole lot of image files at once, especially with modern graphics systems being focused on polygons and skins. Just look at Minecraft, for example. It uses 16x16 pixel voxels and even a 5 year old computer has difficulty putting the view distance past 10 chunks (160 voxels radius).

FT Diomedes: "Reaver, sometimes I wonder what you are thinking when you sit down to post."

Frostys Virpio: "We have to give it to him that he does put more effort than the vast majority in his idea but damn does it sometime come out of nowhere."

Sol Project
Shitt Outta Luck - GANKING4GOOD
#6 - 2014-12-27 19:41:00 UTC  |  Edited by: Sol Project
Aaahhh .... interesting.

No wonder I'm confused.


People nowadays use the 3d APIs for 2D rendering. There's no issue at all,
all gfx are (or can be) put into one big texture for fast access and then the sprites
are simply blitted onto two triangles forming a rectangle (openGL) or a rectangle itself (directX)
and addressed via texture coordinates.

Meaning ... you can simply put every sprite onto one big image and load that one completely.
you do not need to have seperate textures saved in VRAM ... especially because textureswitches
are stateswitches and cost a lot of performance. instead you have all the sprites on one texture
and use texture coordinates.


What minecraft does has nothing to do with it (besides it being crap anyway and not real voxels).


Did you actually look for 2d engines out there? There are tons. They all use gfx acceleration,
which gives built in rotation, zoom, filtering ... all done via hardware.

And as nowadays cards have 1 gig of VRAM, you will have a hard time running out.


And regarding speed ... I made a small program some time last year ...
... which had 20.000+ 8x32 animated sprites (four frames) running around on screen fluidly.


Oh and yeah i saw the dimensions of your sprites ... but I do not see the issue at all.
(except that going 16bit makes no sense, because that means the driver has to convert to 32bit anyway)



Am I understanding you correctly?

Ladies of New Eden YC 117 by Indahmawar Fazmarai

Warning: NSFW! Barely legal girls in underwear!

Diana Kim > AND THIS IS WHY THE FEDERATION MUST BE DESTROYED!!

Reaver Glitterstim
The Scope
Gallente Federation
#7 - 2014-12-27 20:22:09 UTC
Yes, thanks! That's quite a relief. I was afraid even modern systems would struggle with it.

It might take a lot of work, but it sounds quite doable. I've always liked sprites better than 3D models, especially when everyone first went to 3D. Perhaps someday we will see an indie game using complex sprites like what I described. They would make for a more fluid body appearance of characters, making them appear to have much more detail than they really do. This could mesh well with an old-style appearance in a game, a throwback to the early '90s of gaming. Or it could make for an excellent re-make of Doom 1.

FT Diomedes: "Reaver, sometimes I wonder what you are thinking when you sit down to post."

Frostys Virpio: "We have to give it to him that he does put more effort than the vast majority in his idea but damn does it sometime come out of nowhere."

Sol Project
Shitt Outta Luck - GANKING4GOOD
#8 - 2014-12-27 20:34:59 UTC
I sense the enthusiasm of a beginner. :D

I would strongly suggest not reinventing the wheel and instead
looking up all the great 2d libraries that are out there.

Unless you really want to start with basics to learn things, of course.


People already use quite complex sprites and there are engines for that,
even whole game makers, like for example godot, which allows keyframing
individual limbs via sprites. http://www.godotengine.org/wp/


I totally agree with you on the 2d part. The switch to 3d was a killer for me,
almost as bad as switching from DOS and assembler to windows back in the 90s.


Would you like some hints where to read up on things?


What are your interests specifically?
Which language do you use or want to use?


There's pretty much everything out there already ...

Ladies of New Eden YC 117 by Indahmawar Fazmarai

Warning: NSFW! Barely legal girls in underwear!

Diana Kim > AND THIS IS WHY THE FEDERATION MUST BE DESTROYED!!

Debora Tsung
Perkone
Caldari State
#9 - 2014-12-28 05:05:03 UTC
Brujo Loco wrote:
Reaver Glitterstim wrote:
Anyone? :(


Reaver, my expertise on such topics is at best, extremely limited.

But I will give you something, something I enjoy a lot.

Have this song

Cheers!


Did not understand a word of what she weas singing, but it's a beautiful song anyways.

Stupidity should be a bannable offense.

Fighting back is more fun than not.

Sticky: AFK Cloaking Thread It's not pretty, but it's there.

Reaver Glitterstim
The Scope
Gallente Federation
#10 - 2014-12-28 05:14:24 UTC
I'm not really looking to get into programming, Sol, but thanks anyway! I was just doing a bit of theorycrafting. The main purpose was to determine the viability of sprite-based characters. I will now feel more free to imagine and speculate about sprite-based things since I know they are viable. That's the main thing I was looking for.

I wish I'd known you like ten years ago! This info could have been useful before 3D characters came to look so highly detailed as they do today. I think there was a time when sprite characters could have surpassed 3D characters in realism, and that that time has passed and now 3D is once again the best choice. Sad we missed out on the chance to see something wonderful in games.




Brujo, many thanks for the song! I understand a few words here and there, but mostly it is just so beautiful!

FT Diomedes: "Reaver, sometimes I wonder what you are thinking when you sit down to post."

Frostys Virpio: "We have to give it to him that he does put more effort than the vast majority in his idea but damn does it sometime come out of nowhere."

Sol Project
Shitt Outta Luck - GANKING4GOOD
#11 - 2014-12-31 00:25:36 UTC
Actually no.

It's still 2d. A 3d character can be moved "freely" within the limited degree of freedom the engine works with.
A 2d character can't be rotated freely ... and you can't move it freely.

You can not rotate a sprite character.
One can use tricks to give it depth,
but these work only rather limited.


How do you imagine that would work?
If you rotate a sprite, it's like a sheet of paper.


Tell me your thoughts and forget "3d is better now".
That viewpoint leads nowhere and only limits your own imagination and creativity.

Ladies of New Eden YC 117 by Indahmawar Fazmarai

Warning: NSFW! Barely legal girls in underwear!

Diana Kim > AND THIS IS WHY THE FEDERATION MUST BE DESTROYED!!

Reaver Glitterstim
The Scope
Gallente Federation
#12 - 2014-12-31 00:48:15 UTC  |  Edited by: Reaver Glitterstim
When you render a sprite in enough viewpoints, it can look like it is 3-dimensional, but without the limitations of polygons, so you get a picture-perfect image of the sprite from whatever angle you are viewing it, limited by the resolution of the sprite. 3D characters are easier to move, but don't always look quite a s good when they do.

I say 3D is pretty much conclusively better today because we have motion-capture technology which can transform an actor directly into a moving 3D character with minimal post-processing required. But around 1995-2005 3D characters in games were chunky, blocky, and awkward. If those games had instead used image sprites, they could have dramatically improved the visual appearance quality of the sprites at the cost of animation smoothness and ease of motion. Perhaps the biggest drawback to sprites is that every action they perform must be pre-recorded, however this was no different for 3D characters then, and even today our motion-captured 3D characters still have every action pre-recorded. The characters that move via AI-controlled skeleton with physics rendering usually move pretty awkwardly, and require a very skilled crew to make it move gracefully, let alone realistically.


edit - here are some examples:
Quake Shambler
The characters here have very distinct blockiness. They had excellent smooth movement animations with many frames, but suffered horribly on visual quality.

Doom Mancubus
Here is an animation of the Mancubus from Doom (about the same size as a Shambler). Its level of detail is much greater, and its image quality is much higher than the Shambler, but as you can see, its animation quality is greatly sacrificed.

FT Diomedes: "Reaver, sometimes I wonder what you are thinking when you sit down to post."

Frostys Virpio: "We have to give it to him that he does put more effort than the vast majority in his idea but damn does it sometime come out of nowhere."

Sol Project
Shitt Outta Luck - GANKING4GOOD
#13 - 2014-12-31 01:03:24 UTC  |  Edited by: Sol Project
If you see it this way ...
... and assuming we ignore, that ...

... every single viewpoint has to be pre-made ...

... every .... single ... holy ****.


Assuming a full 6DOF that's 360x360x360 different angles.

Okay, let's say we cut that in half ... it's still a huge amount of images.
And we can't cut too much, because of too big steps.

That's just base, please.

And then ... next thing ... for every arm and leg we have to do the same.
Because we need them seperate from the base, for movement!


Then there's the fact that, with your idea, we can't apply lighting.
Because lighting needs depth, but sprites have none.
We would have to bake depthvalues into *every single sprite seperately*.


It's not as easy as you think....


What you seem to think about is having pointclouds flattened as sprites.
That's a whole different story and actually ... works.

*scratches beard* hm...



Nowadays gfx cards can push so many triangles, that we reach
one triangle per pixel easily ... it's totally unsuitable and crap, tbh,
but no one really has any better idea.

Voxels are great, but we're not yet there. (no not minecraft. minecraft is crap)
But I am out of the loop on this one. The math is beyond me, I hate shadercoding,
I don't care about standards and conventions and I rather use assembler for everything,
because coders nowadays are completely clueless when it comes to performance and
"compiler optimises better for speed than a person" ... which can only come from a person
who has no clue about it.

Errr I digress....


And as you mention it ... I have no idea why CCP needs animators to animate the avatars.
It makes no freaking sense to me that they animate characters this way,
as we're not living in the 90s anymore. Motion capturing can be improvised with cheap cameras
and without the need of expensive software ... but oh well.


It's late. I should sleep.
If you prefer Solecist in here, I can get her to post.

Ladies of New Eden YC 117 by Indahmawar Fazmarai

Warning: NSFW! Barely legal girls in underwear!

Diana Kim > AND THIS IS WHY THE FEDERATION MUST BE DESTROYED!!

Sol Project
Shitt Outta Luck - GANKING4GOOD
#14 - 2014-12-31 01:07:28 UTC
Reaver Glitterstim wrote:

edit - here are some examples:
Quake Shambler
The characters here have very distinct blockiness. They had excellent smooth movement animations with many frames, but suffered horribly on visual quality.

Doom Mancubus
Here is an animation of the Mancubus from Doom (about the same size as a Shambler). Its level of detail is much greater, and its image quality is much higher than the Shambler, but as you can see, its animation quality is greatly sacrificed.

Only now saw the edits.

Yeah, besides the fact that animation will not ever be smooth,
unless someone finds a way to interleave frames in between properly in software ...

... there is no real-time lighting.


If you look at the first ... it looks good, but it lacks actual lighting.


I recall the days of C&C 2, where I thought that the sprites looked really good .............

Ladies of New Eden YC 117 by Indahmawar Fazmarai

Warning: NSFW! Barely legal girls in underwear!

Diana Kim > AND THIS IS WHY THE FEDERATION MUST BE DESTROYED!!

Reaver Glitterstim
The Scope
Gallente Federation
#15 - 2014-12-31 01:17:05 UTC
Yes, it takes a lot of frames, and probably the only realistic way to produce these sprites in high detail is with 3D models. You could use something similar to motion-capture technology but which turns the images into sprites rather than 3D. It might take a lot more cameras though. Or you could make a very high-detail 3D model and turn it into a sprite, and actually greatly reduce the graphics requirements to render it without losing much detail.

But I like that you mentioned voxels. Perhaps now they are an even better way to get what I want. Instead of having several thousand images per sprite, there could be a voxel sprite. With transparency effects, the edges of the sprite could be properly multisampled, dithered, and have lighting and reflective effects applied even though it isn't rendered in polygons. This would make the character look much more like a person on film and less like a game character.

FT Diomedes: "Reaver, sometimes I wonder what you are thinking when you sit down to post."

Frostys Virpio: "We have to give it to him that he does put more effort than the vast majority in his idea but damn does it sometime come out of nowhere."

Reaver Glitterstim
The Scope
Gallente Federation
#16 - 2014-12-31 01:22:07 UTC
Sol Project wrote:
It's late. I should sleep.
If you prefer Solecist in here, I can get her to post.
I like Sol a lot more. Maybe it's the black lipstick, maybe it's the cool orange facial tattoo, I'm not really sure. But I think Sol is way cooler than Solecist.

FT Diomedes: "Reaver, sometimes I wonder what you are thinking when you sit down to post."

Frostys Virpio: "We have to give it to him that he does put more effort than the vast majority in his idea but damn does it sometime come out of nowhere."

Solecist Project
#17 - 2014-12-31 08:05:38 UTC
GGGGRRRRRRRRR EvilEvilEvilEvilEvil

That ringing in your ears you're experiencing right now is the last gasping breathe of a dying inner ear as it got thoroughly PULVERISED by the point roaring over your head at supersonic speeds. - Tippia

Sol Project
Shitt Outta Luck - GANKING4GOOD
#18 - 2014-12-31 16:05:33 UTC
Reaver Glitterstim wrote:
Yes, it takes a lot of frames, and probably the only realistic way to produce these sprites in high detail is with 3D models. You could use something similar to motion-capture technology but which turns the images into sprites rather than 3D. It might take a lot more cameras though. Or you could make a very high-detail 3D model and turn it into a sprite, and actually greatly reduce the graphics requirements to render it without losing much detail.

But I like that you mentioned voxels. Perhaps now they are an even better way to get what I want. Instead of having several thousand images per sprite, there could be a voxel sprite. With transparency effects, the edges of the sprite could be properly multisampled, dithered, and have lighting and reflective effects applied even though it isn't rendered in polygons. This would make the character look much more like a person on film and less like a game character.

I forgot to properly respond to this one.

I get now what you want.
You don't want sprites ... you want billboards!


Check this one and tell me if it's what you are talking about:

https://www.youtube.com/watch?v=vJs9anEbHRc


Ladies of New Eden YC 117 by Indahmawar Fazmarai

Warning: NSFW! Barely legal girls in underwear!

Diana Kim > AND THIS IS WHY THE FEDERATION MUST BE DESTROYED!!

Baneken
Arctic Light Inc.
Arctic Light
#19 - 2015-01-02 18:49:12 UTC  |  Edited by: Baneken
Reaver Glitterstim wrote:
I'm curious as to the feasibility of having sprite characters in a game which are, say, 16-bit color, 128x256 resolution, and have 16 horizontal view angles plus all diagonals for a total of 66 angles encompassing at least 32 poses. Anyone with sprite experience able to give me a number crunch on that? Also nice would be a comparison with what sort of detail level on a 3D model would match the sprite in terms of processor and memory costs.


Assuming you would use uncompressed bitmap images you would be looking at 16*128*256 making it 524kb after which you need 66*32 more of similar images so that would make it a 1,1 gigabytes which obviously is quite much and because of it there are a variety of ways to compress images to conserve memory.

Edit: one way to conserve memory in ye olde days was to have a "basic sprite" that was 'edited' on the fly saving tons of memory and is the main reason it took quite a while to have anything related to 3D.
Reaver Glitterstim
The Scope
Gallente Federation
#20 - 2015-01-03 03:13:35 UTC  |  Edited by: Reaver Glitterstim
My immediate response is to use lossless .png format, although I don't know if .pck or .pcx have some sort of advantages in this department, but they were very popular formats for sprite games back in the day. Still, given the improved resolution and number of angles, it might be best to work with medium-quality .jpg format. Also a possibility is .gif which may be able to save even more memory at some significant loss in quality which can be glossed over somewhat with texture patterns which when in motion look pretty decent if your resolution isn't too low. Lastly, I know that .TIFF sometimes saves space but I don't know what it is.

Anything but .bmp man, come on!

FT Diomedes: "Reaver, sometimes I wonder what you are thinking when you sit down to post."

Frostys Virpio: "We have to give it to him that he does put more effort than the vast majority in his idea but damn does it sometime come out of nowhere."

12Next page