[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] peer-to-peer networked games



Kris Schnee kirjoitti:
http://en.wikipedia.org/wiki/Croquet_project
The Croquet Project seems to be similar to that. The indie game Minecraft is apparently going to have servers linked so that a character can walk from one server's world to another.

Yep Croquet is p2p, has Squeak roots (I'm sure that rings some bells on this list). The protocol is called Tea Time iirc :)

Didn't know that about Minecraft, interesting.

A question that Croquet brings up is how to spread out the computation between computers. There's a project called OpenSimulator that sets up independent servers for the game Second Life, but I believe that works on a more standard client/server arrangement. Croquet is set up so

Yep Opensimulator is a traditional server, or at least currently only used like that. It is somewhat a generic framework for making 3d apps, but is now used as a server for clients talking the SL protocol.

that the calculation is done on every machine, which is inefficient but ensures every machine does the same thing... at the cost of the system being as slow as the slowest PC, if I understand right. At the other end of the scale, with Minecraft it'd probably be possible for one server to let players easily get hoards of valuable items, then try to walk onto a higher-difficulty server with items intact. So for a game you'd have to think about which machine enforces the rules against cheaters, and the more centralized it is, the more it's like the client/server setup.

Yah reportedly Croquet runs at the FPS of the slowest participant. I haven't tested it personally yet, have just been happy to see cool videos if their smalltalky stuff .. like being able to right-click any object in the scene and start editing it's code in some funky embedded editor, save changes, and have the environment recompile(?) and run the modified version .. of the simple 3d object which you just touched.

If someone wants to test out building a Python P2P gaming system, don't assume it has to be for real-time 3D games! Why not try making a P2P text MU?

Indeed, though also in MUDs the action is very fast, so is the prob much different? ;)

We are working on a project called realXtend, which originally started as a prototype with a modified second life (tm) viewer and opensim server, adding some new packets to the protocol to support features like meshes .. we use ogre for rendering. We have now written a new implementation of it from scratch, called Naali, where can use the same code as client and server, and for the app code the protocol used is somewhat invisible. Are currently using traditional client-server setup, but somewhat interested in p2p and perhaps will test something with that at some point .. not in near future (coming months) though. BTW Naali embeds py and js so you can write games and new protocol implementations in e.g. python :) . This work is why I know opensim(ulator) (we use it as the server, when not using Naali itself as a small light alternative) and should study Croquet more too..

~Toni