Blogs PythonFlashWindows C++
October 25 2014

Lapmaster Download
Path Finding

Rocketeer Online

Elite, The New Kind

This website is all about having fun with computers. I first began to play with personal computers in the days of the KIM-1, and the Sol-20. From there I moved to the Apple II and the Commodore 64. It was an exciting time when a solitary programmer working alone into the night could create something innovative and marvelous. There were many thousands of us out there writing programs in basic to play checkers, tic-tac-toe, solitaire, Star Trek, Solitaire, and others I can't remember. A friend of mine and fellow home computer hobbyist told me about the time he got into a conversation with a young man working in a local computer store. My friend mentioned to the young man that he had written a program to play checkers and the young man responded by showing him a program he was working on, a fantasy role playing game. My friend thought that the game was rather silly and doubted if anyone would want to play it. The game was called Ultima, and the young man was named Richard Garriott.

The days when a solitary programmer could write best selling computer game are long gone, but I have never abandoned the hobby of computer game programming or the pleasure it has given me. You can't make a fortune writing computer games by yourself, but you can still have a lot of fun, you can learn a lot about information technology and software design. I believe that fun and learning go hand in hand, and while in these latter years my emphasis is more on the fun than the learning, I am still learning and still chasing the state of the developing technology.

Part of the fun is sharing with other like mind persons, so I am creating this web-site to make available what I have learned over the years. My current interests are programming with python, C++, and Flash. In order to make my programs more accessible, I have avoided using expensive software packages, with the exception of flash. I will be posting some games written using flash 8.

C++ is the most powerful tool for writing computer games and you can do almost anything with the express version which is distributed free by microsoft. Unfortunately, the learning curve is steep and it has taken me years to learn enough to do much with it. It was not until the circumstances of my day job forced me to tackle MSVC10 express that I began to make real progress. It is fairly easy to distribute programs developed with MSVC10, but you do have to include the redistributable DLL's. While these DLL's are included with the free version of MSVC10, I am told that you do not have the right to redistribute this library, unless you purchase the full version, which is expensive. The workaround is for the user of your program to install msvC10 express on his machine so he will have the required DLL's legally. I suppose there is some social value in this restriction, since it creates an incentive for people to install C++ and once they do that, they just might learn to use it, and if they turn pro they might break down and buy the full version from microsoft. To get Microsoft's official position, visit Determining Which DLLs to Redistribute. You might get away with illegally redistributing libraries, but then one day you might get the bigfoot right on your head, so don't do it.

Python and pygame are free and you can freely distribute your products, but your user will have to download and install these packages in order to run your program. Python and pygame are portable across multiple systems, they are easy to learn, easy to use, and very powerful, as long as you don't need extreme levels of performance. I am sticking with python 2.7 for now. For awhile, I used python 3.0, but when I tried to use pyOpenGL with python 3.0, I got stuck and had to go back to python 2.7, which I believe is what most people are using right now. That will probably change, but I have found no difficulty running stuff I wrote with python 3.0 with python 2.7. If you are interested in 3d programming with python, pyOpenGL is probably a good choice. What you learn from pyOpenGL is very helpful when using OpenGL with MSVC10, and vice versa.

Flash is a great tool for writing computer games because you can post your programs on a web-site and your users can run them online in their browser. The downside is you have to learn actionscript, which can take some time, and the flash authoring tool is rather expensive. Nevertheless, if you are willing to bite the bullet, you can make your games readily accessible to casual users.

Creating the graphics for your computer games can be a challenge. If you are an artist, you can probably do everything with paintshop pro (which I have) or photoshop (which I do not have). 3d graphical tools like Poser can be useful for creating animations for computer games, but that is kind of expensive. The flash authoring tool (I have an older version, Flash 8 professional) is great for creating graphics and creating animations if you are willing to invest the time and money. There are places where you can download free sprite images so you can go that route if you so choose.

Since I have worked mostly alone and am self taught, my programming style and methods may exhibit some profound ignorance and some peculiar eccentricities of my own. Still, I managed to make it to retirement as an aerospace engineer so it has not been entirely a waste, and I have enjoyed every moment of it.