Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I'm am creating an MMO(probably won't be so massive), and was wondering how to deal with the graphical resources. Obviously, I can't have what could be possibly a few gigs of images and animations loaded up to the client, so I need another way of doing it. I have tried having a php webserver that updates itself and writes to a file that the client draws, however this seems slow. How can I speed up the process of updating the graphics while not having too much into the client?

share|improve this question
    
So the web server is updating a static texture that the client draws? Are you trying to speed that up or ask about the general case of lots of characters/equipment/etc typical of a 3D game? –  Tetrad May 26 '12 at 0:15
    
Yes, that is what the server is doing. The game is 2D, and I am asking for the best way to get the graphics onto the client quickly w/o having to have the files in the client. –  jersam515 May 26 '12 at 0:33

3 Answers 3

up vote 3 down vote accepted

Networking is usually a bottleneck for real-time multi player games and as such, information sent needs to be kept to an absolute minimum. Adding image deltas (or even full images?) to the packet of information sent to every client during every frame can (as you have discovered) easily reduce your networking to an unusable speed and would not scale well (imagine the network load with a couple of thousand players).

A few random ideas for minimising the amount of texture data on the client are:

  • Querying the OS for the screen size and downloading a texture set to suit when the game is first run (that way a large tablet could be given a large texture set while a small phone only gets a small one).
  • Asking the user which texture set they want to use and letting them know how much space they need for each option.
  • Including a high resolution texture set as a free/cheap add-on in the app store/Google play, which ensures there is enough space before installing it.
share|improve this answer

You could try the "curling method". I may be butchering this but bare in mind. I went to a talk on social games and how they handle large images and what they do is a technique called curling where they have a high-res, and low-res image. So when the user isn't using the image they get the low-res version, and when they are using it they receive the high-res version. I'm not sure if this helps at all, but it might make the loading be faster.

share|improve this answer
  1. Using Highres and lowres pictures for different distances is a pretty good thing to take care of.
  2. Also you should unload objects that aren't used.
  3. Everything should be stored local or loaded at the startup of the game.
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.