Games List

I am in the middle of developing several new games that will be either sold at retail, distributed via shareware, or given away for free just for fun. I’ve established my own game studio, Primeval Games, and will be releasing several games under this banner over the next year. This is a low-stress, slow scheduled studio comprised of myself, a few friends, and UAT students. I have also written about a dozen games included with various books.

STARSHIP BATTLES

01fig05.jpgibmpcgraphics.jpgStarship Battles is the first game I ever created (and finished), and I was extremely proud of it at the time (circa 1991). I had spent several years working with the BASIC language and never quite “got it” as far as game programming goes, even though I learned all I could teach myself. Although I tried to learn the secrets of the trade, I had no mentor, and there were no game dev books back then, only a few graphics books. One such book was IBM PC Graphics by John Clark Craig and Jeff Bretz, published by TAB Books. I pored over the BASIC code for weeks, trying to understand even the basics of a real-time game. I only managed to create a checkers game in BASIC but it was turn based. I am fond of this book, and recently contacted Mr. Craig and enjoyed a conversation with him about the old days.

01fig09.jpgI spent a lot of time with BASIC and Pascal before getting into C. Starship Battles was based on FASA’s popular Star Trek: The Role Playing Game, which featured a hex-based space battle game with miniatures and extensive documentation on starship specifications. I created an editor program that stored ship data in a custom binary file. The game supported the very new Sound Blaster card (by using the Sound Blaster SDK) and 01fig10.jpgdual joysticks via my own assembly language joystick code. It was fun playing one-on-one using dual Gravis gamepads. I had absolutely no concept of storing artwork inside a bitmap file using rows and columns for sprites, so I created a custom sprite editor that stored sprites in a binary file format. For Starship Battles, I converted those sprites into individual BGI files that Turbo Pascal could load natively using the Borland Graphics Interface library.

01fig12.jpgMy first Sprites program ran in EGA and used my own assembly language code for mouse input. The second version used VGA mode 13h, 320×200, 256 colors, which was state of the art for PCs at the time. I was very proud of deluxe_paint_2.jpgSprites and spent hundreds of hours working on it, even adding a menu system. But it was woefully inadequate compared to industry standard tools at the time–namely, Deluxe Paint and Deluxe Animation. The completion of Starship Battles was a momentous event because up to that point I had needed to teach myself everything and had finally managed to finish a game.

POCKET TRIVIA - Star Trek Edition

01fig02.jpg

Pocket Trivia is a game with a very long history dating back to 1994 when I originally created a Star Trek trivia game with Turbo Pascal 6.0 using SVGA. I scanned photos from the Star Trek board game and my collection of Star Trek trading cards and typed in questions using a custom trivia editor program. I intended to market this as a product but never developed it beyond the Star Trek prototype, so I just gave away the game to some friends on floppy disks and uploaded it to BBSs. Years later, I ported the entire game to Visual Basic 6.0 and gave it away on my web site. For that version, I added new categories to include the latest movies and added questions from every TV series and movie up to 1998, which included First Contact and Voyager.

In all, there were 1,600 questions and 400 photos in the game, and a very nice editor program that displayed the photos associated with each question. The project then stagnated for several years until I got in the mood again and ported it to Pocket PC using the new Embedded Visual Basic. Porting the code wasn’t too difficult because VBScript is similar to VB but it still required a ton of work to resize all the images and tighten up the database. The Pocket PC version was quite popular so I put it up on a few handheld retail sites and is sold reasonably well. This game also caught the attendion of an editor at Prima Tech who offered me a contract to write a book about Pocket PC game programming. This launched my career as a writer. Although, I claim to have been leaning in that direction before this good fortune, as I had written many short stories and a novella earlier.

PERFECT MATCH

01fig03.jpgspacematch.jpg

Perfect Match is the result of a collaboration between myself and a talented 3D modeler by the name of Edgar Ibarra. He created all of the backgrounds, sprite tiles, buttons in the game, while I handled the coding. This game demonstrated the capability of my Pocket PC game library developed in my Pocket PC book, entirely in C++. I updated the sprite code a bit to provide better support for animation and gave away the new GameLibrary2 on my web site for a few years. This game sold quite well for an unadvertised retail game. There are seven levels to the game, each with a custom theme.

AXIS & ALLIES

01fig13.jpgI’ve been a lifelong fan of tabletop war games, and have spent more time playing Axis & Allies than any other. So sometime around 1994 I began working on a computer version of the game. I would guess it was about 60% complete before college consumed too much of my time and I moved on to other projects. But the game was quite functional in that you could move units with the mouse, engage in battles, resolve battles, and capture territories.

POCKET PC GAMES

Here are several games featured in Pocket PC Game Programming that actually turned out to be quite good considering they were developed under a tight schedule and for a totally new platform. Included here are screenshots from Tank Battle, Alien Invasion, Breakout, Meteoroids, and Pocket Air Hockey. These are all basically complete arcade-style games. Pocket Air Hockey is particularly impressive because it supports two-player TCP/IP network play with two Pocket PCs, and even has a chat feature with a scrolling chat window. In retrospect, I’m stunned that this game turned out so well considering the incredibly tight schedule during which it was created.

pg12-07.jpg pg12-03.jpg pg13-08.jpg pg13-05.jpg pg14-10.jpg pg14-06.jpg pg16-02.jpg pg16-05.jpg pg16-08.jpg pg06-05.jpg

VB.NET GAMES

During another particularly stressful and time-critical period for the development of VB .NET Programming for the Absolute Beginner, I managed to crank out a few really nice games that turned out great for being so short and simple. Tic-Tac-Toe is a predictable game but this one has an attractive interface. The second game here is Dice War, an interesting throwback to years past when I created this very game on a Commodore PET (which is now long lost). Basically, you just roll dice to see who gets the highest score, so it’s really simple but still fun! The third game here is a tired but true Breakout clone.

vn03-26.jpg vn06-01.jpg vn09-01.jpg

PONG 3D

vbg22-04.jpgPong 3D is a Direct3D 8.1 demo written in Visual Basic 6.0 that demonstrates basic texturing and camera manipulation. That it’s all VB code is the interesting part, given that the game is not much of a game at all since there are no blocks or other obstacles. However, it is a bit challenging, and it does have the look & feel of a classic arcade-style game (with an “Insert Quarter” message to boot).

WARBIRDS 1944

vbg20-06.jpgThis is the first tile-based scrolling game I have ever created and it was written in Visual Basic 6.0 using Direct3D surfaces for the book VB Game Prog with DirectX. The tiles are really ugly and the airplanes are hand-drawn programmer art, but as a tech demo of scrolling it is effective and a good learning tool for the reader. I have “discovered” much nicer looking graphics in recent years and am embarassed by the quality of this game, but I won’t apologize for it because it was a learning experience for me as well as the reader of this book.

BLOCK ATTACK

vbg19-02.jpgBlock Attack is a Visual Basic 6.0 / DirectX 8 version of the classic Breakout style game. This one features a level editor program and the ability to read levels from a data file. It is otherwise just a normal port of the classic arcade game.

MULTI-PLAYER SPACE WAR

vbg21-08.jpgThis game was featured in the VB/DirectX book and is more of a client/server TCP/IP demo than a complete game, although it was extremely interesting given that it was done entirely in VB6. The game uses sockets to connect client programs to a dedicated server program. I explained how to write “bots” and have them connect to the server to play against players. Since the packets were transmitted using VB strings instead of a structure-based packet format, it ran slowly and the server could only handle about six players before it was bogged down (doing string manipulation). Some minor enhancements could have significantly improved this game, but it was written under a strict deadline so just getting it to work this well was an accomplishment and I am still fond of this game today.

CELTIC CRUSADER RPG

19fig02.jpgCeltic Crusader is the single game developed throughout the book Visual Basic Game Programming for Teens. This is the first time I’ve taken the route of building just a single game throughout a book and it was a challenge as well as a risk. It was a difficult game because I had to develop a uni-directional tile-based scroller in VB and populate it with a real game world before even getting into the subject of A.I. characters and animation and so forth. It was extremely challenging, but I pulled it off (more or less) in under 350 pages. This ended up being a book for intermediate-advanced programmers, and as such it was frustrating for a lot of beginners. I will be revisiting this game in early 2007 for the 2nd Edition of this book, where it will be ported entirely to VB.NET 2005.

STARGATE DEMO

05fig02.jpgHere’s a little game featured in Game Programming All In One, 3rd Edition that demonstrates keyboard input. The goal is to figure out what keys activate certain chevrons on the Stargate, and they must be entered in a specific order to engage the wormhole. Written in C++ using Allegro.

MISSILE COMMAND DEMO

05fig07.jpgHere’s another game featured in GP All In One that demonstrates mouse input. Like the original Missile Command game, you must destroy incoming nuclear missiles to save your cities. Written in C++ and Allegro.

 

WARBIRDS DEMO

15fig08.jpgWarbirds is the name of a game I created for Visual Basic Game Programming with DirectX a few years back in Visual Basic 6.0 and DirectX 8.1. I ported the game to Allegro and C++ for GP All In One and updated the graphics.

 

PLATFORM DEMO

16fig14.jpgI’m not sure if this qualifies as a game but it’s a good demonstration of side-scrolling and platform style gameplay (ala Mario). It was written in C++ using Allegro. This could be turned into a complete game very easily, even using free artwork, but a custom game would be even better, with original artwork and some old-school gameplay. Remember Jill of the Jungle?

TANK WAR

22fig02.jpg

14fig03.jpgTank War began life as a demo game in GP All In One, 2nd Edition, and evolved into a more complete version of the game with improved graphics and animation in the 3rd Edition of the book. The original game was quite novel, featuring twin scrolling windows for two-player split screen gameplay (using the keyboard). The tanks can be driven around on the map and may fire at each other across the level. There are no obstacles but it is certainly a good starting point for a more complete game with the addition of new levels, a story, obstacles, and A.I. The new & improved version features game state with a title screen, scoring, a game over screen, 3D rendered views of each tank with health meters, vibrant bullet and explosion sprites, and a huge map.

CLASSIC PONG

01fig04.jpg

The 2nd Edition of DarkBasic Pro Game Programming features a lot of new demos and games compared with the first edition. Early on in the book a simple but complete game of Pong is presented to help demonstrate a real-time loop. This demonstrates where the video game industry began.

DARKANOID

01fig051.jpgI created Darkanoid in December of 2005 for my Introduction to Game Programming class, which is the very first game course that freshmen take at UAT. I continued to improve the game over several weeks, and decided to incorporate it into DarkBasic Game Programming, 2nd Edition. The version included with the book is not as complex as the original version, but simplifying the game aided in the learning process as the reader builds the game little by little over several chapters.

IMAGE SHUFFLE

09fig06.jpg

This game also appears in DarkBasic Pro Game Programming, but it was primarily written by my co-author, Joshua Smith. I did a little bit of work on it but he did most of the work on this very classic and fun game. You just move tiles by clicking them with the mouse. This game demonstrates arrays and mouse input.

BASH 3D

15fig05.jpgBASH is the final game project presented in Beginning Game Programming, 2nd Edition, and is a complete 3D game that uses custom-modeled 3D objects stored in .X files. This game demonstrates everything presented in the book on DirectX 9, including the loading and rendering of a mesh, double buffering, mouse input, a real-time game loop, and of course all of the Windows and DirectX code that makes it possible. Think of this as 3D Breakout.

ASTRO GUNNER

16fig16.jpg

Astro Gunner is featured in DarkBasic Pro Game Programming as an example of performing dynamic angular velocity on a game sprite. All of the bullets and ships moving in this game are calculated on the fly using sine and cosine with the object’s angle to determine it’s velocity. This is a key concept to building a realistic space type game, and this technique is being used in Captain Stellar, the game I’m developing under the banner of Primeval Games.

BATTLE CHECKERS 3D

24fig09.jpgThis game was inspired by the classic game Battle Chess, but is much simpler in that you play checkers with animated characters rather than chess. The 3D models are part of the DarkMATTER 2 collection over at The Game Creators. This game is featured in the last chapter of DarkBasic Pro Game Programming. It is a very nice-looking game, with a dynamic light source in the cursor used to select pieces. The characters animate very realistically, and will even participate in a limited combat animation when you jump a piece. The game is about 90% complete in that the A.I. will move, but will not jump.

GALACTIC WAR

1500fm01.jpg

Galactic War is the game project developed throughout the book Beginning Java 5 Game Programming, and is a complete arcade-style game with a custom-built game engine and sprite library. The game turned out amazingly well considering it was developed very quickly (less than a month). It features a considerable amount of artwork and animation and what I consider one of my best 2D engines to date. The game runs entirely in a web browser and is optimized to load from a JAR file from the web server. You can play the game right now on my web site: click here. The book teaches how to create this entire game from scratch, and the final chapter even explains how to build a JAR and deploy it to your web site. The only drawback is that it doesn’t save the high score, which would be very cool.