I will attempt to make a multi-player co-op game where fourplayers need to get to the center in order to advance to thenext level.

In case there aren't four players to play with you will begiven the opportunity to go to the 'empty' room and finishthat sub-level so that you can also play the game by your own.

Score will be given for speed and number of steps (lowest is best )

I'm still thinking of gameplay where I might use obstacles thatyou need to get rid off and/or give each player the same colors towork with to have room for more blocks .. And/or use differentcolored blocks that you need to combine ..

Nothing workable as for now. I'm really struggling with a good php/mysqlframework to get multiplayer to work.I want multiplayer to get through proxies, firewalls and stuff so I opted formysql - php combination with HTTP. I can do a call to this in an unsignedapplet so I think I follow the rules.The problem I'm having is to keep track of players that either are crashedor are logged out during a play or enter a room while play is going on. Does anybody know of a framework in php that can handle lobby/roomplayers and keep track of them in the rooms? Heartbeat control?!Or maybe you have a better idea?

The obvious way to do a disconnect would be for the client to send a disconnect message when stop() is called.Other than that, I don't think there's much you could do except add a timeout on the server.If there are clients whose last timestamp is older than for instance 5 seconds, they will be considered disconnected.It should be easy enough to run a MySQL query where you ask if an int has a value below a certain value(you can use timestamp or something, but you could simply use a number and calculate the timestamp in PHP).You could have different flags for different states a client is in: linkdead (perhaps the link could be re-established), disconnected, idle.Of course upon a real disconnect, you might want to delete the client row from the clients table.

Not sure what you mean by heartbeat control, do you mean avoiding speed hacks?Well, the client could timestamp all communication with the server, if it is updating too fast the timestamp has most likely jumped too far ahead.

Keeping track of rooms and where in a room a player is can probably be handled using a simple numbering scheme.By rooms here, do you mean rooms in a four-player map, or a lobby system to start a game?

Thanks for your reaction.If there is a network error a stop() would not get through..So I'm going for a server check with the heartbeat.

Since I couldn't find a system, I'm building one myself at the moment. Currently I'm doing this:

*each X seconds -> http connection to php script* - remove playerS from board when there was no update on the usertable for x seconds (heartbeat)- get the data from the server for the room you are in; since last heartbeat- send the data from the user to the server; since last heartbeat [ update board ] [ keep track of your own moves in array until next server connection ]

The lobby system should give you a list of rooms where there are a free spaces left. I'm not sure how I want to display this... Propably I willquery the database for the last level you have done and show the rooms thatare on similar levels .. When a player wants to start a specific level and create a new room for itcould be also an option. Or list all levels and then you can create or enter a room that is on that level...But it could be that I'm missing the point alltogether of a lobby - room system.

So here is a major update.Just a month of development to go, so I wantto get some feedback on the current status.

Goal: Multiplayer game were you all need to get to the middle of the board.You don't need other players to advance in thegame. All players get the same puzzle, but adifferent 'mirror' on the puzzle.

You can create your own room when there arenone to select from. Selection of rooms isbased on the level you achieved.

At the moment there are four kind of blocks:

- playerblock- stone-block = cannot be moved- finish-block = the middle of the board- 'color'blocksThe object of the game is to push thecolorblocks to eachother to get them removedfrom the board. Not all blocks need to be removed, just the once you need to get to thefinish.

Maybe later I will let the blocks do some otherthings as well, but for the time being it isjust 'push to match-blocks'

There are 5 main MySQL tables. users, data, rooms, scores, levelsControlled by PHP script that gets called byan URL connection from Java.

The users table has a heartbeat field.The heartbeat is updated each time a usergets / receives data from the server.When a heartbeat gets lost, the player isremoved from the board (rooms-table)

The data table contains all the board-dataand the updates that are done on the board.Initially the board-data gets copied fromthe levels-table that contains the puzzleto be mirror-copied to the differnt areas.

Scores will be stored, but there isno list at the moment to get a 'low'scoreoverview.

When you reached the last level, the nextlevel will be the first level of the game.

Another update.Some friends wanted to play against eachother evenwhen they were not on the same level.I decided to give the users the chance to select allthe running rooms even if you are not on that level.

Changed levels to have a kind of a learning curve ..

Currently there are just fixed number of colors wherethe levels are made from. I am thinking of making aneditor where the user can create their own levels using12 fixed colors from the EGA palette ..The base non-moveable bricks should always be clear to the user and the white and black are used for playervisibility. I am still pondering if I should let the background be customizedas well. First, let me try to make the editor multi-user friendly....

The state of the game is that I will be unable to have the features that I wanted in the game. I had made a developers version with a palette-editor so that a player can createlevels with their own colors.I had the game play-tested by one of my friendsand he pointed out that the palette editorwould violate one of the rules: not showingmore than 16 colors from the palette atthe same time.It is too late in the contest to drasticallychange this behaviour so I don't haveany real thing left.The previous version just lacks a lot.

Maybe I will be working on this game later thisyear, but I will not enter the current state tothe contest.

I enjoyed it anyways and took the opportunityto use this contest to prototype some of thegame-ideas I have.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org