2d in 3d - disadvantages?

Miscellaneous Forums/General Discussion/2d in 3d - disadvantages?

Well, I'm working on a game and I feel that switching to 3d sprites will be more useful: I can use alphaed PNGs with partial transparrency, smoth scalling and 3d frame tweening insted of delta-timing, but there are some disadvantages like:
- 3D card required.
Considering that my goal is to make a test game and then possibly proceed to make a shareware game on the same engine I might be targeted to an audience with computers that are not up to date.
- Tetxure size.
If I have sprites ready for nice scaling they should be at least 512x512. And backgrounds in 640x480. Meaning the required 3d card should support textures of this size.

Do you think that requirement like this can prevent a significant number of people from playing my game?
Can you think of any other disadvantages?

You mean like that Nebulae thing i did? There are no other disadvantages and i beleive that the 3d card requirement isnt that high. I managed to get Nebulae going on some pretty ancient hardware, so if anyone has hardware that ancient chances are they dont play games and/or wouldnt spend money on a game if they need an upgrade.

Yeah, kind of the same, but do you have some big textures? I mean something like 640x480??? I think that might be a problem.

Yeah don't worry about it, I'd say keep your texture sizes smaller though, for speed more than compat.

My cloud background detail texture is 1024x1024 but other than that no. I could and i would allow options to lowering the res. If you include enough options in your game, users can run it in "safe mode" (lowest settings) and see the highest settings they can get it to work in propperly. That way you get both, quality and compability.

1024x1024??? Holy crap! 8-0
Ok, so I'll stick with 640x480 backgrounds. I was thinking of 256x256 sprites (They are the character animations), but I really would like to see more detail.
I don't really see much options for an adventure game though - no particle effects planned.
Anyway, thanks for the advice!

If the background is rendered as a textured quad, wouldn't the actual texture size of a 640x480 image be 1024x1024 anyway?

Textures are generally stored as a power of 2 size(some cards allow oddsizes) so 640x480 would be on a 1024x1024 texture. But it the backdrop is static why stick it on a textured quad? Just whack it behind the 3d stuff as an image like in 2d

Also, I believe some newer cards puke if you try feeding them non-pow2 textures. Always use pow2 textures!

Blitz will automatically size the textures when it loads them.

Indiepath: that's the idea but some new cards cause a MAV unless you use pow2 textures.

I've tested a game that used 1024x1024 texture-sizes on 5
seperate machine setups. All passed. Even one of the machines in
my school's ancient, hidden-away, neglected lab ran the test at high
fps. It's got a decrepit Geforce 2000 or 3000.

I think 4096x4096 is the high-end limit(a year ago). So I
would believe that 1024 is quite safe.


Can you think of any other disadvantages?


You could call it either way to be honest, but if you need pixel-perfect collision (ie based on image/texture overlap rather than primitive collision) then you'll have to roll your own system whereas in 2D you'd simply employ the existing function.

Textures are generally stored as a power of 2 size(some cards allow oddsizes) so 640x480 would be on a 1024x1024 texture.


If the background is rendered as a textured quad, wouldn't the actual texture size of a 640x480 image be 1024x1024 anyway?


No, it would be 1024x512.

Indiepath: that's the idea but some new cards cause a MAV unless you use pow2 textures.

Nope, Blitz will size to ^2 before it sends the texture to the card, it does this in B3D and in BMAX.

Nope, Blitz will size to ^2 before it sends the texture to the card, it does this in B3D and in BMAX.
Tell that to the people getting MAVs due to non-pow2 textures, on some cards. I can't be bothered to dig up the posts about now.

Blitz will automatically size the textures when it loads them.

Yeah, I've seen it... It will blur the image a little...
What size the backround image should I use to fill the whole screen without the resizing?

What size the backround image should I use to fill the whole screen without the resizing?



Put a 640x480 image in the top left corner of a 1024x512 texture and adjust the UV coordinates of your quad so that it only shows the 640x480 section.

You can use the rest of the quad for things like mouse pointers to save video memory if you like.

Put a 640x480 image in the top left corner of a 1024x512 texture and adjust the UV coordinates of your quad so that it only shows the 640x480 section.

Crap. I understand the principle, but it seems like a waste of resources (probably because I don't understand why loaded 640x480 texture will be bigger anyway - all this 3d stuff is so confusing.) I want to make a 3d game, but all this new stuff makes me want to come back to 2d and I don't want to do that (that's why I didn't make any games in two years!).
I'll probably do it differently then - I'll cut out items as separate sprites and make real 3d locations. So the game will be true 3d with sprites and not just faked-2d.

but it seems like a waste of resources


I just explained how to not waste resources. Simply fill up the rest of the texture with other images. Just get used to the idea of combining all your images into "sheets" that are 512x512, 256x256, 512x256, 1024x512 or whatever. It's much more efficient that way anyway.

Yeah, I've got it... meaning that I can fit more than one location on one texture, but the thing is then if I have a crappy built-in graphics card like intel810 textures like this will not load at all...

Why wouldn't your textures not load at all on a crappy Intel810?

I don't know any official specs, but I used to have a computer with one of these and believe me I've seen white-texture-of-nothingness insted of proper textures more times than I wanted.