Previous Blog Next Blog
Prev/Next Blog
by date

Warscale 23 - Game Lobby

Warscale 23 - Game Lobby
Name:Guimo 
Date Posted:Oct 14, 2008
Rating:4.0 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Guimo

Blog post
Hi everybody. Here is another edition of the Warscale blog again.

First of all, thanks to Deborah, Apparatus and Leroy for your comments on my previous blog. This has been a really busy week so I had no time even to answer for your comments but thank you very much.

After a week were my HP laptop gloriously returned from the dead and was fully functional, it decided to go back to the undead land. Apparently he fix was short lived and the only solution by HP was... reinstall all. Well. I guess it will continue on its zombie state for now. At least it works.

On the other hand, all the development plan for this week was completed but it took me one more day than expected. I focused this week on the game lobby room.

What was planned
Avatar loading
Once a player creates or joins the game, his avatar is displayed on the lobby along with all his equipment. This way everything looks more personal and you can make a guess about the opponent level just by looking at his equipment.

Game chat
Of course any game room requires a chat so I included a minimal chat system which I plan to enhance in the future.

Player disconnection
A player may disconnect from the game at any time. The server handles the event and informs all the game players appropiately.

Player ready/unready
The game creator is usually considered the game owner. The game owner has control of the Start Game button. When players join to the game, they are set to a non-ready state by default. This means the game creator wont be able to start the game until all player have informed they are ready. The player may also unready at any time. To prevent a player from sabotaging the game startup by not readying on time, a /kick player command has been included in the chat so the game owner can remove a player from the game lobby at any time.

Game ownership control
The game creator is set as the game owner by default meaning he has the control of the Start button and the kick command. But in case the owner decides to leave the game, the server picks another player and informs all players about the new owner. If no player remains in the game, then the game is removed from the list and all players in the shard are commanded to remove the game from their respective game lists.

What wasnt planned
Equipment validation
I noticed the player may sell the equipment he is currently wearing in the equipment store thus making his equipment selection invalid. When this happens, an information message is displayed in the model store which tells the player about this problem so he may cancel the transaction. If he continues selling the equipment then the missing equipment will be removed from his selection. This means the player equipment should always be consistent so, as an additional security measure, if he tries to create or join a game with an inconsistent equipment the server will consider this a client hack and will Strike him.

Strikes
Strikes are a way to handle strange client behaviours. When the server receives a message the client is not supposed to send, it is considered an attempt on hacking the system. On each strike, an appropiate message will display in the screen. Collect 3 strikes and not even a ton of cookies baked by your grandmum will revive your account again (and this is serious because I really love homemade cookies). Your account will be marked invalid and you wont be accepted again in the game. Strikes have been included in all the system as a security measure on any action.

Future enhancements
I would love to add some dialog bubbles so that when a player says something, the bubble displays the message. I dont know if somebody has implemented a comic-bubble control or something similar.
Also, I need to add some player information like the average level for his equipment.

Screenshots![b]
The first screenshot shows the Model Store warning about your equipment sale.


This second screen shows the game room with two players ready to start the game. The image you see on the middle will be replaced with screenshots from the maps and the map selector will be added when I get at least a second map.


[b]The plan for this week

With the game room completed, the next step is to startup the game. This means we need an area to display some map information and an approppiate progress bar. The game should also handle disconnections in the middle of the loading sequence and act appropiately. I was thinkering about something like Gunbound where everybody keeps in the Game Room, chatting while the load progress is transmitted to all the clients and updated in the screen so that everybody knows the progress of the other players. When the load finishes then the game starts. After a while, I decided to go for the standard approach where you are redirected to your loading screen and must wait for the game to finish. Once in the game the server will tell you about the status of the other players.

Thats all for now! Good luck with your own projects!
Guimo

Recent Blog Posts
List:11/27/08 - Warscale 28 - Lots of improvements
11/09/08 - Warscale 27 - Updated terrains
11/03/08 - Warscale 26 - OptionsDlg
10/28/08 - Warscale 25 - Single Player and Disconnection
10/21/08 - Warscale 24 - Loading procedure
10/14/08 - Warscale 23 - Game Lobby
10/05/08 - Warscale - Game creation dialog
09/29/08 - Warscale - Editors integration complete

Submit ResourceSubmit your own resources!

Mike Rowley   (Oct 14, 2008 at 03:18 GMT)
Wow, that's looking awesome.

Tom Eastman (Eastbeast314)   (Oct 14, 2008 at 03:29 GMT)
Progress Overwhelming :)

Michael (silentMike) Hall   (Oct 14, 2008 at 04:24 GMT)
I've been following these for a while but haven't said anything. Warscale is looking good. Keep up the good work, you've been making incredible progress. And quick progress at that.

Steve L   (Oct 14, 2008 at 07:37 GMT)
You must be pulling 20 hour days on this! I too have been reading your blogs and your progress is staggering!

Guimo   (Oct 14, 2008 at 08:49 GMT)
Thank you for your support. I'd love to give this game 20 hours each day. Unfortunately I average about 2 hours a day at most but I try to keep focused on that time.

Contrary to my initial beliefs, I found this blog to be an excelent tool because:

a. It allows me to write about the creation process and also as a progress log.
b. Helps me to keep a time control.
c. By expossing my plan each week, it allows me to focus on the objectives for the week.
d. Your comments provide valuable input to adjust my development and also encourages me to keep doing my best.

So, I will probably keep doing this blog for a long time.

Deborah Marshall   (Oct 14, 2008 at 18:01 GMT)   Resource Rating: 5
Hey, Guimo, thanks for the shout out. You profiling your game so heavily on the site helps GG too because it shows what the engine is capable with a dedicated team. We should be thanking you. :)

You must be a member and be logged in to either append comments or rate this resource.