views:

128

answers:

1

I'm looking to develop a multitouch rhythm game in C#. So far, I've decided on several requirements for the game that must absolutely be present:

1) Unicode text display, without the characters being known beforehand (i.e. the displayed strings are not known at compile time, but entered in by the user).
2) Support for display of all the common image formats (PNG, JPG, BMP, GIF) and playback of various audio (MP3, WAV, OGG, FLAC) and video formats.
3) Full multitouch support (I'd like to support as many simultaneous inputs as the user's hardware allows).

I had been fiddling with XNA, but I've found drawing arbitrary Unicode text with SpriteFonts difficult (it hates it when you try and load the entire CJK Unified set). In addition, I haven't found an easy way to load certain formats like Ogg Vorbis audio in XNA.

So, with this in mind, I've started looking into using DirectX 10 via SlimDX. However, I'm very lost, and am unsure of how to start with it and if the features I need are even present in it. To top it off, SlimDX documentation seems to be very lacking, especially with me being new to game development. Which one of the two frameworks would be best for my goals?

EDIT 1 : Any references to starting game development with SlimDX (June 2010) would be very helpful as well, especially in relation to Direct2D, which what I'll most likely be using.

+2  A: 

Based off of your concern of SlimDX documentation and the fact that you want to use Multitouch (which I can't determine if that is accessible from SlimDX - refer to documentation comment) I'd suggest going with XNA.

XNA doesn't have immediate support for OGG but there are several nice converters out there. If you didn't want the hassle of converting them before hand, you could create your own Content Pipeline Processor to do the conversion for you. Assuming you don't want want to actaully try and read in the bytes manually and process them you may want to use this tool either in standalone mode or by utilizing the command line in your custom importer: http://klucher.com/blog/game-development-program-of-the-week-xrecode/%20

For the fonts you can modify the XML file to only specify the characters you want. So if you know you will only utilize 1/2 of the characters then you can put that in the .spritefont xml file and only those characters will be generated.

With the new XNA Game Studio 4 (Still in Beta, but definitely what you should start out using) it has built in support for multitouch. It has some gestures built in as well and works for Windows Phone 7. My assumption is that the XNA team will make it accessible in Windows 7 as well before too long. In the mean time, check out Shawn Hargreaves' blog. He has an article under his input section on this.

There are tons of examples using Microsoft's XNA library so if you are just starting out this could be invaluable.

Hope this helps,

Chad

kewlniss