Map calculation, distribution.

Map calculation, distribution.

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
№2117
Posts: 2
Joined: 09 May 2006, 19:05

Map calculation, distribution.

Post by №2117 »

I put in a search for maps, calculation, map calculation, distributed calculation, and got about 1836 results. None where relavant, and I'm going to do the noobish thing and make the assumption no one has requested this before.

Instead of waiting for the slowest PC to calculate the map, instead two methods

1)Each computer calculates, when it is finished it sends a signal to others, saying it is finished, and then sends each computer the results

2)The host can choose who does the calculation, and appoints that player the pregame calculator. Of course, an A64 running at 2.6ghz is going to be faster than a 2.6ghz socket 4xx p4, so maybe in the future we could have something like CPU-Z showing icons of just what players have.

This is null and void if the calculated data is anything greater than 1024kb, because most computers will have done the calculation by the time it takes a 256kbps upstream to have sent it.

Also, Spring used to have p2p support? What p2p network did it use? WAs it a bespoke network? Damn, that sounds like a cool feature, and could it be reimplimented? I usually leave spring running in the background, iv'e grown so fond of it (after all, it is TA). Of course, have it so Spring throttles the bandwidth when playing, it's not fun uploading a map/mod to 100 other players when trying to have a game!
User avatar
Zenka
Posts: 1235
Joined: 05 Oct 2005, 15:29

Post by Zenka »

The main reason eveyone calculated the path is to reduce the map size.
almost every PC calculats the path faster then they download it

As for p2p transfers. Why does this suddently pops up in several threads? (not blaming you for missing it). Spring install files used to be on bittorrent. Only hardly anyone seeds it, because you don't want to have it running at the same time you play spring.
User avatar
krogothe
AI Developer
Posts: 1050
Joined: 14 Nov 2005, 17:07

Post by krogothe »

Bandwidth throttiling would solve that and save a lot of money! Id love to see it for downloading maps and mods, especially when FU is in a slow mood!
heze
Posts: 38
Joined: 28 Apr 2005, 23:32

Post by heze »

If it wasn't for FU, we'd be screwed =). If such a central high speed server wouldn't exist, I bet bittorrent would automatically pop up as a method of distributing content.

About calculating paths, sharing the burden with each of the puters could work but is probably of so much trouble to implement that it won't happen in the near future since the TODO list is like endless already having very important and big stuff on top of it.

It's good to have ideas but I think it could be wise if the ideas were considered before posted. I'm just saying that waiting for pathing to finish is a very minor thing in comparison to sync issues. But it's surely not at the lowest priority. Maybe the "count all maps' paths during night" should be fairly easy to implement and provide a solution. But it surely will not be something like "hey lets build a p2p shared computation simulation network with rocket boosters in the corners so we can fly to Alpha Centauri playing Spring.

Ps. Sorry for being arrogant :)
№2117
Posts: 2
Joined: 09 May 2006, 19:05

Post by №2117 »

Hey, that's okay. Some forums you get kickbanned for even posting in the feature request forum, so that hasn't happened, thus I am happy. But yeah, I'd much rather just have spring, rather than spring+emule+azureus+firefox running. I'm hoping there will be a page for mods, just like the map page.

And the download dialog doesn't look like it's been copy+pasted from internets exploder! Hooray! That's pleasing to me. I know these topics are often covered, but it's easy for me to pay attention to this one thread, as opposed to many.
patmo98
Posts: 188
Joined: 09 Jan 2006, 17:51

Post by patmo98 »

Lets assume that the path costs are 1meg. The fastest computer has an upload speed of 40KB per second, there are 4-6 players and the slowest computer takes about 2 mins to path.

I pick these numbers because most cable connections give about 40KB per second, and because I've never seen a computer take more than 2 min. to path except on one map, (I forget the name).

So The fast computer paths the map = 20s
The fast computer uploads the file at 40KBs to 5 people without using multicast. = 1000KB*5/40KBs = 125s

This gives us something worse than the pathing time on most slow computers. I do admit that if there is a fast computer with a really fast upload connection, that it would take much less time, but does all this effert relly seem worth it?

Seems like a command line way to path all of the maps would work better.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Some path cahces are around the 200kb mark, whereas others are several MB, so it would work for the smaller...
User avatar
Dragon45
Posts: 2883
Joined: 16 Aug 2004, 04:36

Post by Dragon45 »

:roll: If it is so small and quick why bother at all? By the time the first packets came, the client computers would have finished :roll:
Torrasque
Posts: 1022
Joined: 05 Oct 2004, 23:55

Post by Torrasque »

AF wrote:Some path cahces are around the 200kb mark, whereas others are several MB, so it would work for the smaller...
Yeah, but the smaller take less than 10 seconde to calculate, so it's pointless ihmo.
jouninkomiko
Posts: 436
Joined: 26 Aug 2004, 08:11

Post by jouninkomiko »

Why don't we just write a utility to pre-comput the path costs for all the maps in someones directory? If someone is forced to compute it, they are a nublet cupcake for not running the app previously. Or we can make the lobby capable of doing it, and including it in the requirements for being "in sync"
Post Reply

Return to “Engine”