{Programming Samples}
{StatMaker}
Version 1.5
![]() |
{Download}
(45k RAR file with Program and Manual in CHM and TXT formats)
One of the truisms of tabletop Role Playing Games is that they involve a lot of math. Fiddly, little math, usually involving generating a lot of random numbers and doing a lot of simple but irritating arithmetic. While this isn't hard, it does tend to get time consuming. For example, generating
characters. I started running a Dungeons & Dragons game a while back, and I needed a lot of bad guys without a lot of fuss. So, I wrote StatMaker - partly as a way to teach myself Visual Basic, but mostly to reduce the number of dice I was rolling while holed up at my desk. I kept adding features, so that by version 1.5 it would simulate just about anything you would need to do with dice in an RPG.
As part of this project, I sat down and tought myself how to compile Microsoft HTML Help files, so the help menu actually spawns a normal windows help box.
As part of this project, I sat down and tought myself how to compile Microsoft HTML Help files, so the help menu actually spawns a normal windows help box.
{NavaComputer}
Version 2.0.3
![]() |
{Download}
(22k ZIP file with Program)
Moving from the Fantastical Past to a Fantastical Future, we arrive at this application I wrote for the Star Wars RPG. The game has a really nifty space navigation system, but one that involves a incredible amount of fiddly math. (See also the comments above.) The system will take into account virtually any situation - but this tends to turn into a series of questions like "Are you in an Asteroid Field? If yes, add four, if not, subtract 2." It got old fast. Exactly what computers were invented for in the first place.
NavaComputer 2 is a full implementation of the hyperspace rules from WOTC's Star Wars RPG. If it's in the book, the program handles it.
(As a side note, the program does require the galactic map in the rule book to determine your departure and arrival sectors. In the interest of not violating the copyright of a huge corporation more than strictly necessary, the chart is reproduced neither here or in the program. You can still use the program without the chart, you just can't get an accurate travel time to Tatooine.)
NavaComputer 2 is a full implementation of the hyperspace rules from WOTC's Star Wars RPG. If it's in the book, the program handles it.
(As a side note, the program does require the galactic map in the rule book to determine your departure and arrival sectors. In the interest of not violating the copyright of a huge corporation more than strictly necessary, the chart is reproduced neither here or in the program. You can still use the program without the chart, you just can't get an accurate travel time to Tatooine.)
{Wumpus-O-Matic}
![]() |
{Download}
(67k ZIP file with Program, Readme, and maps)
{Download Source Code}
(12k ZIP file with C++ source code.)
(Note: this is the code for the UNIX variant. While this
SHOULD still compile fine on a Windows box, it depends on the
compiler implementation, so your mileage may vary.)
Back in the misty pre-history of computer games (that is, the mid 1970s) "Hunt the Wumpus" was one of the first games written. It was pretty simple by today's standards - you wandered around a maze trying to kill a monster and recover the gold. As computers moved on, "Hunt the Wumpus" became one of those programs you just couldn't avoid writing if you were studying for a Computer Science degree. This, then, is my version.
Note the extremely groovy character mode graphics - a legacy of the fact that this had to run on both a Win9x box and a UNIX terminal. Also, as this was specifically written for my Artificial Intelligence class, there are a series of AI agents that will try to beat the game. All this - and you can design your own maps with a minimal of fuss! See the readme for more. And look out for bats.
{Sector 190 - Asteroids: The Program}
{Download}
(505k ZIP file with Program)
{Download Source Code}
(375k ZIP file with C++ source code.)
(Note: will not compile without a full installation of the OpenGL source.)
For the background on this "game," check out the blurb under the intro movie over in the {3D
Animation} department. That's the movie, and this is the program itself. Marvel at the real physics! Note that the shuttle is the same wire frame as in the opening! Wonder why the laser guns totally fail to explode the rocks! (The reason for this being that the code in charge of
that was buggy as hell. We only hand out the "bug free" version. And besides, the point was to get the ship to fly around.
This officially is a tech demo, not a game. Sorry. I'm disappointed too.)
The program uses OpenGL, and if your OGL implementation isn't up to snuff, the game won't run. This isn't as big a problem as it was four years ago, so it should work - but if it doesn't, that's why.
(And as a final side note, the part of this I'm most proud of personally is the font used for the displays. I wrote that from scratch myself for a different project, and we just ported it on into this one. Sure, the flying space ship in 3D with real physics that we built as a team is cool and all, but those text routines are all mine.)
The program uses OpenGL, and if your OGL implementation isn't up to snuff, the game won't run. This isn't as big a problem as it was four years ago, so it should work - but if it doesn't, that's why.
(And as a final side note, the part of this I'm most proud of personally is the font used for the displays. I wrote that from scratch myself for a different project, and we just ported it on into this one. Sure, the flying space ship in 3D with real physics that we built as a team is cool and all, but those text routines are all mine.)
You are in a maze of twisty web pages, all alike...
{Stranded on New Molo - An Interactive Adventure}
{Download}
(59k RAR archive with Z-Machine file and source code.)
Remember Zork? And all those other text adventures from back in the 1980s? Turns out, you
aren't the only one. There's a whole mess of folks out there who are keeping the flame alive, as it were, and generating new all-text
adventures in the old school Infocom mold.
Turns out this is pretty easy, since Infocom's basic code base has all become public domain since the company self-destructed at the start of the 1990s. Since then, the code has all ben updated an ported over to a modern C++ base. This project lives at www.inform-fiction.org, where you can download the compiler and the full documentation for the modern version of the Infocom adventure scripting language, and start writing your own text based adventures. Like I did.
The game presented here is a smallish sci-fi game I wrote as part of the project to teach myself the language. Originally intended as the prologue to a much longer work, it's been re-worked to function as a game in it's own right. The RAR file has both the source code and the compiled Z-Machine Story file.
To explain that last sentence: the old Infocom system was interpreter based. Every story would be complied to a single data file and written for a fictional computer that the company called the Z-Machine. Then, the data file would be run through a Z-Machine interpreter, custom written for each actual computer OS. This way, the interpreter could handle all the system specific calls (and things like the parser and the dictionary) allowing the same game to be ported to as many different systems as possible - and advantage in the early 80s, when a single platform had as yet failed to achieve dominance over the home PC market. The original Zork was released for something like two dozen separate platforms, all made possible since they only had to write the game once.
The upshot of all this is - you need a Z-Machine interpreter to make these things work. I like Windows Frotz 2002. (And, for the record, WinFroz will load up old Infocom story files just fine. So if you can pull the file off your old Tandy 1000 disks for Enchanter, you can play it again with no trouble.)
For more information about the INFORM language and the Z-Machine, as well as the compiler, head over to www.inform-ficiton.org. For more on Infocom, try here, here, or here.
Turns out this is pretty easy, since Infocom's basic code base has all become public domain since the company self-destructed at the start of the 1990s. Since then, the code has all ben updated an ported over to a modern C++ base. This project lives at www.inform-fiction.org, where you can download the compiler and the full documentation for the modern version of the Infocom adventure scripting language, and start writing your own text based adventures. Like I did.
The game presented here is a smallish sci-fi game I wrote as part of the project to teach myself the language. Originally intended as the prologue to a much longer work, it's been re-worked to function as a game in it's own right. The RAR file has both the source code and the compiled Z-Machine Story file.
To explain that last sentence: the old Infocom system was interpreter based. Every story would be complied to a single data file and written for a fictional computer that the company called the Z-Machine. Then, the data file would be run through a Z-Machine interpreter, custom written for each actual computer OS. This way, the interpreter could handle all the system specific calls (and things like the parser and the dictionary) allowing the same game to be ported to as many different systems as possible - and advantage in the early 80s, when a single platform had as yet failed to achieve dominance over the home PC market. The original Zork was released for something like two dozen separate platforms, all made possible since they only had to write the game once.
The upshot of all this is - you need a Z-Machine interpreter to make these things work. I like Windows Frotz 2002. (And, for the record, WinFroz will load up old Infocom story files just fine. So if you can pull the file off your old Tandy 1000 disks for Enchanter, you can play it again with no trouble.)
For more information about the INFORM language and the Z-Machine, as well as the compiler, head over to www.inform-ficiton.org. For more on Infocom, try here, here, or here.
{BACK}
{colophon}


