Monopoly game with WM_Touch events

Started by
7 comments, last by yannickw 12 years ago
Dear community,

For my master thesis I have to create a monopoly game that will use WM_touch messages for its input, the actual input will be a touch foil connected via USB and the screen of the windows 7 tablet itself. I can't really tell you much more about it as I'm under NDA.

Now I have a relative good understanding of several programming languages (c++, c# and java), but I'm absolutely not a pro in creating games (I have some experience with OpenGL, but it's gonna be a pain to create a monopoly game from scratch using OpenGL or directX).

So my question, what do you guys recommend me using to get my result in the fastest and easiest way(Using an existing engine, OpenGL, directx 11,...), because when I look how long the code is for simply initializing directX, I get a bit scared (OpenGL seems like a walk in the park compared to directx) :P.

P.S.: I've had a look at XNA, but it doesn't support WM_touch messages nativly and I rather not use wrappers as they tend to slow things down.
Advertisement

For my master thesis I have to create a monopoly game that will use WM_touch messages for its input, the actual input will be a touch foil connected via USB and the screen of the windows 7 tablet itself. I can't really tell you much more about it as I'm under NDA.


What is a "touch foil" and what USB device classes does it support? Do you need WM_touch messages?


P.S.: I've had a look at XNA, but it doesn't support WM_touch messages nativly and I rather not use wrappers as they tend to slow things down.


I don't think the USER INPUT of a Monopoly-like game can be a performance bottleneck.
Besides, according to http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.input.touch.aspx your definition of "doesn't support" appears overly pessimistic.

Omae Wa Mou Shindeiru


[quote name='yannickw' timestamp='1334569170' post='4931676']
For my master thesis I have to create a monopoly game that will use WM_touch messages for its input, the actual input will be a touch foil connected via USB and the screen of the windows 7 tablet itself. I can't really tell you much more about it as I'm under NDA.


What is a "touch foil" and what USB device classes does it support? Do you need WM_touch messages?


P.S.: I've had a look at XNA, but it doesn't support WM_touch messages nativly and I rather not use wrappers as they tend to slow things down.


I don't think the USER INPUT of a Monopoly-like game can be a performance bottleneck.
Besides, according to http://msdn.microsof...nput.touch.aspx your definition of "doesn't support" appears overly pessimistic.
[/quote]

I can't disclose too much, but the touch foil will 'send' WM_TOUCH events. As for the 'doesn't support':http://blogs.msdn.com/b/shawnhar/archive/2010/09/09/touch-input-on-windows-in-xna-game-studio-4-0.aspx.
Like I said, I don't like using wrappers as they tend to make things slow and complicated :).
Ah but if it is a windows only game you are not restricted to just using the XNA library you can access all of .NET on a full windows install if the user installs the full .NET package.
Basically on a full blown windows os you can get away with nearly everything in XNA, even dropping back into native with C++/CLI, the XNA restrictions only really apply if the device/client only has the capability or wish to have the Compact verison of .NET installed.

But seeing that most of this is experimental/prototype hardware you are going to have to do a lot yourself.

Setup of DX isn't that bad and you can have DXUT do this for you look at the SDK for a tutorial of it, this only gives you a window with the required settings and handle functions for most common tasks in DX (eg: lost device, message loop, init and setup of DX device).

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max, Watch Dogs: Legion


Ah but if it is a windows only game you are not restricted to just using the XNA library you can access all of .NET on a full windows install if the user installs the full .NET package.
Basically on a full blown windows os you can get away with nearly everything in XNA, even dropping back into native with C++/CLI, the XNA restrictions only really apply if the device/client only has the capability or wish to have the Compact verison of .NET installed.

But seeing that most of this is experimental/prototype hardware you are going to have to do a lot yourself.

Setup of DX isn't that bad and you can have DXUT do this for you look at the SDK for a tutorial of it, this only gives you a window with the required settings and handle functions for most common tasks in DX (eg: lost device, message loop, init and setup of DX device).


Thanks alot for the information, is there any way you can give me advice on how to get the interop library to work with XNA, or how to use WPF for touch events and send those to my XNA application (just brainstorming here :) ). The hardware is experimental for what we are trying to do with it, yet the drivers are rather mature so it's just a matter of getting WM_touch events, which is really simple in C++. I'm baffled why it can't be this simple in XNA/C# :(.

[quote name='NightCreature83' timestamp='1334581287' post='4931723']
Ah but if it is a windows only game you are not restricted to just using the XNA library you can access all of .NET on a full windows install if the user installs the full .NET package.
Basically on a full blown windows os you can get away with nearly everything in XNA, even dropping back into native with C++/CLI, the XNA restrictions only really apply if the device/client only has the capability or wish to have the Compact verison of .NET installed.

But seeing that most of this is experimental/prototype hardware you are going to have to do a lot yourself.

Setup of DX isn't that bad and you can have DXUT do this for you look at the SDK for a tutorial of it, this only gives you a window with the required settings and handle functions for most common tasks in DX (eg: lost device, message loop, init and setup of DX device).


Thanks alot for the information, is there any way you can give me advice on how to get the interop library to work with XNA, or how to use WPF for touch events and send those to my XNA application (just brainstorming here smile.png ). The hardware is experimental for what we are trying to do with it, yet the drivers are rather mature so it's just a matter of getting WM_touch events, which is really simple in C++. I'm baffled why it can't be this simple in XNA/C# sad.png.
[/quote]
It's not that simple in XNA because it leans ontop of a message loop itself which generates events(function calls that are registered) or fills out a input state which you can then querry but only does this for simple known controllers (eg. KeyBoard, GamePad and Touch device on WP7). You want to pass the XNA hwnd into a C++ class which can then just look at the native windows message loop. You do this by polling the GetMessage function with the HWND you provided the C++ class, in the C++ class you could create a ref class and fill it out with the current state of the device you are listening at and pass that back to XNA. This is what the interop liberary is most likely doing anyway.

I would pick the library as that will do most of the heavy lifting for you , see if you can get the source for the library as well as you will be able to modify what it is doing for your purposes.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max, Watch Dogs: Legion

I would probably use SFML or SDL for graphics (without initializing the input parts of those libraries), and then manually handle the input. It sounds to me like you are looking for a fast way to get graphics up and running while worrying about the input yourself?
hey, send me a message as soon as you have a playable demo. I'm a huge Monopoly fan.
Electronic, Hard House, Film Music

88 preview tracks to listen to online + artist forums

And my projects Vanethian, and X-tivity Factor

hey, send me a message as soon as you have a playable demo. I'm a huge Monopoly fan.


You won't be able to play it without the hardware we got ;). But I'll send you some screenshots if I remember, don't expect too much though :P


I would probably use SFML or SDL for graphics (without initializing the input parts of those libraries), and then manually handle the input. It sounds to me like you are looking for a fast way to get graphics up and running while worrying about the input yourself?




Yeah, that's my idea now, to use SFML(or cocos2D-x) and do everything in 2D, we got a designer in the team so he can make us the sprites/textures. We'll see how it goes.

This topic is closed to new replies.

Advertisement