Networked Balls

Latest version: Balls 1.1.4

This is just a quick webpage I've thrown together to help you download the networked version of Balls.

Downloads

To use the source code or Windows binary, you must also have the data files.

Source downloads

You'll need the source code and data files. It should compile with just about anything Allegro supports; I've tried it with gcc in Linux, Robin Burrows tried it using gcc (Mingw32) in Windows, and Patrick Hogan has tried it using MSVC in Windows. Alternatively, you can get the source code and data files separately, either to split the download or to upgrade only the source code, when the data files have not changed.

You also need an Allegro WIP; anything reasonably recent will do.

Lastly, you need a copy of Libnet. I expect the most recent release will work fine, but older ones may not be able to connect to newer ones. You might need this snapshot of the version on my hard drive, instead; try that if you have trouble connecting in the game.

Binary downloads

I didn't plan to make binary distributions (I prefer to just make the source code easy to use), but some people were reluctant to get the source, and Patrick Hogan kindly uploaded version 1.1.4 built with MSVC. To use this you'll also need the data files. It uses the debugging version of Allegro 3.9.32, so you'll need ald3932.dll -- you can get this from the Allegro 3.9.32 binary distribution from any of these sites:

Installation

Unpack all the Balls archives. They contain a `balls' subdirectory, so you do not need to create one yourself. If you got the binary distribution then you do not need to expand the subdirectories in the zip files, but in that case you will need to create a directory to put Balls in.

At this stage the instructions are different for source and binary installation.

Source installation

I'm assuming you've already got Allegro installed.

Libnet is fairly simple to set up. Unzip it somewhere, and copy a file from the `makfiles' directory to `port.mak' in the top directory. e.g.:

    C:\LIBNET> copy makfiles\mingw.mak port.mak

Now you can run `make'. After that, try `make install' but your mileage may vary -- you might need to copy the library binary to your compiler's `lib' directory, and the header file to your compiler's `include' directory:

    C:\LIBNET> copy lib\libnet.a \mingw32\lib
    C:\LIBNET> copy include\libnet.h \mingw32\include

The final thing you need to do is compile the Balls code itself. Run the fix script for your platform, e.g. fixmingw.bat for Mingw32. This will then give you further instructions -- some platforms have makefiles, others have batch files, some have both, and MSVC has a .dsp project file. Run whichever file is appropriate for you, and the Balls binary will be created in the `bin' directory.

Binary installation

Unzip the data and binary archives, ensuring that the .exe goes into the same directory as the data files (either expand directories, or don't; it doesn't matter which). If you don't already have the Allegro 3.9.32 debug DLL (ald3932.dll) installed then either copy it to your Windows directory or put it in the same directory as the Balls executable.

Running networked Balls

First, after running Balls, go to `Setup' then `Network' and choose a network class. After that you can choose a specific driver in that class, but most platforms only provide one driver in each class.

After this, from the main menu choose `Begin game' and then `Multiplayer (network)'. Set your name using the first option in the menu.

In a networked Balls game, one person must initiate the game and choose the level settings. After this stage, new people may connect to existing people in the game. Currently no more than two players are supported (and one is rather boring).

The initiator must choose `Start new game', and may then adjust the settings before proceeding to the lobby.

Other players choose `Join existing game' and enter the address of a player already in the game. When they have connected, they move through to the lobby too.

In the lobby you see the game settings and a list of players. The lower area is for chatting. Press `Start' to begin the game; this will pull all the other players through too.

Have fun!