Yeah, I'm strongly looking at XAudio2 myself. I've read over the DirectX
documentation and have tinkered with the sample source code some too.
Over all I like the library, but I'm honestly not very familiar with it
yet. I'm wondering since you seam to have a lead on this if you would be
willing to help me with it either off list or on the game developers list.
I'm fairly certain that Mysteries of the Ancients will be my last game
written in C# using the Managed DirectX libraries. While those
technologies have served me well, the games I have created aren't bad by
any means, I'm none-the-less dissatisfied with them from a technical
point of view. For one thing Microsoft has discontinued Managed DirectX
and that is a core component in all of my current game projects. Then,
you have the issue that none of my games will run on a 64 byt processor
because I don't own a professional version of Visual C#, and I can't
change the target platform with the express version. Finally, when you
consider the download size for the .NET Framework updates, the Managed
DirectX updates, etc you end up with nearly 500 MB of additional
components just to install one game. That frankly sucks.
Anyway, I understand your opinion of using C++ for writing games
completely. Recently I have written some test game projects in C++ on my
Linux computer here, and the results are pretty conclusive. The same
application written in C++ is faster, runs smoother, and operates better
than one written in Java, Python, or in C-Sharp. Runtime languages run
much slower and use more memory in the process.
While I find doing my own garbage collection a bit of a pain, kind of
like going back to the dark ages of programming, it is none-the-less
much better for the game in the long run. When I wrote the same
application in Java the Java garbage collecter couldn't keep up. It was
too slow to keep up with everything going on. Java is and always has
been designed for standard applications, and I feel is far to clunky for
fast action games. Python was equally slow and clunky when push comes to
shove. C-Sharp held its own, was almost as fast as C++, but still
requires a bunch of dependancies to be installed and run. Not to mention
the fact no native access to core Linux components like gnome-speech
that would come in handy for an accessible game designed for Linux. All
and all C++ would be my pick based on the evidence.
As far as DirectInput verses using Windows keyboard events that is
interesting. I've always read that DirectInput was faster than using
standard Windows events for keyboards and mice. If you say is true then
I'll have to remind myself on how to recieve standard keyboard input via
Windows than DirectInput. I haven't done it in so long I've forgotten how.
Davy Kager wrote:
I am developing a new game title (Project Excalibur) myself, using
Unmanaged C++ and XAudio2. So I can tell that XAudio2 definitely is a
superior version of DirectSound. It is extremely flexible, fast and
easy to use once you get used to it.
As for th einput side of things, I was previously using DirectInput
for the keyboard input, but I have changed to standard Windows input
handling. These Windows messages that represent keypresses are easier
to retrieve (Windows sends them anyway), there is no seperate
interface anymore (decreased program size), the Windows input system
for keyboards seems faster than DirectInput, and Windows input allows
you to get more detailed information about the keypress. This last
advantage effectively means that you can detect if a key was
previously pressed or not, which is useful to turn key repeat off in
your game title. For joystick support you would still be best of with
DirectInput as far as I can tell. But then, I ahve never written or
researched joystick support in games.
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
All messages are archived and can be searched and read at
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.