USA Games News
July 2, 2009
Welcome to the July edition of the USA Games News. A lot has been
happening on the programming front, and I think we have some late
breaking developments that many of you may be interested in.
In our previous news letter we mentioned we were testing a cross
platform version of the Genesis Engine written in Java. Do to technical
details the Java version of the engine ran fairly poor on our testers
computers. As a result we have decided to discontinue development of the
Java based Genesis Engine, and have made the decision to completely
rewrite the Genesis Engine from scratch in C++. While this is going to
be a lot of work it will eventually be worth it in the long run.
One of the reasons we have decided to make the switch officially to C++
is the fact our future games will no longer be tied to a specific
runtime environment like the Java Runtime Environment, .NET Framework,
Mono, Python, etc. Instead each version of the Genesis Engine will be
specially designed and compiled for each target operating system. This
will have serious advantages over the C# .NET and Java based engines.
First, since each version of the engine will be designed for the
specific operating system and target platform we can take advantage of
each operating systems game programming development libraries. On Linux
we could use the SDL API, perhaps use OpenAL for 3d audio support, and
take advantage of the Gnome-Speech service natively. On Windows we could
use DirectX and Sapi. By having the core of the engine specifically
designed for the operating system at hand we can take full advantage of
its game programming libraries, accessibility services, and so on directly.
Second, by compiling the program as a native Windows, Mac, or Linux
executable we will be able to get the maximum speed and system
performance out of our future games. No matter how much goes into
optimizing runtime environments like the .NET Framework, Sun Java
Runtime Environment, Python, etc they still have too much over head to
compare with a native C++ application. Sometimes some Java and .NET
applications are close to native speeds, but they have a long way to go
to being equal to a well written native application.
Third, by using C++ we will drastically be reducing the size of our
software installations. For example, in the passed if an end user needs
to upgrade to the .NET Framework 3.5 and include Managed DirectX that
means he/she will have to download and install nearly 500 MB of
additional software with our games. Not to mention one of our number one
technical support issues has been helping end users get those two
dependencies installed and running correctly. So we feel the easiest
solution will be to eventually drop support for those technologies and
use native Windows, Linux, and Mac libraries directly.
Fourth, one of the main reasons we have decided to switch is that
Microsoft has made things difficult for us to continue using C# .NET for
future game development. Back in 2004 when we started developing games
Managed DirectX for .NET was brand new, was being heavily promoted, and
we decided to begin writing our games using C# 2003 and Managed DirectX.
By 2007 Microsoft announced Managed DirectX was being phased out, and
they were replacing it with the Managed XNA Framework. Unfortunately,
the Managed XNA Framework requires a developer to use an audio tool
called XAct that is fairly unaccessible for a blind developer. However,
the core C++ XNA libraries don't have this problem. So it only makes
sense to design games using C++ which is a more accessible alternative
Finally, if we decide to use the SDL sound mixer we will be able to
support compressed file types such as mp3or ogg for large background
music and ambience loops. Obviously if we can use mp3 and ogg for large
files we will be able to make our future games not only smaller, but
easier to download and install. Which I think will agree with everyone
regardless if they are on dial up access or on a high speed connection.
I know it probably seams like we have been going round and round in
circles about what programming language, APIs, etc we will be using for
the final Genesis release, and in a sense you would be right. It has
taken us a long time to experiment with programming languages and APIs
to find something that works with Mac, Windows, and Linux equally. At
last I think we have done it. Admittedly it is more work than I had
planned on, but I think it will be well worth it in the long run.
Mysteries of the Ancients
At long last it appears we are beginning to catch up with our release
schedule. Initially we were planning on a June release, but obviously
that didn't happen. However, beta 6 has proven itself to be fairly
stable, and there weren't many bugs reported. We have fixed those bugs,
and are currently developing new levels. Hopefully, time permitting, we
should be able to start processing preorders with in the next month or so.
Believe it or not we haven't forgotten any of you who are eagerly
waiting for Raceway. In fact, Raceway has experienced some recent
development thanks to Jim Kitchen's Mach 1. When Jim Kitchen released
Mach 1 I, like several others, downloaded and tried it with my racing
wheel, and loved the experience. Then, the obvious happened.
At first, I was going to e-mail Jim Kitchen with a list of suggestions,
ideas, and possible improvements for Mach 1. Then, after some time I had
a better idea. Why not take my ideas and add them to Raceway instead.
One thing lead to the next, and before i knew it i was importing the
Raceway source code from my back up drive, and found myself working on
the game again. At least on a here and there basis.
One of the major changes currently being worked on is I am porting the
game from C# to C++. Like the Genesis Engine I fully want to design the
game in C++, and research cross platform options for it. In the mean
time I am presently doing a straight port from C# to C++, and am using
the standard DirectX 8 and 9 libraries that ships with Windows 2000, XP,
and Vista. This will allow me to at least port the game, test it, before
introducing alternative technologies such as XAudio2, SDL, etc.
Needless to say in its current condition Raceway isn't really playable.
However, as soon as Mysteries of the Ancients is completed we will be
able to speed up development on Raceway. To be honest I'm looking
forward to it. While there are plenty of racing games out there there
aren't currently any that are like Nascar Thunder. Which is a sighted
game I own, and wish was fully accessible. Once Raceway hits the streets
I'll get my wish.
At any rate there is not a lot to report about Raceway since it isn't
currently our main focus. However, I am now more interested in seeing
this project through, and am eager to begin seriously working on the
game. Since Mysteries of the Ancients is rapidly nearing completion
Raceway should enter official development with in the next two or three
months. Perhaps earlier.
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.