Sign in to follow this  
Senses777

DirectX 8 or 9 2d-in-3d?

Recommended Posts

Senses777    756
I'm desperatly trying to avoid re-inventing the wheel right now by making my own wrapper libary for 2D-in-3d for DirectX 9. What is a good library (/wrapper) that I can use to take advantage of D3D in my 2d application? I'v been googling for hours and the best I could find was Haaf's Game Engine which looks pretty good, but it is almost a little too dumbed down so I'd like some alternatives. I'd like to be able to blit and load textures and take advantage of hardware accelerated scaling, rotation, alpha blending, etc. [Edited by - Senses777 on June 12, 2005 11:10:55 AM]

Share this post


Link to post
Share on other sites
hannibal84    220
I don't have a terribly large amount of experience with other engines out there, but Ogre [http://www.ogre3d.org] is a pretty good all-around graphics engine. I'm not sure of it's 2D capabilities (the interface objects at least look good; you could probably make everything 2D if you wanted), but it does have a VERY good documentation base. From what I can tell, it's not too difficult to directly interface with the base classes to make specific things, as you mentioned. The engine is open source.

I've also heard (but haven't peeked yet) that the Grim Engine is pretty good for 2D stuff. I'm not sure where to find that, but it was the engine used to make Crimson Land; I believe that one is technically a 3D game, but I have seen 2D games made with it as well (generally student projects).

Hope some of that is of use for you.

Share this post


Link to post
Share on other sites
_Flecko    196
I've recently written an open source 2D library in Managed Direct3D with all those features plus some other neat stuff. There's a decent amount of documentation and it comes with a few samples. See my thread for more details and a couple screens:

http://www.gamedev.net/community/forums/topic.asp?topic_id=324034

As you can see, it hasn't generated much interest yet, but I'd like for people to use it/provide feedback/get involved in developing it (especially with regard to optimization).

Share this post


Link to post
Share on other sites
Senses777    756
Sorry that you didn't get too many replies Flecko. Maybe if you add some more features or make the thread more specific?

As for my problem,
What does everyone else do for their engine? I know there are many games written using 2d-in-3d, did they all reinvent the wheel?

Share this post


Link to post
Share on other sites
MMarcel    145
There are 2 most common solutions for 2d rendering in d3d for now as I'm concerned.
The first one is using the sprite interface provided by dx.
The second method would be to use so called texture quads. This method was used due to the fact that the sprite interface was quite slow, but since the summer update it is somewhat equal or even faster. The texture quad method is though used quite often still because it give's you more freedom and it is not as hard to implement as it seems. It can get a bit messy when you start to use materials etc. for getting cool effects if you don't develop a good structure for the whole thing. But actually it depends personaly on you if you'll use sprites or texture quads.

If you'd like to know more on texture quads or should need help, drop me a line or post in the forum.


cheers,
marcel

Share this post


Link to post
Share on other sites
Senses777    756
Quote:
Original post by MMarcel
There are 2 most common solutions for 2d rendering in d3d for now as I'm concerned.
The first one is using the sprite interface provided by dx.
The second method would be to use so called texture quads. This method was used due to the fact that the sprite interface was quite slow, but since the summer update it is somewhat equal or even faster. The texture quad method is though used quite often still because it give's you more freedom and it is not as hard to implement as it seems. It can get a bit messy when you start to use materials etc. for getting cool effects if you don't develop a good structure for the whole thing. But actually it depends personaly on you if you'll use sprites or texture quads.

If you'd like to know more on texture quads or should need help, drop me a line or post in the forum.


Thanks Marcel, but developing my own engine is actually what I'm trying to avoid doing. I'm (currently) less interested in engine design than I am in game design, and I can see now that such an interest requires much time in research work, but hopefully much less than developing an engine from scratch.

I was very tempted, honestly, to use the DX9 sprite interfaces and even got a simple blit routinge working. A small library would probably take me a few days to write, but I'd like to take advantage of the fact that this is a road that many many people have surely walked before and some of them probably distribute their libs or wrappers for free... if I could just find them.

[Edited by - Senses777 on June 12, 2005 11:09:51 AM]

Share this post


Link to post
Share on other sites
MMarcel    145
Well I think that it will be some kind of difficult to find a really good 2d engine, because the most distributed engines are just 3d and most people don't care to distribute their own 2d engine because most 2d engines are beginner engines and most people think that nobody could need their engine. The next problem is that the response to such engines is mostly not good, because 2d projects are mostly done by beginners and those beginners are not capable of understanding how the engine works because theire beginners. Actually they could if they would take some time for it, but as you know most people are lazy.

So the fact is that if you're an experienced coder you'll be sooner done with your own 2d lib than when searching for a really good one.
In my opinion it is a sad thing that everybody just heads for 3d projects and that there are not more 2d games, as we all know 2d games are sometimes more fun than 3d, but this is another topic.

I hope that I'm right in what I'm saying if it somehow else please correct me.

cheers,
marcel

Share this post


Link to post
Share on other sites
Senses777    756
Quote:
Original post by MMarcel
Well I think that it will be some kind of difficult to find a really good 2d engine, because the most distributed engines are just 3d and most people don't care to distribute their own 2d engine because most 2d engines are beginner engines and most people think that nobody could need their engine. The next problem is that the response to such engines is mostly not good, because 2d projects are mostly done by beginners and those beginners are not capable of understanding how the engine works because theire beginners. Actually they could if they would take some time for it, but as you know most people are lazy.

So the fact is that if you're an experienced coder you'll be sooner done with your own 2d lib than when searching for a really good one.
In my opinion it is a sad thing that everybody just heads for 3d projects and that there are not more 2d games, as we all know 2d games are sometimes more fun than 3d, but this is another topic.

I hope that I'm right in what I'm saying if it somehow else please correct me.


From what I can tell, you are completely right. I have spent many hours searching for a 2D engine and have been unable to find more than a couple good ones. Both of them cost money to use commercially.

I'll probably use HGE for now. Even though it is overbearing and has a very 'noobish' feel to it, it does provide everything I currently need (and more). If I get sick of it I'll work on my own library using textured quads, since I'v had some luck with that.


It is pretty sad though. The one time I try not to reinvent the wheel I find it very difficult not to do so.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this