Hi Bryan, The subject of which programming language is best is contriversial since every programmer has his or her own favorites. Also some programmers find that one language is easier to learn over another. So rather than give you one programming option let me explain some of your options available to you. I will try and describe the pros and cons of each language.
1. For many years many blind programmers have used Visual Basic 6 for writing games. The one reason it has remained so popular among blind developers is that it is fairly easy to learn, it uses lots of words instead of symbols when writing source code, it doesn't use allot of complex programming techniques, and Microsoft designed it for the average Joe to use. However, after years of service Visual Basic 6 is being fazed out of both the commercial and private programming sector. The compilers can no longer be obtained except through used software dealers, Microsoft has announced Visual Basic 6 will no longer be supported on the Windows operating system after Vista, it does not meat current programming guidelines and standards, and newer versions of DirectX 9 do not ship with the Visual Basic components for development. As a programmer myself I personally would not recommend Visual Basic 6 because it doesn't meat current object oriented design standards which are pretty universal with Visual Basic 2008, Java 6, C# 2008, C++, etc... 2. Another version of Visual Basic called Visual Basic .Net, which has replaced Visual Basic 6, is also being used to write audio games. For example, Che wrote Rail Racer using Visual Basic .Net 2003, but the current version is Visual Basic .Net 2008. Some reasons you might want to use Visual Basic .Net is it is nearly as easy to program as Visual Basic 6, meets all programming standards, supports managed DirectX 9.0C, and is XP and Vista ready. However, there is an important piece of info I think you need to know about Visual Basic .Net. In January 2007 after releasing Windows Vista Microsoft announced that they were dropping Managed DirectX support in late 2007 or early 2008. They were developing a new gaming framework called XNA which only supports C# .Net and C++. This is a huge problem for any Visual Basic developer who is being cut out of the game programming market unless they switch or use old libraries and tools. I found out recently when I downloaded the November 2007 DirectX update Managed DirectX is not in the SDK. For that reason alone I wouldn't pick it, but also finding reliable Managed DirectX source code for Visual Basic is hard to find anyway. 3. In 2002 Microsoft created a stripped down version of C++ called C-Sharp. Unlike C++ C-Sharp was designed to replace Visual Basic as the industry standard for rapid programming, development, and cross portible language. It is currently being used to power Windows Mobile applications, write games for the XBox 360, write cross platform applications for Windows, Mac, and Linux. As a fan of the language it is a language i do allot of programming in, and I personally felt it was fairly easy to learn. However, while C-Sharp is my personal choice I would not be honest if I didn't point out a few of it's short comings. First, Managed DirectX 9 was designed in C-Sharp so writing games in C-Sharp works smoothly together and for a while was the recommended Managed DirectX language for developers. However, now that Managed DirectX is being dropped out of the DirectX SDK I'm not sure exactly how long DirectX support will be available for C-Sharp developers. As long as Auggest 2007 is supported on Windows I suppose is the life time of your applications using DirectX. Second, as I found out the hard way allot of users out there aren't usually running the latest and greatest software. So allot of your technical support time will be talking users of your games through basic Windows update installations of DirectX, .Net Framework, and other things C-Sharp uses to run your applications. With Vista it is easier since C-Sharp and Visual Basic .Net support is built in, but again many users aren't running the newest stuff so for a while until the majority get upgraded this is going to be a headache for a while yet. Third, Microsoft has released the XNA library for the XBox andPC which C-Sharp supports. The problem is that the software is so new it is still quite buggy compared to Managed DirectX, and the sound packing tool, XACT, sucks with Jaws and Window Eyes. It is very difficult to make sound libraries using XN=A do to accessibility issues. 4. Recently some programmers have began making accessible games in Python. Python is really easy to learn supports scripting ability, supports the Simple Direct Media Library, (SDL,) is multiplatform and is a pretty good language. If you want something really easy I'd say Python is the language to learn.However, my major issue with it is that Python is totally dependant on if the source code is formatted correctly. If you don't get it formatted exactly right it will crash your programs, and the main reason I don't do allot more programming in Python. If you want to program in Python you either need to have a braille display handy or have your screen reader announce spacing and indention for every line of the source code. It is doable, but can be frustration. Summary I don't think there is such a thing as a right or wrong programming language for an accessible game developer. If it all seams confusing and complicated it really is. As you can see Microsoft is in a huge transition faze where they are fazing out older technologies and creating new ones for Vista and later Windows operating systems. If you use something too old you may have to rewrite your game to support these newer technologies in the future. If you write something too new you will have to help users get up to speed with the latest in technology changes which isn't always easy to do. One more thing to think about is supporting other operating systems besides Windows. Now, that Mac OS and Ubuntu Linux is accessible I've been seeing more and more technically experienced blind users switching to those operating systems either as their primary or secondary operating system. In such a case thinking about supporting non-Windows platforms might mean you want to pick Python or Java as your language of choice. I hope this explains things a little clearer. --- Gamers mailing list __ [email protected] 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]
