Network version of BurgerSpace

http://sarrazip.com/dev/burgerspace-network.html

By Pierre Sarrazin

This page describes the two-player network version of BurgerSpace.


Introduction

This project is entirely experimental. The client-server system as currently published is certainly buggy, not very user-friendly, and possibly unplayable.

The network version of BurgerSpace is made of a command-line server and a graphical client. One player uses the client to connect as the chef, while another player uses another instance of the client to connect as the egg. The two players can be on separate machines, but the machines should be linked by a fast and reliable network connection.

The game may not remain interesting when one of the enemies is controlled by a human player. This is why this project will remain experimental for some time. If you want to play the conventional, stand-alone, single-player BurgerSpace, you can still play it with this version, or you can use version 1.8.4, still available at the BurgerSpace Home Page.

Installation

In addition to my flatzebra library, you will need the SDL, SDL_image and SDL_mixer libraries. See the BurgerSpace Home Page for flatzebra, and the SDL site.

After installing the SDL libraries, you need to compile and install flatzebra. Then, compile and install BurgerSpace 1.9.2. Do this on each machine where you want to run either the client or the server. (If you have a Fedora 14 or later system, you can install the RPM packages provided on the Home Page.

Starting the Server

On the server machine, run this command in a terminal:

burgerspace-server

It should display something like this:

seed = 1217994653
init-level-no = 1
burgerspace-server: server bound to port 49152

This example assumes that UDP port 49152 is not already in use by another server. If needed, you can use the --port=N option to specifiy port N instead. The "seed" number will vary with each execution.

Starting the Client

The server must already be running. On the client machine, run the following command after replacing SERVER with the server hostname (localhost if the server is on the same machine), and PORT with the port where the BurgerSpace server is running:

burgerspace --server=SERVER --port=PORT --chef

For example:

burgerspace --server=localhost --port=49152 --chef

The --port=49152 option can be omitted because 49152 is the default port tried by the client when not specified.

You should see the usual BurgerSpace setting with animated enemies walking around. If you don't, it normally means that there is no server at the given address and port. You should also see the phrase "You are the chef" at the bottom of the window. If you had used the --enemy option instead of the --chef option above, you would be playing the part of the egg, which would be indicated at the bottom.

The server does not allow two clients to connect with the same role (chef or enemy). If your role request is rejected, you will have access as a spectator, which will also be indicated at the bottom.

To close the client, press the [Escape] key, then press Y to confirm.

Only the client connected as the chef can start the game. The user who plays the chef should wait for the other user to connect as the enemy. To start the game, the user who plays the chef must press the [Space] key.

Do not start the client before starting the server. If you do, the client's window will remain empty. In such a case, close the client with the [Escape] key, start the server, then start the client again.

Starting the Stand-Alone Game

To play the conventional one-player BurgerSpace, with all enemies controlled by the computer, just give the command burgerspace without the --server option. This stand-alone version can also be started from GNOME's Games menu, if BurgerSpace was installed from a precompiled package.

Bug reports, questions and comments are welcome.

License

BurgerSpace and the "flatzebra" library are free software released under the GNU General Public License, version 2 or later.

SDL is a free library distributed under the GNU Lesser General Public License.

Contact

I can be reached (in French or English) by email at sarrazip at sarrazip dot com. My main Web page is Pierre and his Poor Pathetic Page (or La Petite Page Plate de Pierre in French).


See also the BurgerSpace Home Page.

Last update to this page: 2017-11-27 23:13:55 EST5EDT