USA Games News

May 22, 2009


Hello gamers,
Welcome to the may edition of the USA Games News. As usual we have our hands full trying to balance time equally between our personal lives as well as our current USA Games projects. As a result things haven't been progressing quite as quick as we had hoped, but that is to be expected. However, things are still progressing more or less smoothly, and we are hoping to have a release of Mysteries of the Ancients beta 5 in the not too distant future. I'll discuss that later on in this news letter. Before we actually discuss our games and other products currently under development I think we need to start with where we are heading as a game company and some of the new tools, languages, and other breakthroughs we are currently working on first. This information will explain more about where we are with games like Mysteries of the Ancients.

Genesis 3D

As a lot of you are aware over the passed year we have put a lot of time and research into different ways to port Genesis 3D from Windows to Mac OS X and Linux. It is a fairly involved process because the operating systems are fairly different in design, and those differences have to be over come by using common tools, libraries, and a common programming language supported by all of the target platforms. It can certainly be done as there are a few accessible games such as SoundRTS, the 7-128 games, and a few others are certainly Windows and Mac compatible. That proves it can certainly be done, but on the other hand I also know the Genesis Engine is a bit more sophisticated than those games. The Genesis Engine is designed to be a real time First Person game engine with 3d audio, true physics modeling, and a full virtual 3d environment. Porting all of that functionality from Windows to Mac or Linux is proving to be somewhat difficult to do. We do have options, but it takes quite a bit of time and testing. One possible solution, one highly recommended by professional game developers, is to switch to C++ and use open source solutions such as SDL, OpenAL, OpenGL, etc. That of course would certainly work, is probably the best approach, but it would take quite a bit of time to get everything converted to C++ and those open source solutions. So we kept looking. Another possibility was to use Java. I've programmed in Java for several years, know it fairly well, it is well known for cross platform software development and design, and it looked like a good place to start. As many of you might recall we initially ported the Genesis 3D Engine to Java 6 last summer with some mixed results. It worked, but we encountered various problems at the time and set it aside. Early this spring we decided to take a look at the Genesis Engine written in Java again. We ran it on a Linux test box and did quite a bit of testing, performance tuning, fixed various bugs, and ran it with a simple test game. Voila, the simple game seamed to work fine both on Windows and Linux without a lot of issues. It seamed at the time that the Genesis 3D Engine in Java was stable, worked, and the game was cross platform. So we decided to give it something bigger and more realistic to run.. We decided to port Mysteries of the Ancients to the Java based Genesis Engine with some mixed results. After we finished the porting process, which didn't take that long to complete, we found Mysteries of the Ancients beta 5 was a massive resource hog. When we ran it on a computer with a 3.6 GHZ Pentium processor and 1 GB of ram Mysteries of the Ancients ran, but it was using a lot of system resources to run. When I installed the game on an older laptop with a 1 GHZ processor and 256 MB of ram the game crashed on startup with memory errors. Still another test on a laptop with a 2 GHZ processor and 512 MB of ram ran, but it would also crash with memory errors after playing the game through a while. Obviously, the over all system performance of the game was terrible and something had to be done about it before releasing anything to the public. Part of the problem turned out to be the sounds themselves. In the Windows based version written in C-Sharp I always used sample rates of 44100 KHZ 16 byt mono. While it sounded great when I dropped those sounds into the Java based version of the game it used a lot of memory and performance took a massive hit. When I converted the sounds to 22500 KHZ instead of 44100 KHZ it made a huge improvement in over all performance. However, I am aware the game is still using too many system resources to run. One of the things I am doing now is looking for bottlenecks and areas of the game engine that can be cleaned up to run faster, lighter, and smoother. One area that has required lots of performance tuning is audio management. It is largely based on the Java Sound API, and from our initial testing it can't handle as many real time sound effects at once as DirectX. For the most part it is not a big deal, but to solve that particular issue we have had to rewrite a fair amount of code to unload any sounds that currently are not being used to save system memory. Basically, only load and use the sounds required for the items and enemies in the room plus any specific player sound effects. This is a bit time consuming, but when we are done I think most low memory issues will go away. It isn't something an end user is likely to notice, and it won't detract from the over all gaming experience. For example, let us assume a gamer decides to turn background music off in a game. Well, the music file is no longer needed so the Genesis Engine will unload it from memory freeing up x amount of memory for something else. It isn't something a gamer would necessarily notice, but it will dramatically improve over all proformence and system resources by not waisting memory and processor power on unnecessary sounds and music. Bottom line, I think the Java based Genesis 3D Engine shows serious promise as our next generation cross platform game engine. However, until we finish debugging it and release a public test release of an actual game using it we won't know how successful it is going to be. We have high hopes that it will be the answer we seek for producing Windows, Mac, and Linux titles, but only time and public testing will tell.

Tomb Hunter
Mysteries of the Ancients

I think the last section of this news letter pretty much covered all the major issues with Mysteries of the Ancients. Basically we hope to release a cross platform version of the game written in Java 6 that will run equally on Mac OS X, Linux, and Windows. WE are coming up on a public release for beta 5 soon, but most of the delays are do to technical issues with the engine itself. Once we fix some of those technical issues we plan to release a copy to our private testers for feedback, testing, and will fix any issues that arise from private testing. After that we will release Mysteries of the Ancients beta 5 to the public for more testing. A couple of weeks ago we asked the Audyssey list about scoring. The majority of those polled indicated that they would very much like to keep the scoring feature. Since there are a number of those in favor of it we will eventually add that into the cross platform engine. For testing purposes I have elected to keep scoring out of beta 5, but once we know the Java based engine is stable, runs smoothly, works well, etc I see no reason not to go ahead and add scoring and arcade mode back into the game at some point. However, it isn't a top priority at the moment. In a nutshell we are going to attempt to release a cross platform version of the game soon. If it succeeds that will be great. If it fails we still have the Windows release written in C-Sharp that uses DirectX to fall back on. In either case the final release should be out in the next couple of months assuming all goes well.

Gamers mailing list __
If you want to leave the list, send E-mail to
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

Reply via email to