Author Topic: Stop the slowdowns!-a bit technical? please anyways???  (Read 714 times)

Kristan

  • Wayfarer
  • *
  • Posts: 3
    • View Profile
Stop the slowdowns!-a bit technical? please anyways???
« on: September 27, 2005, 08:33:42 am »
I know this is a break in the rules for these programs, but there has to be a first. You are not stepping into a cold mud puddle with your stockings on. *

*Sorry if that is not pleasant, that is my character\'s use of voice.

In case anybody didn\'t know (for non-programmers), and probably you know this already (for programmers),there are plenty of redundant systems (systems that check up on eachother - and take over) that can be used to stop crashes and slowdowns.

First, I understand that if the server stops communicating with you, then you are not playing the game. I understand that you are all scared (not right word?) of this (devs), so I will propose an alternate way of handling this problem.

The main problem is slow connection speed. This is extremely easy to fix, the graphics need to be \'adjusted\', it only has to be done once for each type of OS (maybe?). A small little test system checks number of users - to check the maximum allotment of graphics. It then uses a well-known (to any dev worth their salt) speed checking system on your computer - to check whether the maximum graphics is higher/lower than on server. Then it checks your connection for the same reason. Now you have a speed & connection friendly limit on graphics (graphics is the biggest dialup peeve!!)

Next, there need to be some useless things taking up server power to fill it to near-capacity -all of the time- this prevents slowdowns by switching from useless to useful activity. The \'useless activity buffer\' system can be regulated based on the number of players (e.g. two players online and server is to capacity... only kidding)

--interruption-- this will probably not be noticeable to people right away, \"wow, it almost never slows down\"

I also wonder if there is a waiting list set up for actions and for preventing activity spikes, maybe that\'s the reason for the .4 fps and the screen blacking out at .1 fps.

The last string attached: while you are getting dead air you can check if the server is down and why, which would be an active program allowing you to wait or exit. I am sure it would be less of a hassle to everyone to keep their region loaded and make a last-fight system to stop crash-while-attack-in-progress. I think it would be perfect, for exclusive battles, to load the monster onto your computer for the fight instead of doing a dance with a here-and-gone-again startrek-flash-teleport-attack(lag)-style monster.

**creds** taught myself extremely easy programming in GameMaker, switching to C++ now... #include wha..??
I will catch up to you anyways programmer(s)...

Makratok

  • Traveller
  • *
  • Posts: 32
    • View Profile
(No subject)
« Reply #1 on: September 27, 2005, 08:43:44 am »
I made no sense of that  ?(

someone will come along shortly that probably can and will giveyou some clues as to why we do what where and when :). stay tuned
the voodoo who do what you don\'t dare do people

stfrn

  • Hydlaa Citizen
  • *
  • Posts: 324
  • the beaver ex-dev :B
    • View Profile
(No subject)
« Reply #2 on: September 27, 2005, 09:47:49 am »
What... the... taco??? o.o

I would really like ot help you with some of these ideas, but they really... are incorrect? Graphcis aren\'t sent to the client when running, psclient uses around 1kb/s. The slow downs are all graphical.

There are currently some isses with the network connection on laanx, but that\'s hardware related, and will be fixed... well, when they find where things went wrong.

One thing I did get from this is making the client stay online better- but as is you can disconnect your network connection completly and reconnect a minut later and still be ingame. Pretty good, no?
player -> gm -> dev -> bum

steuben

  • Veteran
  • *
  • Posts: 1834
    • View Profile
    • Myspace
(No subject)
« Reply #3 on: September 27, 2005, 04:53:30 pm »
it took a bit. the op is confusing graphics lag with net lag. based on that confusion is assuming the server is sending _everything_ to the client. and is proposing a method to correct the supposed problem. mostly by triming out redunant processes on the server.
may laanx frighten the shadow from my path.
hardly because the shadow built the lexx.
the shadow will frighten laanx from my path.

DaveG

  • Forum Addict
  • *
  • Posts: 2058
    • View Profile
(No subject)
« Reply #4 on: September 27, 2005, 11:29:53 pm »
First off:  What stfrn said.
Um... yeah... Kristan, you\'re confused.


Things handled by what:
  • Client (thing running on your computer): Graphics, sound, controls, and basically anything you \"see\" on your end.  When you \"do\" anything, it sends that to the server and waits for a response.  The ammount of stuff sent is surpsingly small, and lag is really the only problem.  (Lag is when your network messages are delayed, having nothing to do with how much info it is, though sending/receiving allot of info at once can slow things down, too...)

  • Server (specifically the server program, running on the Laanx server which is a physical machine): Movement, commands, interactions (both player and NPC), looking at anything/everything, and generally anything you \"do\" in the game.  The result of someone/something \"doing\" something, is sent to everyone involved in the action.  (or at least witnessing it; aka, tells everyone what they see, but the client takes the \"what\" and actually shows it)

  • NPC Client (another program running on the server machine): The client controlling all the NPCs.  This is the AI that controls the movement and actions of all NPCs, including townsfolk, merchants, monsters, etc.  However, oddly enough, this doesn\'t do the NPCs\' \"thoughts\"; NPC-player communication is done by the server...  (This is why the NPC client can die, stopping their actions and allowing you to kill them without resistance, but you can still talk to and even get quests from them.)

  • Database (yet another program, specifically MySQL, running on the server machine): The thing storing all the information about everything.  This holds item, NPC, player, guild, and world stats, spawns, locations, thoughts, and almost anything else you can think of.  (just NPC thoughts... :P )  
Currently, the server (physical box) is having all sorts of horrid, horrid, packet missrouting/loss problems which are largely the fault of our host.  That\'ll get fixed soon, hopefully.  There are, admittedly, some inefficiencies in server CPU and bandwidth use, but by and large they are un-noticeable under the relatively low traffic that such a pre-alpha tech-demo gets...  They are fixed every so often, though most of the focus is on fixing more obvious problems... like crashes.  :P

Edited to add:
Quote
Originally posted by Kristan
I think it would be perfect, for exclusive battles, to load the monster onto your computer for the fight instead of doing a dance with a here-and-gone-again startrek-flash-teleport-attack(lag)-style monster.

No.  One of the mottoes of the dev team is: \"Never trust the client\".  It\'s function is entirely dependent on the player and their computer, which may be dumb, lazy, slow, trying to cheat, or all of the above.  Nothing should ever be done on the client without verification of it\'s validity.  The effort spent sending it all to the client, then sending the results back, and finally checking it all over, would be more than just doing it quickly all on the server and being done with it.  (not to mention it would waste bandwidth)  The teleport/lag NPC crap is due to a combination of the packet idiocies previously mentioned, and imperfect use of the packets.  (the second one is being worked on currently)
« Last Edit: September 27, 2005, 11:57:58 pm by DaveG »

::  PlaneShift Team Programmer  ::