USA Games News
http://www.usagames.us 3/3/2008 Introduction Greetings gamers, There is a lot going on here at USA Games Interactive. I can not begin to tell all of you how stressful and busy life has become for my wife and I over the last few weeks. Unfortunately, there have been several disruptions to our current game productions including a vicious hacker break in on the USA Games web server, and a grievous disagreement over the copyright issues over Montezuma's Return. As a result I am attempting to single-handedly get things straitened out. Which isn't an easy job considering both the web site and games need urgent attention as well as my daily duties as a husband, parent, contract developer, etc. Basically, a very busIn addition to the afore mentioned issues I've been strongly looking at taking USA Games in an entirely different direction development wise. There are a lot of different factors I need to look at before I eventually decide one way or the other where to go with our new development projects. One of the biggest questions I am personally dealing with is weather or not to remain with C# and use the XNA Framework, which is not very accessible, or move all our games to Java. Either way I do feel that a change in direction is necessary in order to stay on the cutting edge of software development. One final note before I get down to the real news I'd like to announce USA Games new developers initiative. On Feb. 22, 2008 USA Games officially launched http://developers.usagames.us which is a wiki specially setup and designed for those of you interested in learning how to program your own accessible games. As of the time of this writing there is still a lot of work that needs to be completed such as a frequently asked questions section, Getting Started Guide, and of course adding several tutorials and training materials to the web site to research. Obviously, as strapped as I am with everything else the site isn't going to be completed soon, but I do hope to have some definitive guides, tutorials, and articles for accessible game programming sometime in the future. Changes In Development In January 2007 Microsoft released its latest operating system, Windows Vista, with many new features, technologies, and has transformed the industry standards for how game programmers design games for the new Windows platform. In the past someone with a little C++ or Visual Basic know-how could create Windows games using the Win32 API as well as the DirectX SDK. In 2001 Microsoft introduced the .NET Framework for Windows developers. Sometime after that Microsoft released DirectX 9.0 with a new technology called Managed DirectX. Managed DirectX is an optional DirectX upgrade that allows C++ .NET, C# .NET, and Visual Basic .NET developers to add DirectX to games and other multimedia applications. In 2006 Microsoft announced they were going to release Managed DirectX 2, but later reversed their decision and canceled the release of Managed DirectX 2. Soon after releasing Windows Vista Microsoft announced the release of the XNA Framework. The XNA Framework is a new set of gaming libraries and APIs from Microsoft specially targeting new games for the XBox 360, Windows XP, and Windows Vista. Like managed DirectX XNA is based upon the .NET technology, and is specially designed for C# .NET game developers. That would be fine except for a big problem. I discovered in order to use the XNA technology in my future games I would have to pack my game sound files using a tool named Xact. As luck would have it Xact is very unaccessible with Jaws, Window Eyes, NVDA, or any other screen reader I have tried. To add insult to injury in August 2007 Microsoft announced in their DirectX release notes that Managed DirectX was to be phased out of the following DirectX SDK release. True to form the November DirectX SDK had no official support for .NET developers putting USA Games in a real bind. The situation is simply this. If USA Games is to continue using C# as our development language of choice we will either have to stick with the DirectX August 2007 release, find a way to work with Xact, or find some alternative language and APIs to use. Luckily, we are not without options and choices. Just a very time consuming issue when we are already behind on two games already. At the time being USA Games is looking at the possibility of moving all our source code to Java. While it would be a major undertaking there are several good reasons why USA Games is looking at switching. Those reasons will briefly be discussed below. First, Java is one of the most flexible, highly portable, platform independent languages used by programmers today. Since Java relies on its own libraries, shipped with the Sun Java runtime environment, a Java based game can potentially be created on Windows, but be made to run with very little to no modifications to support Mac, Linux, Sun Solaris, etc. It all depends on how many operating system specific dependencies the developer uses. Second, as of Java 1.4.x Sun has been adding more functionality to Java to handle the demands of commercial games. For example, the javax.sound package has been upgraded to allow for the playback, looping, mixing, panning, etc of game sounds. While not DirectX Sound quality it is a pretty good package if your needs aren't too advanced such as 3D audio. As for USA Games we are currently looking at a Java runtime update called java.media. The java.media package seams to have all the bells and whistles required to produce top-of-the-line 3D FPS shooters, racing games, etc. Another recent discovery is the JInput package. The JInput package is a nice game developers input package which allows a Java game developer to include keyboards, mice, game pads, and force feedback game controllers to any Java game. The advantage of this is that USA games doesn't have to worry about dropping support for racing wheels and other devices in games like Raceway if we decide to go Java. Finally, for years Java has been notorious for having accessibility issues with screen readers. A lot of this is because the swing toolkit requires the presents of an accessibility bridge, and of course the screen reader needs to support it as well. Miss anyone of those requirements and your Java application days are over. However, recently I have discovered an accessible alternative to swing. The Java Eclipse IDE, used for developing Java applications, offers an alternative toolkit called swt. What is nice about swt is that it wraps the native operating systems widget toolkit exposing the window elements in the operating systems native API. What this means in layman's speak is that swt will create a window with buttons, edit fields, check boxes, etc similar to ones created by traditional Windows applications written in Visual Basic or C++. Screen readers like Jaws, Window Eyes, NVDA, Hal, can read swt Java applications without requiring the Java access bridge which is a good thing. In addition, swt isn't limited to Win32 applications. It is also supported on Mac to wrap Mac's Cocoa graphical toolkit and Linux's GTK+2 toolkit. With swt I feel very sure USA Games can begin building Java based applications insuring maximum access out of the box. Another popular advantage of Java over other programming languages is that Java has been designed to prevent certain common programmer errors that all programmers make from time to time. For example, one very common error programmers make is failing to initialize variables as the create them. In many programming languages you can declare a variable like int myVariable; with no default values. As a result when the program is run there is a tendency to crash or run into some sort of runtime error. Java is different at minimum you must do something like int myVariable = 0; which sets the default for myVariable to 0 unless new values have been passed to it. This makes safer, cleaner, and more error free code. Java also includes what is known as the garbage collector. In languages such as Visual Basic 6 and C++ it is pretty much left up to the programmer to use good coding practices and clean up memory leaks, dispose of unwanted objects, and game performance is usually based on how well the game is written. In Java its garbage collector is like a built in vacuum cleaner. The garbage collector keeps track of what is in memory, and as soon as it sees something that is no longer of use to the program it removes it from memory. This is often helpful as it places the responsibility on the Java JRE rather than in the hands of the human programmer. Not to say that the human programmer has no control. There are ways to call the garbage collector manually in Java to clean up a huge section of code you just completed for especially time sensitive or memory critical point in your application. As a result with the garbage collector Java isn't usually prone to such bugs as memory leaks and waisted CPU power as is the case with many games written in C++ or Visual Basic 6. While Microsoft has done its best to mottle C# .NET and Visual Basic .NET after Java there are still a few things Java can do better than any of the .NET programs. One of these areas happens to be networking. Java was designed from the beginning to work as server side and client side applications communicating over large and small scale networks. What this means, surprise, Java is well suited to networked games with multiplayer game play in mind. Which is another advantage to think about when considering Java. With all the advantages and possibilities Java has to offer I am certain Java is where USA Games is heading. There are of course going to be issues getting our new games launched, but in the end it will probably be worth it. Mysteries Of The Aztecs Formerly Montezuma's Return Over the last couple of weeks or so some of you have been emailing our info address asking about Montezuma's Return now known as Mysteries of the Aztecs. Do to recent copyright legal issues USA Games can not and will not offer old downloads of Montezuma's Return Beta 9 and earlier. We formally request that others do not pass around and share old copies of the software either as it would be a violation of our agreement with the copyright holders. As a result USA Games is working on a replacement game with a similar theme called Mysteries Of the Aztecs. Mysteries Of The Aztecs is the first in a new line of games called Tomb Hunter featuring daring adventurer Angela Summers. For a description of the new game visit http://www.usagames.us/mota.php and read the Mysteries Of the Aztecs home page for an overview of the new game. First, many users have asked if their product keys for Montezuma's Return will work with Mysteries Of The Aztecs. Our answer is yes. Weather we stick with C# or move to Java we plan to use the exact same authorization system to make the new game backward compatible with registration keys purchased before the copyright issues came up. The internal way that it works might be different, but your keys should still work. Second, a few have asked about refunds. Unfortunately, once keys have shipped we can no longer offer a refund for the product. However, we have used some of your money to purchase new sounds, music, etc to make Mysteries Of the Aztecs hopefully a better game than Montezuma's Return. Third, many of you have asked when will Mysteries of the Aztecs beta 2 be ready for download. Unfortunately, we can not give any release dates as we don't even know ourselves when it will be ready. We have decided to convert the code from C# to Java, which will take a few months, and will be designing an all new platform independent engine extending Mysteries Of the Aztecs to Mac OS Leopard and Linux operating systems. Finally, some time ago I had polled the community weather or not Mysteries Of the Aztecs should go FPS or remain a side-scroller. The majority of those polled were in favor of a side-scroller format so Mysteries Of The Aztecs will remain a side-scroller. Though, the levels and weapons will be a little different. One of the new changes is the game will definitely have a bit of Tomb Raider and Indiana Jones type elements appearing in the game. As Angela explores the Temple of Death she will be able to pickup lost or dropped items from Romo's failed expedition such as guns, etc. The new game will also feature some new traps such as a spinning blade trap Angela must duck under or jump over. She must also avoid rolling boulders, lava pits, fire pits, and cross underground streams and lakes. All on her way to meat the Aztecs king and queen of death in armed combat. USA Raceway Some of you have asked of late what is the status of Raceway. Unfortunately, there is not a lot to report since our primary focus has been on Mysteries Of the Aztecs, building our developer center, and trying to get the USA Games web site back up and running after a hacker hacked into our web hosting company and completely deleted the USA Games web site as well as everything else on the web server. However, one decision we have made is that USA Raceway is definitely going to be converted from C# to Java. We are still testing and trying to figure out JInput, but once we get racing wheel support figured out there is little reason not to make the switch to Java. We would like to see Raceway, as well as our other games go multiplatform, and we are making breakthroughs everyday to solve issues in making the switch. Though, there is one decision yet to be made. In the current C# .NET version of Raceway we had planned on creating a cfg file you could edit in notepad so you could change such information as driver name, sponsor, car, etc. In addition you could create your own seasons by editing the season.cfg file and putting the tracks in whatever order you wanted to play them. As a result of such editing you would be able to create the exact season races for Nascar 2008, 2007, 2006, or whatever year you wanted. While it is still possible in Java the question is not if it can be done, but how it should be done. When it comes to the matter of making a custom engine, as Raceway currently is, something like Sapi 5 is extremely helpful. It allows new or changed data to be spoken aloud, and it doesn't matter if the driver is your own name or Jeff Gordon, Richard Petty, Mickey Mouse, Donald Duck, Sponge Bob Square Pants, etc. the use of Sapi in a game like Raceway will adapt to new data, and allow the Nascar fan to do whatever with the game. There is a commercial SDK for Java developers for Sapi 5 engines, but then the game would become tied to Windows. Frankly, that bites. The alternative is to find a human to record everything, that would sound more like Nascar Thunder 2006, but you would lose the total customization ability of changing driver names, cars, and sponsors. Though, personally I think the second choice is slightly better than the former. If I go with the second option one way to reach a compromise is to use common everyday first names such as Richard, Jeff, Kyle, John, etc. If you are racing you might be able to pretend that the guy in the car next to you with the name Richard is Richard Petty without having to use the guys full name. You can see how that might work. Anyway, Raceway is for all intents and purposes going through a rethinking process. I have not forgotten about the game, am still working on it, but it isn't my primary focus right now. --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to [EMAIL PROTECTED] You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/[EMAIL PROTECTED] If you have any questions or concerns regarding the management of the list, please send E-mail to [EMAIL PROTECTED]