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: | or 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
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 your own resources!| Mike Rowley (Oct 14, 2008 at 03:18 GMT) |
| Tom Eastman (Eastbeast314) (Oct 14, 2008 at 03:29 GMT) |
| Michael (silentMike) Hall (Oct 14, 2008 at 04:24 GMT) |
| Steve L (Oct 14, 2008 at 07:37 GMT) |
| Guimo (Oct 14, 2008 at 08:49 GMT) |
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 |
You must be a member and be logged in to either append comments or rate this resource.


4.0 out of 5


