[Mokomaze 0.5.0] is released

Aapo Rantalainen aapo.rantalainen at gmail.com
Sat May 2 18:02:45 CEST 2009


Hi, I implemented some multiplayer code (proof-of-concept).
Two players supported, it draws another players ball in your screen.
There are no moko-binaries yet, because I didn't know where  to get
libode-dev to crosscompiling toolchain.

It is just Unix-sockets using UDP. Game is acting UDP-server _and_
UDP-client. Every time ball is drawn, its coordinates are sended to
opponent. Every time server get something it supposes it is opponents
coordinates and stores them. Every time ball is drawn it asked what is
last reported coordinates of opponents ball and draws it too.

Game must be started:
mokomaze <opponent_ip_address> <opponent_port> <your_port>
(I needed port as a parameter because I coded and tested it only with
one computer)

e.g. testing with one computer you can use:
usr/bin/mokomaze 127.0.0.1 8000 9000
usr/bin/mokomaze 127.0.0.1 9000 8000
(Final version should have default port, so only needed parameter is
opponents IP, like many multiplayer game. It can then be handled with
in-game search)

There are two videos (some reason my recordmydesktop segfaults all the
time, so these are from videocamera). ~20M and ~10M
http://cc.oulu.fi/~rantalai/freerunner/mokomaze/maze_multi1.avi
http://cc.oulu.fi/~rantalai/freerunner/mokomaze/maze_multi2.avi (this
shows how player1 pass the level, but another player is not informed,
so they are playing different levels then)

Patch contains:
*opponents player drawings (this is very ugly, but there were no any
support for drawing multiballs)
*FULL_SCREEN disabling. (because I wanted two games on same screen)
*omits parse_command_line (I wanted keep patch simple and only touch
very needed files)

http://cc.oulu.fi/~rantalai/freerunner/mokomaze/mokomaze_multiplayer_0.1.diff



What needs improving: (are missing)
drawings:
   different color (maybe ghost), clearing, spinning, dropping hole.
   value when opponents not yet connected

game mechanics:
   level changing  (this might need there must be some true 'protocol'
to handle communication)
   score handling
   more players?

Long term (utopistic) plans:
   interaction between balls (collisions)
   dedicated server
   chatting (maybe voice?)
   bluetooth support


Collision is interested idea, but what it really means?
a) Both balls has own floor (controlled by its owner)
   (so two balls in almost same position can be sliding different direction)
b) There are only one floor controlled by both players.
   (Players has no own balls, only holes are marked, and players tryes
to get ball in own hole)
c) something else?


-Aapo Rantalainen




More information about the community mailing list