Miscellaneous Game/Site Updates

Categories: Flash Bingo Games, Site Updates

Latest revisions:

  • Updated game window pop-up codes, so window resizing and centering is done more accurately (e.g. it will check for both vertical and horizontal proportions, useful for monitors with odd sizes like netbooks)
  • Fixed screen name/password guidelines pop-up window, which was previously broken
  • Updated login component and scripts, so it can disable the sign up form if the player is coming from a higher-level room (new registrations are now allowed from Newbies rooms only)
  • Added game detection to know whether the games are being accessed via the web browser or from the Flash IDE, so variables are either set for testing purposes or read/set from the main game page
  • Added appropriate error messages when socket connection can not be made or has been dropped
  • Added proper handling of outgoing packets (i.e. queue outgoing messages until the socket connection is ready, then send the queue messages once the socket connecti0n is properly established), this avoids the situation of e.g. sending the sign in data when the socket connection is yet to be established

Tags: ,


Obscenity Filter

Categories: Bingo Game Server, Flash Bingo Games, Site Updates

There has been a couple of changes made to detect obscene words being used in screen name registrations as well as chat messages. Compared to HB, there is now just one list being used for both purposes.

Screen name filter is now a bit more strict, capturing more invalid registrations. Detection of invalid words in chat, however, is now a lot less strict. This has been improved before and working already, but it has been refined even further. Using data collected from HB, the new detection now allows about 45.50% more messages that would have normally been tagged as invalid. I think this is a very big improvement.

Other updates:

  • Updated some PHP pages replacing the use of some deprecated functions.
  • Chat flood detection has been added, and make some actions accordingly.
  • Minor updates in the bingo game server kick functions.
  • Updated WordPress to the latest version.
  • Some database logging functions have been added to the bingo game server.

The filter codes will just be updated when the site goes live and I am able to collect more test data.

Tags: ,


Game Server Stress Testing

Categories: Bingo Game Server

Over the last few weeks, I have made (and continues to tweak) a stand alone java application to aid in stress testing the bingo game server. Stress testing puts the game server under heavy load. Due to time constraints, this is something that I have not really done in more detail in my previous site projects, but for BingoGems I decided to develop a separate java application so I can do some stress tests before the bingo site is launched.

The application does the following:

  • Create socket connections to the game server, at random intervals
  • Simulate player sign in to the game server, joining a random room (since a game server may be running more than 1 game room)
  • Buy cards to join the game, the purchase is also done at random intervals to simulate joining during a valid buy event, in the middle of an existing game, and when buying is no longer allowed
  • Player names are randomized, so names of different lengths can be tested in the Flash chat and games
  • Random chats are also sent at random intervals, which is actually even based on a valid dictionary of words to better simulate chatting, with some random characters thrown in for more variety
  • Random smileys are also sent in the chat, at random lengths
  • Chat will simulate normal and capitalized (when the player has the CAPS LOCK key on)
  • For Spin Bingo, spins are also simulated at random intervals so scores are also generated
  • Connections are also dropped randomly to simulate a player logging out of game (who may or may not have a game in progress)
  • Multiple connections dropping out simultaneously is also simulated (this happens in cases when a bingo jackpot has been won, and most players end up leaving to go into other bingo rooms with higher jackpots), this has actually been a major issue on HB when it was initially launched since it was crashing the game server unexpectedly
  • Simulate a player dropping out, then logging in to continue an interrupted game
  • Simulate slow internet connection (e.g. the Flash games will experience some delay in receiving some packets)

So basically, the stress testing simulates how the game server reacts to multiple players in a live environment, especially at high loads. The time I spent developing this java application was well worth it, as most of the game updates I have done this month are actually because of issues I encountered during stress testing. There’s just A LOT of issues that only appear when already testing with multiple players, since I usually just test with a single player connection.

All the issues I noted have been fixed. This also includes a very rare occurrence of the game server becoming unresponsive due to synchronization issues, which has been very hard to reproduce. While I am sure some problems will only appear when I have the site launched, I can safely say this bingo game server has undergone better internal testing compared to the other projects I have done before.

So far, the game server is looking stable, and thanks to the stress tests, many issues (in the game server and the Flash bingo games) are now resolved prior to site launch.

Tags: ,

Search Blog