Okay....BitBlt turned out to be too simple for my game. DirectDraw is making me angry. Last resort: Direct3D. But first, I'm just wondering, would Direct3D be a reasonable choice for a third-person tile-based game? (I bet the answer is really obvious too) :) ....That was a dumb question (aren't most 3rd person tile-based games made with direct3d? atleast the good ones?) :)
Still......what do you think?
06-29-2002, 04:29 PM
Depends if its isometric or 3D really. Good isometric tile games have been made with DD and D3D, however 2.5D is another alternative. This uses isometric tiles, and 3D characters. If you think of games like Total Annihilation then its like that.
Thanks.......2.5D....would that include D3D AND DirectDraw?
06-30-2002, 04:39 PM
Since you're using D3D anyway, then you might choose to do it all with D3D for speed, but otherwise choose DirectDraw for ease of use (remember that D3D sits on top of DD, so you need both anyway).
Alrighty :) Ease of use isn't really what I'm going for, I'm going to spend a lot of time making, and fixing this game so I'm hoping to make it as awesome as possible :) Thanks for the reply :)
06-30-2002, 07:21 PM
In addition to getting a lot of effects for 'free' (alpha blending, arbitrary rotation, etc) with D3D, mixing DirectDraw and Direct3D is actually pretty slow compared to using just D3D. The 2 of them work in very different ways.
A lot of actions in DirectDraw require that surfaces be locked. To lock a surface all pending actions have to be completed before the lock happens. Typically in D3D you're rendering a frame or 2 ahead of what's actually being displayed. So when you call a function to render something, it's stored in a command queue to be processed. This way your CPU and video card are running in parallel.
If you mix DD and D3D then you serialize access and then it can't buffer frames.
And as a side note, most video cards under DX7 actually use 3D hardware to do DD, but it's less efficient because of how DD works. That's why they rolled DD and D3D together in DX8, it was a more accurate representation of how the hardware works.
If you decide to go a pure-D3D route, I'd recommend D3D8, it's much nicer to use than D3D7.
Gotcha :) Yeah DX8 is the way I'm going :) .... I've gotten the init part done and i'm actually starting on the 2D part of my game, soon I'll be moving to 3D :) ...WOOHOO! :)