Coder Social home page Coder Social logo

sdl_bomber's Introduction

David Ashley
[email protected]
990207 11:24 PST

This is work in progress and might be of absolutely no use whatsoever.

This is a Bomberman clone. I bought a game called Atomic Bomberman and found
it awful, there were intolerable delays after each game in network play while
the game was downloading data (what data?) over the network. Really crappy job
they did but I liked the artwork and sound effects.

Atomic Bomberman was a DOS/win95 game. I looked under linux games and found
xblast but it was unusable for various reasons. For example its network
support just relies on xwindows networking--before entering the game you've
got to type in the host:display of each person who will be playing. Only
the main machine gets any sound. Also in the game you kept moving in whatever
direction you had last hit until you hit a wall or hit another direction.
There was no point in using the source as a starting point, there were so
many critical design flaws in that version I decided to write my own game from
scratch.

Currently the game will most likely only be playable on a LAN.

Some machine must run the matcher program. Players register their game with
the matcher machine, and joiners query the matcher machine to get a list of
active games. On xdr.com there is a matcher program running and the bomber.c
mname[] definition points to xdr.com. I tried it and it didn't work on my
own LAN through a firewall. You can try the game as is and it might work using
xdr.com as a matcher. Otherwise you'll have to run your own matcher daemon on
some machine. Assuming you have 3 machines tom, dick and harry and you want
to play a 3 player game, you would modify bomber.c's mname definiton to
be (line 47 of bomber.c)
char mname[]="tom";
Then on tom run the matcher program as a background task.
Compile and distribute duplicate copies of bomber and data/* files, then
run bomber on each machine. The menus should be self explanatory--one person
selects HOST NETWORK GAME and the other people select JOIN NETWORK GAME.

----------------- How to play  ---------------------------
You've got to blow up other players to win. Spacebar drops a bomb. Get away
and hope your enemy gets hit by the flame. The 'b' key is a 2nd control
for when you are lucky enough to pick up the bomb control--looks like a
bomb with a timer on it. When you have that the bomb won't go off until
detonated by another bomb, you are killed, or you press 'b'.

Blowing up bricks might result in prizes, most of which are good.
Skates = speed up
Bomb = allow you to have one more active bomb
flame = Increase bomb strength
turtle = makes you move very slowly
bomb with timer = controlled bomb detonation with 'b' key.
gold flame = Set flame strength to max

There isn't much point in playing the game alone (single player). In that
case the only thing to avoid is accidentally killing yourself. Big deal...
It's really a multiplayer game.

----------------- Left to do: -------------------
Come up with a better scheme for internet play, as it is any latency will
kill the game playability. Works fine on LAN though.

Figure out why matching doesn't work through a firewall...
[Specific case is 2 machines on my LAN cannot be matched by a machine that
is outside the firewall, and the firewall machine is doing IP masquerading.
Net result is matcher gets remapped IP addresses and these mean nothing
inside the LAN, only make sense when used from the outside world]

Score.

Remap movement keys not implemented.

Allow game hoster to set network game options and have them visible to players
who have joined the game.

Alternate gfx sets.

Better handling of 8 bit mode with limited palette.

Computer controlled things that can kill you.

Other bonus types that can be harmful, such as skull.

Internet play where everything is asynchronous, thus playable with a fixed
latency. As it is now slaves send to master, then master sends back to
slaves, and this data xfer must complete before the game can advance a step.
For internet this would be intolerable. I've never tried though...

Better docs, online explanations, attract mode...

Single player with computer controlled figures that must be killed/avoided.

----------------
Direct comments, complaints and questions to [email protected]
This code is GPL.

sdl_bomber's People

Contributors

jkoan avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.