Jump to content
  • Advertisement

gooby

Member
  • Content Count

    3
  • Joined

  • Last visited

Community Reputation

0 Neutral

About gooby

  • Rank
    Newbie

Personal Information

  • Role
    Amateur / Hobbyist
    Pixel Artist
    Programmer
  • Interests
    Art
    Audio
    Design
    Education
    Programming

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. You are correct, it is initial map download data. I will look into HTTP. Thank you.
  2. Hi, I took out "uses monogame" as it probably confusing. I am trying to see if anyone else had a very similar scenario as myself. I was finding Lidgren writes very slow in a loop of alot of data and wondered if TCP or some other method would be a better alternative for sending map data from Server to Client. Do you have anything at all in mind that could help? EDIT: I am also concerned about the following: https://groups.google.com/d/msg/lidgren-network-gen3/6AQ94QnVaSk/xqQhMpq6YdIJ "if the application keeps sending data onto a congested line it'll choke sooner or later - and Lidgren doesn't have any good solution for backing down gracefully (like TCP does). Lidgrens strong points are small, unreliable or sequenced messages with small reliable messages mixed in; if you know you'll be sending large amounts of reliable data you might either want to look into something else (like TCP) or manually do congestion control (send a chunk, wait for confirmation, send another...)"
  3. Hi, I am looking for a TCP or HTTP networking library similar to Lidgren (UDP). This is primarily for sending game map data and potentially other large messages from Server to Client. I do want to keep Lidgren for my chat messages, player position, small fast updates etc. I especially love the flow of data and the library usage in general, so any libraries of a similar style would be excellent. Preferably something open source, free and reliable. I also must be able to swap between localhost and an ip address with ease, like Lidgren, as I run a server for singleplayer/mp/lan. My game maps are similar to minecraft, but it is 2d and only one Z-level, so i'm sending a jagged array of Tile object data (currently only enum TileID.Grass) down the pipe to the Client. Problem is if i'm sending a large map 1024 x 1024 tiles down the to client that's quite a lot of data, and Lidgren is relatively slow to build the writes (before the message is even sent!). It is fine when i'm using smaller maps < 512 x 512 ( xTiles * yTiles ). I know about chunking and will look into implementing this later, whilst taking into account the user's position in the world to only send nearby chunks. An example of my code that can be slow: private void WriteWorld(NetOutgoingMessage outgoing) { try { var world = WorldManager.Instance.CurrentWorld; outgoing.Write(world.XTiles); outgoing.Write(world.YTiles); for (int x = 0; x < world.XTiles; x++) { for (int y = 0; y < world.YTiles; y++) { // Write Tile obj data outgoing.Write((int)world.Tiles[x][y]); // <-------- Slow here when xTiles and yTiles are each > 512 ! } } } catch (Exception ex) { // log send error } } I'd love to hear from you guys, especially if any of you have come across a similar challenge.
  • 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!