Code center > Darwinbots3
DB3 progress and networking
Numsgil:
--- Quote from: spike43884 on March 28, 2015, 07:50:42 AM ---The peer-to-peer part gave me an idea, it mentions how its primarily now only used for RTS games (or turnbased games) Darwinbots, is a turnbased program. Each cycle representing one turn. The main problem they state is desyncronisation but thats mainly stated because they're sharing the same view, as in darwinbots we use different views, connected via a teleporter. Of course in darwinbots the cycles in the currrent IM rarely match, so we don't have to match speeds, we just need to hold whatever is being sent in limbo until it can be transported to the other end. The limbo also allows it to switch ports whichever its going through, though if it includes a limbo that'd start to transfer it more into a client-server topology (though it'd still function relatively close to peer-to-peer).
--- End quote ---
If we just want to use teleporters like in DB2, a peer-to-peer architecture is probably overkill. It would only make sense to me if we were trying to do something like patch the two simulations together (like, if bots go off the left of my screen they come in the right of yours), which is a neat idea but beyond what I think I know how to do easily, because once bots start forming larger multibot structures we'd have to either teleport the entire thing once it reached the edge of the screen or try to simulate it on two computers at once, and neither is very tractable. If we're just sending bot files to each other we might as well make things easy and push to a central server.
--- Quote ---This benefically means that completely slow computers, won't damage the sim in any way, as they're signal is sent out, then when its received its directly fired into the simulation, and both sims have no need to be in-sync as its one-way and they're different ''area's''
--- End quote ---
If the sims on the slower computers are outoging portals only, wouldn't it make more sense to just skip the simulation all together and just allow users to submit bots directly via something like a webpage? But then you're not really talking about a distributed "internet mode" type thing anymore. You're talking about a single computer running a simulation that others can add bots to.
Peter:
Without some knowledge of the other parts of the system. I'm not sure if you can get do much more than simple bot transmission.
It would be nice to have one universal system.
When one bots moves to another; how to integrate multibots between 2 sims, different sim speeds, different physics.
How feasible would it be to have a computer calculating a bot in a different simulation?
Extending the former, maybe not any simulation at all on a computer itself and just give computing power to a server, which gives a stream of the simulation back, or hosts a stream(svg animation?). Is that possible without overhauling the whole system?
A P2P system using DHT, through grid computing effectively creating a supercomputer which can't be turned off breeding super AI's sounds fun! Now we only need someone who has the knowhow to implement it properly.
spike43884:
--- Quote from: Peter on March 30, 2015, 05:24:45 PM ---Without some knowledge of the other parts of the system. I'm not sure if you can get do much more than simple bot transmission.
It would be nice to have one universal system.
When one bots moves to another; how to integrate multibots between 2 sims, different sim speeds, different physics.
How feasible would it be to have a computer calculating a bot in a different simulation?
Extending the former, maybe not any simulation at all on a computer itself and just give computing power to a server, which gives a stream of the simulation back, or hosts a stream(svg animation?). Is that possible without overhauling the whole system?
A P2P system using DHT, through grid computing effectively creating a supercomputer which can't be turned off breeding super AI's sounds fun! Now we only need someone who has the knowhow to implement it properly.
--- End quote ---
With a central hub computer which we can access to the visualise everything...And of course things can monitor your CPU so it could integrate to not over-use slower computers...
Anyway, Without knowledge of other parts of the system, I could still get a simple bot transmission. The bot is a packet, packet transmissions are easy.
Actually, we probably should start treating bots as packets more, rather than a complex object...It'd be easier in theorywork. I mean, that'd solve the MB assembly problem, as you'd just recompile it like the packets in a message?
I think we certainly need to find what will be the central hub first. Something that doesn't go off (just incase) and can carry reasonable amounts of data (as it needs to cope with transmissions). Benefit of this system were devising, each computer could select whichever port it wishes to connect via? Then the hub just needs to have all ports open :)
Peter:
--- Quote from: Numsgil on March 27, 2015, 01:16:39 PM ---(For the record, I doubt the core engine for Darwinbots will be deterministic just because I haven't put any effort towards that.)
--- End quote ---
Why wouldn't it be deterministic?
Peter:
--- Quote from: spike43884 on March 31, 2015, 12:13:53 PM ---Actually, we probably should start treating bots as packets more, rather than a complex object...It'd be easier in theorywork. I mean, that'd solve the MB assembly problem, as you'd just recompile it like the packets in a message?
--- End quote ---
Nope, the issue is that the MB is in two simulations at one. Transmitting a MB has been possible in DB2.
--- Quote from: spike43884 on March 31, 2015, 12:13:53 PM ---I think we certainly need to find what will be the central hub first. Something that doesn't go off (just incase) and can carry reasonable amounts of data (as it needs to cope with transmissions). Benefit of this system were devising, each computer could select whichever port it wishes to connect via? Then the hub just needs to have all ports open :)
--- End quote ---
Most server software got only one port open, why would DB need all ports?
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version