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

Started by
5 comments, last by yannickw 12 years ago
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.
Advertisement
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.

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.


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.
So I just need to catch the WM_TOUCH message and subscribe to the different touch events?


Yes.

Which would you recommend, DirectX or OpenGL?


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).

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.


Well, as a general rule very high level languages tend to decrease development time at the cost of less flexibility.
Could you recommend me some good tutorials or books, pref with some tutorials about create game states, loading models,...
Could you recommend me some good tutorials or books, pref with some tutorials about create game states, loading models,...


The DirectX SDK 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 Game Engine Architecture 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 X files 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 Wavefront OBJ (supported directly in 3DS) or the COLLADA 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.
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?

This topic is closed to new replies.

Advertisement