____Quick_Links____

Introduction
Description
History
Technology
License
Future Plans
Example Code
Droid Wars
Screen Shots
Downloads
For Developers
Design Concepts
API Specification
Tutorial
CVS Access
The Mailing List
Feedback
On GridSlammer
On DroidWars
On This Web Page

Introduction

NEW NEWS: Check out my new 3D RealmLib engine and the Blig reference game at the Blig Home Page.

Welcome to the GridSlammer web page. GridSlammer is an object oriented game engine / API for creating cross platform video games. This tool kit does not try to embrace every type of video game. If you are interested in writing a 3D first-person shooter type game, GridSlammer is NOT what you are looking for. If, on the other hand, you need a powerful game engine that renders in an isolinear, eye-in-the-sky manner (similar to Diablo or Mech Commander), then you've come to the right place. To get a better idea of what I am talking about, why not look at some screenshots.

I should be noted that GridSlammer does support a *roaming perspective*. This means that When your character moves, it stays in the center of the screen while the landscape moves around it. Perhaps the best way to see what I mean is to download and play the demo game, Droid Wars

History

The genesis of GridSlammer occurred one day when I was playing around with a paint program. I noticed that by taking pseudo-3D images of blocks and pasting them together (slightly offset and with a transparent background color) I could build larger pseudo-3D landscapes. I surmised that this was how games like Diablo and Mech Commander created their eye-in-the-sky look. I began to wonder how difficult it would be to create a similar game engine, and thus GridSlammer was conceived.

Initially I had no lofty plans of creating portable game API or even releasing any code to the public. It was only a project I was working on to learn how it was done. Before I knew it, I had a rather slick piece of code that did exactly what I was aiming for. I could maneuver a little *trash can* looking robot through a maze and shoot fireballs at a couple of other randomly moving robots. The graphics were all poorly hand drawn. It looked ugly, but the animation was remarkably smooth and fast.

The code then sat untouched for several years.

You see, I had written it on Windows95, an already game saturated platform. Furthermore, I was then living under the illusion that the world wanted only first-person shooters, not eye-in-the-sky. Over the course of a few years, however, two things happened. 1) I became addicted to network strategy games. 2) I started working with Linux.

Linux is not a game saturated platform. Certainly many great things have been happening in   the Linux game arena, but there is still a lot of room for growth. Also, for many types of games (war simulations and strategy games for example) the eye-in-the-sky is a much better perspective. It also has the advantage of not needing expensive 3D video cards to render well. These factors all combined to convince me to revive the code and convert it to Linux. 

Features

GridSlammer has a bunch of really great features that really simplify the task of creating an isometric video game. These include:

  • An object oriented design
  • Sound support
  • A mouse driven tile cursor
  • Shadow and lighting effects

Technology

Linux is the primary reference platform on which GridSlammer is being developed. A Windows95/NT port will also be worked on, but its development will probably lag the Linux version. GridSlammer uses the Simple DirectMedia Layer for the actual image rendering and sound support. Support for GGI (the General Graphics Interface) as a rendering target was included in earlier versions of GridSlammer, but is now lagging behind SDL support. DirectX support has been dropped completely because SDL can run on top of DirectX.

The low level operating system specific stuff has been abstracted away into one layer, so it should be simple to port GridSlammer to other platforms that use different graphics technologies. The only requirement is that the target platform must be able to do a relatively fast transparent image blit. On systems that support direct access to multiple pages of video memory, this is usually not a problem.

GridSlammer does use video page flipping to keep the animation smooth. That is, it writes in one page off screen while a second screen is displayed, and then flips the pages around after it is done rendering that frame. By doing this many times a second, GridSlammer can create very smooth looking animation. GridSlammer can run on systems that do not support page flipping, but it does not look nearly as nice. 

Licensing

GridSlammer is an open source project and is distributed under the terms of the GNU Lesser General Public License (LGPL). This means that any changes or patches you make available for GridSlammer must also be released under the LGPL.  The DroidWars reference game is released under the regular the GNU General Public License (GPL).

If you really want to include your own proprietary, closed source GridSlammer libraries as part of a commercial game, then you need to contact me about licensing issues. It is possible for me to license an earlier (pre LGPL) version of the GridSlammer source under different terms. I can not, however, re-license any of the code that has been added to the project since the LGPL release. 

Future Plans

GridSlammer is still in Alpha, so there is plenty to be done on it yet. Here is the short list: 
  1. Convert it into a library
  2. Create hooks for custom AI modules (Java?)
  3. Build a level editor
  4. Write a network game server
  5. Finish the Windows95/DirectX port
I am working on detailed design documents for much of this. Those should appear on this web site in the near future. I am also creating a developers mailing list. It is my hope that GridSlammer is used to create a lot of great games for Linux and other platforms. Some of the cool things I hope to see (and may work on) include: 
  • A massively multi-player game with many connected *worlds* spread across different servers
  • The ability to *program* game characters and turn them loose into the game network
  • Evolvons... self replicating game characters that mutate and evolve, developing their own superior design and programming
These features could likely all be combined into one really killer game. I look forward to an active discussion of these possibilities on the GridSlammer and DroidWars developer mailing lists.
Goto the DriodWars Page