Sign in to follow this  
yannickw

Best way to go for my project (DirectX9/10/11, XNA, OpenGL,....)

Recommended Posts

Dear Gamedev community

For my master thesis I'm working together on an International project for a company called Cartamundi (one of the biggest card manufactures in the world). However I cannot tell you much about it because I'm under NDA but basically we have to do this:

We have to create a monopoly game on state of the art touch technology, we will be using a touch foil connected to a windows 7 tablet (only windows 7 drivers are available), it's to be assumed that both the tablet and the touchfoil use windows 7 style touch events (WM_TOUCH).

Now, we don't have any limitations on the method we'll use to create this game and that is where I'm lost. At the moment I'm using XNA, but I have no idea yet how to get the windows 7 touch event hooked into XNA. I will eventually find this out (probably with some help from the professionals here), but I was wondering if XNA was the best way to go?

Could you enlighten me on your vision and maybe suggest me a better alternative.

Kind regards
Yannick

P.S.: English is not my mother tongue and therefore I want to apologize for any spelling and grammar errors I might have made.

Share this post


Link to post
Share on other sites
I haven't worked with XNA myself, but if you use DirectX or OpenGL the WM_TOUCH message will be sent directly to the main window (the one displaying your game), so in this case making the program react to touch input is rather trivial.

Share this post


Link to post
Share on other sites
[quote name='Dragonion' timestamp='1333111945' post='4926660']
I haven't worked with XNA myself, but if you use DirectX or OpenGL the WM_TOUCH message will be sent directly to the main window (the one displaying your game), so in this case making the program react to touch input is rather trivial.
[/quote]

So I just need to catch the WM_TOUCH message and subscribe to the different touch events? Which would you recommend, DirectX or OpenGL? I chose XNA because it's rather high level and makes things a lot easier. We don't have enough time to write all the code for loading models and stuff like that, we'll have enough work trying to get the foil to work properly :).

I've used OpenGL before and it was rather cumbersome to load in models like .3ds.

Share this post


Link to post
Share on other sites
[quote name='yannickw' timestamp='1333113631' post='4926667']So I just need to catch the WM_TOUCH message and subscribe to the different touch events?[/quote]

Yes.

[quote name='yannickw' timestamp='1333113631' post='4926667']Which would you recommend, DirectX or OpenGL?[/quote]

DirectX. Both API's have advantages/disadvantages, but DirectX is a tad more user friendly/high-level (not to mention a lot bigger) and has many utility functions that makes it easier to work with. A good example is that DirectX has a function for loading a texture directly from a file (D3DXCreateTextureFromFile) while OpenGL can only handle raw pixel data (which means you need some external functionality for interpreting/reading a PNG/BMP image, for example).

[quote name='yannickw' timestamp='1333113631' post='4926667']I chose XNA because it's rather high level and makes things a lot easier. We don't have enough time to write all the code for loading models and stuff like that, we'll have enough work trying to get the foil to work properly.[/quote]

Well, as a general rule very high level languages tend to decrease development time at the cost of less flexibility.

Share this post


Link to post
Share on other sites
[quote name='yannickw' timestamp='1333131740' post='4926749']Could you recommend me some good tutorials or books, pref with some tutorials about create game states, loading models,...[/quote]

The [url="http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6812"]DirectX SDK[/url] contains a rich set of documents, including a very comprehensive manual and some tutorials to get you started. These have been my own primary source for learning DirectX. I don't know any books specifically aimed at creating game states, but [url="http://www.amazon.com/Game-Engine-Architecture-Jason-Gregory/dp/1568814135/ref=sr_1_1?ie=UTF8&qid=1333200124&sr=8-1"]Game Engine Architecture[/url] by Jason Gregory has gotten some exceptionally good reviews (I'm planning to read it myself some time in the future).

As for loading models DirectX has it's own format called [url="http://msdn.microsoft.com/en-us/library/windows/desktop/bb174837(v=vs.85).aspx"]X files[/url] which is probably the easiest format to start with since the SDK has build-in functionality for handling these files. Various 3rd party 3DS plug-ins are also available for saving in this format. Alternatively you could export your models as either [url="http://www.martinreddy.net/gfx/3d/OBJ.spec"]Wavefront OBJ[/url] (supported directly in 3DS) or the [url="https://collada.org"]COLLADA[/url] format (3DS plug-in available). Both of these formats are very popular in the game industry and you can thus find many resources for handling them on the internet. Also there is an entire forum on gamedev.net dedicated to DirectX programming, so ask around whenever you need some advice.

Share this post


Link to post
Share on other sites
Thank you alot for all the advice, I was thinking though, seeing as no points will be given on the way we create the monopoly game (the actual game is not of real significance, it's the technology that we use, the game is just to demonstrate), I was thinking about using an already released engine to speed things up a bit.

For example, the cryEngine, which I am aware of is waaaaaaaaaaay overkill for our project. What are your thoughts on this and what would you recommend?

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