GUB, the Generic Universal Boardgame, is a Java 2 application that allows
players to play almost any type of board game from the comfort of their computer chair. Using a simple text file
with game piece descriptions, a GIF or JPG copy of a game board, and an optional set of graphics for the game pieces,
almost any board game can be played using this interface. Several game piece sets are
distributed here, and others may be created by other people and distributed from elsewhere.
GUB is in Beta (and so are its web pages), and should not be considered final software. It is quite stable,
but does not yet have all of the features I intend to add in. Okay, it'll NEVER have ALL the features I want to
add, but it'll be at rev 1.0 someday.
Jan 16, '99: Latest News: After several months of not working on it (I'm working 2
jobs now, so it's been impossible), GUB work is back in progress after I got a Midnight Flash
of Brilliance which I think will solve the crashes caused by the DnD.
Features:
Play almost any board game with a simple interface.
Play it on any operating system that supports Java 2. Uses 100% "Swing"
components, so it will look identical on all Java 2 platforms.
Make your own game piece
sets, game boards, and optional game piece graphics, from your favorite games or your own creations.
Game piece graphics are optional. Each game piece has an optional label printed on it, so it can easily be
used to test in-development board games without going through the trouble of making graphics for it.
Game piece options can be changed at any time by right-clicking on the pieces.
Supports user-written Java components that can be automatically added to the GUB user interface, or launched
in their own windows when a game piece file is loaded. These plugins can register
themselves to listen for specific types of messages and react accordingly (like updating a list when a piece is
added, or recording to a log when a piece is moved). This programming interface also allows these plugins to relay
information to all networked players via the standard GUB user interface.
It's free for any non-commercial use. Schools do not count as "commercial use" unless they are specifically
trying to sell GUB. Also, usage by anyone on a rented or leased computer does not constitute "commercial use"
in my eyes (though most software vendors will say that it is). After all, it's the chair in front of the computer
that you are leasing, not the computer itself (right, Erik?).
See the wish list for a list of planned future features.
Requirements:
GUB is written using the Java 2 (formerly knows as Java 1.2) platform,
and requires that you have either the JRE (1.2.2 or higher) or JDK (1.2.2 or higher), both downloadable from Sun's
website at http://java.sun.com/products. If you don't plan on developing
Java applications, just download the JRE. It's smaller. Okay, it's not SMALL, but it's smaller than downloading
the whole JDK.
Caveats:
GUB IS NOT A GAME! It is an INTERFACE to playing games. That means that it doesn't know anything
about the pieces you have on the board, how they are allowed to move, which pieces belong to which player, etc.
It simply allows players to put pieces on a game board and do almost whatever they want with those pieces. GUB
will never know the rules for any games. That's not what it was designed to do. Monopoly, Risk, and
Axis and Allies boards don't know the rules for their games, do they? Plugins
may be written to implement certain rules, though. At some point I will implement snap-to-grid features for square-
and hexagon-map play.
Screenshots:
You can see screenshots of GUB in action right here.
Once you have either the JDK or JRE, you are ready to download and run GUB. It comes in several parts. One
is the actual program, and the rest are game sets. These sets may have their own
copyright information. Please read the readme files for those. See the installation instructions
for info on how to install the app, game sets, and how to start running GUB.
Why?
GUB was first designed to be an interface for playing TUW, my Tabletop
Universal Wargame rules. I realized that having a computer interface to the game would help broaden it's appeal
and drastically reduce playtesting time (adding game pieces is very simple). After designing it as an applet for
several months, I switched over to an application because of the many restrictions placed on applets (mainly associated
with saving the game and network play). Hopefully TUW's first "final" version will be online in the first
quarter of '00 (but I've been puting it off for 3+ years now).
Cats trample gaming maps without thinking about it, strewing innocent game pieces everywhere.
I want to play GEV or Ogre with someone, and I don't know anyone in Germany who is interested.
Programmieren in Java macht mich geil.
Copyright and License:
GUB is in the Public Domain. You are free to do whatever you want with it. As soon as I get a web space provider
which allows downloads greater than 512k, I will upload the source code here so everyone will have access to it..
Getting GUB:
You can download the latest released version from the revisions page.
Strategic Map Simulator - Win32 Only.
Has some nice features, like a drag-line showing how far a piece will move when dropped.
WarGame Processor - Win32 or Amiga. The author has
a really cool logo for this game. :)
Wish List: Features planned for future releases of GUB.
Network play is currently only partly implemented. It will work, but you've got to know how to do it.
Documentation. Especially for the plugin and GamePiece APIs.
Localization of all text internal to the application.
Built-in gub.ini and game piece file editor. This will need to wait until the format of these files stops changing.
Making the board scroll when game pieces are dragged past the visible area. I've played a lot with this, but
just can't seem to get it going.
Allow a "facing tick" to be placed on a game piece, so it's facing can be marked on the counter if
desired. This could also be used for firing arcs or shield arcs.
Better save/load game support. This mostly works, but needs some touching up, especially for allowing plugins
to store arbitrary data in the file.
Plugins: See the plugins page for a list
of current and planned plugins.