Production Server Game Testing

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

Finally nearing completion… I am now doing game tests on the production servers. There were some glitches that I encountered, but nothing major that’s not easily fixed.

Here are some final changes/improvements that were made during the initial game tests on the production servers:

  • Adjusted Spin Bingo game timers, as I feel that even new players don’t really need more than 4 minutes to get the hang of the game.
  • Possible fix for another thread-related issue, which may explain a rare error that I recently encountered while using the stress test application. The error was not in the game server, so hopefully this isn’t a critical issue.
  • Additional checks in the bingo game servers to prevent multiple games from being played. There is already an existing check from the web pages, so this may seem redundant. It’s done for security purposes, and it also fixes an issue with the stress test application that prevents the game server from recording log outs properly.
  • Some changes in the stress test application so it can connect outside the local environment.
  • Fixed several e-mail issues. I just realized that some pages don’t even send out e-mails yet, so those have been updated. Also, there were some issues with the e-mail filter and calls to the function that prevented it from actually sending e-mails.
  • Ads were not showing in the production servers. I already encountered this issue during local testing. Apparently, it was another Flash security issue, so the previous local server fix I made wasn’t even necessary.
  • Minor visual changes to the web site’s top area graphics. Also changed the text from “Home” to “Games”, as I find that more appropriate.
  • Minor improvements to the policy server. Removed some unnecessary codes, also fixed a counting bug that doesn’t really affect the stats but makes it a bit inaccurate.
  • Optimized some frequently accessed tables (best players and player status related), updated corresponding web pages and game server codes. I have just seriously considered using secondary tables for some player stats. This will kinda duplicate some existing data, but will potentially make reads/writes faster since fewer records will be involved. However, I decided to look into this in more detail later, as lots of areas will be affected. Hopefully, the current setup is good enough.

I am still doing a couple more tests, covering as much area as possible. The bingo game servers are actually actively running now, and the web site now allows games to be played (but this is currently limited to my account). When the tests are over, all I need to do is reset the entire database, then open the games to the public.

So far, everything is looking better. If I don’t encounter any major issue this weekend, I can (finally!!) look forward to a game launch next week. Let’s hope for the best!

Tags: ,


Local Game Testing Progress

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

I’m almost done with the local game testing. Here are the latest changes/additions:

  • Best players page has been updated.
  • Catch mysql data truncation potential errors, so it doesn’t kill the game server abruptly. Ideally, this error shouldn’t be happening at all, but just for precautionary measures, the error will now be logged and the game server will continue to run normally.
  • For 75/80/90 ball bingo games, card limit selection in the Flash bingo games is now working. Each room has a predefined card limit that can be played, with higher level rooms allowing up to 36 bingo cards at a time. The 3 Flash bingo games now interpret this properly.
  • Added Twitter links in some pages (as additional support medium other than e-mail).
  • Finalize all the game rooms and corresponding setups (e.g. maximum number of cards, timer limits, levels required, default pot amounts etc). Initially, I will only open 3 rooms per bingo game, however all future rooms are already shown.
  • Changes in Table codes, minor CSS changes for some site page updates as well.
  • Home game pages have been re-organized. Preview graphic has been moved to the left side. Minimum pots and jackpots are now being shown. Also removed some unnecessary spaces/texts so the bingo game room listing can be viewed immediately with less page scrolling needed.
  • Fixed a Flash/PHP message parsing bug (plus sign not being parsed properly in some messages).
  • Fixed some bugs in the creation of test accounts for the game server stress testing application. Make sure some tables are properly updated to better simulate web-based connections, and also link as friend to the main test account (so friends-related pages/areas can also be tested).
  • Fixed a major bug in the code confirmation screen, where it fails to go to the chat area after signing in (instead it shows an error). This happens when the player is coming from the sign in screen and not from the registration screen. Good thing I was able to catch and correct the error now, as most players will likely encounter this.
  • Fixed e-mail guidelines link not working in the Flash registration area.
  • Fixed game window not resizing properly depending on the player’s monitor screen resolution (instead it incorrectly uses default sizes always).
  • Added codes so the site can display a “Site under maintenance” message properly as necessary.
  • Strip out illegal characters in chat messages prior to parsing. This shouldn’t really be an issue as there are existing filters in the Flash bingo games. However, since the stress test application doesn’t implement filters, this is also now being done in the bingo game servers for better security.
  • The Best Players links (header, footer) will now point to the currently active bingo game. So if you are currently on a Spin Bingo page (main game page or game rules page), if you click on a Best Players link it will now show the appropriate list for that game properly (less clicks and page reloads required).
  • Fixed javascript e-mail validation bug (should be case-insensitive).

While doing some stress testing on the game servers, I encountered a mysql data truncation issue again as mentioned above. I think I’ve seen similar issues before, but I have not been able to pinpoint the cause, as it’s very hard to replicate (it only happens like once every 100 stress tests, and each stress test happens for hours). Thankfully, I had a clear head when I encountered the issue again so I was able to track the real cause.

The problem is thread synchronization related, which is really a complex issue on its own. Without going into too much details, I think this has now been fixed properly.

Anyway, unless I encounter more issues with the local game testing, I will be moving the tests to the production servers already.

Tags: , ,


Local Testing Final Stages

Categories: Bingo Game Server, Flash Bingo Games

I am now doing more extensive local testing. This means tests outside the Flash IDE, but on an actual web server instead (but not the production servers yet). There are some bugs that only appear when playing games from a web browser, so these are the potential issues that I am focusing on.

Here are some of the latest updates that are in my notes:

  • If a player signs in during a game intermission and he played the last game, his name is now highlighted in the player list (which is the expected outcome).
  • The XP progress bar was previously being measured by current XP against the next target XP. This made the progress bar appear like it’s almost always full even after a level up. This has been changed now so the progress bar is measured differently, in such a way that it goes empty (after a level up) then goes full as the next target XP is reached.
  • Some client/server variables used for testing purposes are now finalized for production usage.
  • Banner links have been fixed. Apparently I have been using the wrong links the past 6 months or so (how did I miss this??)
  • Due to Flash security restrictions, banners aren’t showing properly when being test in my test web environment. Made some changes so this part can be tested prior to moving everything to the production servers.
  • Some sounds are not being heard at all when playing games on a web browser (even if it works in the Flash IDE). Looks like one of those things that the Flash player is inconsistent about. Fixed now.
  • Fixed a critical bug in the bingo game servers that’s causing strange things. This was apparently due to some changes I made earlier to improve packet parsing. One of those silly mistakes that took me hours to figure out.
  • Adjusted XP calculations for better balance between games. Jackpot XP has been increased significantly (since it’s hard to get a jackpot). Spin Bingo XP has also been tweaked, since some players can get rather low scores at times which translates to lower XP that looks imbalance compared to the other bingo games.
  • 90-Ball Bingo: Fix a potential auto-dab issue when playing the second/third patterns.

The following updates are specific to the Spin Bingo game:

  • Bonus scores are now awarded for finishing the game early. This is based on the number of seconds left, which also serves as a tiebreaker in case some players’ end game scores are the same.
  • Patterns that take up a lot of squares have been removed from the list. This should make it easier to complete the patterns in general, thereby increasing the player’s chances of getting higher scores as well.
  • Increased chances of getting a Free Square or Free Column icons.
  • If a player won the game (any rank), game points are now awarded right before the intermission screen appears. This makes it consistent with the rest of the bingo games. Also, this means any game points awarded during the game intermission will be because of level up bonus points. Previously, game win points are added to level up bonus points, so it’s not very obvious when a player is leveling up already.
  • Fixed some Flash game bugs when resuming an unfinished game, where the Spin button keeps on being highlighted, when it should be disabled already. This happens in 2 cases when the game is about to end, both have been fixed now.
  • Make sure all server variables are being copied over when resuming interrupted games.
  • When there aren’t enough players, make sure a player with zero score can’t win the game (but still award XP for joining).

That’s a decent list. I am focusing on fixing bugs/issues, rather than introducing new features, though I did add some things (as long as it’s easy enough to do). After extensive tests in a local web environment, the next (final) step is to do tests on the production servers already.

Tags: , ,

Search Blog