Jump to content
  • Advertisement
Sign in to follow this  
  • entries
    298
  • comments
    1135
  • views
    232514

Next up?

Sign in to follow this  
HopeDagger

103 views

Alrighty. Now that the testing session is done, fun and games time is over. Now I need to work on fixing the bugs that cropped up during the tests, and then do the rest of the implementation for the remaining goodies in this version. Here's the Roster of Demonic Bugs that I'm up against:



Game Isn't Clearing Game Data on Exit

Oops. If you quit a game then rejoin, or host a new one, it'll load map data over on top of what's already there. This was because previously one execution of the game client == one map. Now that I'm functioning with multiple games per client session, I need to clean up after myself. This is now fixed, but resulting in interesting bugs like bad framerates, objects in strange places, and respawn points inside the walls. [smile]



Players Dropping Randomly

I'm still not 100% on the cause of this, but during another test I did today with 6 players, people seemed to be dropping every now and then somewhat randomly, even though their ping only went up around the ~350ms range. I think this was because I was relying on dropping players if they didn't get a ping update within every 9 seconds. Ping updates are issued every 4-5 seconds, so I figured I'd be safe. However, I think packetless was causing these false negatives, so I bumped it up to 20 seconds just to make sure. I'll test this next session.



Distortion on Some Graphics

If you look closely at some of the grates and bathroom tiles, you can see some distortion. Apparently the GraphicsEx library I found to load PNG files was botching it up. So I converted all of my graphics to the BMP format (GROAN; was mundane even though I had a script to do most of it :P) and had it use that data to build the final Graphics.OIL file that the game uses.



If You Exit the Game, You Cannot Rejoin

This was really weird, and quite annoying. If someone played in a game, left the game to return to the server listing for whatever reason (change player name, controls, etc) and then proceeded to join any game, he would always fail. WTF? So I spent a good 3-4 hours on that today. Then when I did a test and viewed debug data, it turned out that the client WAS receiving the confirmation data when he tried to join for the second time, but just wasn't acting on it. Odd.

So I checked some variables and concluded that I'm a moron. I had forgotten to reset the local player to NIL. So the game kept on insisting that it already had a local player assigned when the server was trying to hand it login data. Hehe.



Master Server Not Always Dropping Clients

For some reason or the other, every now and then the master server was sometimes keeping players logged in and active that had already quit. This was a big pain since it would require a master server reboot in order to fix for the players that were experiencing the bug. So now any attempt to log in while another player is on that account will boot them off and let the newly attempting player in. This solves the problem -- well, it's untested, but it SHOULD -- but I think I should restrict it to both attempt'ers having the same IP address, just in case someone with another person's account name/pass wants to boot the person out for kicks. :P



Two Types of Random Access Violations

I'm baffled here. Sometimes, rarely so, upon joining the player who is trying to join will receive anywhere between 1 and INF Access Violation pop-ups. Sometimes it occurs to the game host as well. I even got a report today of it occuring when someone tried to host a game themselves. I have zero clue about what is happening. I found a neat Delphi debugging utility that SHOULD be able to get a nice call stack with line numbers, but no go with it so far. I've posted on their forum and am hoping for a reply sometime soon. If this thing can work, than HopeDagger->DebugSpeed++. For sure. [grin] (For anyone curious, the util I refer is 'EurekaLog')



Object Collision are FUBARed

Ever since I added customizable rotation to game objects, collision detection has broken down. This is because of how I was checking for collisions before. I made a thread on it over here, so you can read up on it there if you're interested. This is non-critical, but still high-priority.



NEW GRAPHICS

Draffurd had another great graphical spurt today. For those of you who actually made it this far down the post in reading my boring bug reports, you deserve to see the fury of: couches, pot plants, tables, sinks, and toilets. Joy!




(Joy! Purty!)
Sign in to follow this  


4 Comments


Recommended Comments

Your progress makes me feel insignificant, but spurs me on at the same time, keep it up!

BTW, are the player profiles stored on the players computer, or are they kept in some sort of database at the server? It would be pretty cool if you had a "Find Player" option that could bring up a players stats(kills, death, shots fired, etc) from the server.

Anyways, rock on!

Share this comment


Link to comment
Quote:
Original post by Sir Sapo
Your progress makes me feel insignificant, but spurs me on at the same time, keep it up!


Thanks. :D (Er, well, not about the making you feel insignificant part :P)

Quote:
BTW, are the player profiles stored on the players computer, or are they kept in some sort of database at the server? It would be pretty cool if you had a "Find Player" option that could bring up a players stats(kills, death, shots fired, etc) from the server.


Yes, the score/account/player data is all stored on the same machine as the master server, which "coincidentally" the website is also on. The plan is to allow score/player browsing both via the game client AND on the website.

Quote:
Anyways, rock on!


Woo. You too. [smile]

Share this comment


Link to comment
Looks great as always.

I noticed your now using the Mace of Packetloss (+8). For what its worth, there is a Game Programming Gems book (#3 or #4, can't remember) that covers a network simulation tool to model packet loss, packet duplication, and packet reordering. It may be of use to you for fault tolerance testing of your server.

One of these days ... we'll catch eachother at a good time to do some testing :)

Happy bug hunting!

Share this comment


Link to comment
Quote:
For what its worth, there is a Game Programming Gems book (#3 or #4, can't remember) that covers a network simulation tool to model packet loss, packet duplication, and packet reordering. It may be of use to you for fault tolerance testing of your server.


Thanks for the tip, Nit! If I ever manage to scrounge up some more cash to enhance my programming/gamedev library, I'll keep those in mind. My network system will likely need a beef-up before it hits prime-time. [smile]

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!