I make apps for other people

Posts made on Monday, October 10th, 2005

Radar: almost to a proof of concept

Posted by Chris Jones
On October 10th, 2005 at 13:25

Permalink | Trackback | Links In |

Comments (1) |
Posted in Design Journal, Java, Python

I’ve been working on and (mostly) off on some kind of multiplayer online game. I’ve had ideas, as you may have read, but not a lot of free time to implement much of anything and a lot of what I have done in the past is mostly invisible: figuring if object heirarchies or generic structures work better, experimenting with different persistence options and implementations, developing and testing networking and protocols, thin client implementations, exploring different development processes, etc.

It’s well enough to say, “Get on with it!” and “Shut up and code!”–I have, but I don’t have someone paying me to do this kind of coding on a daily basis, so what I end up creating turns into snippets and small, apparently failed projects littering my IDE. One consistency, though, has always been trying to build what tools and utilities I anticipate needing first, and actually implementing the game later. While I still don’t have a game, as such, this time I’m trying it the other way: starting with the client, and coding the server and utilities to provide what the client wants. I tried this before in Java, and got a very nice client that proved that my single Java server could handle several thousand active connections from a single client before the client died (each client connection had a separate message processor thread)–this was on one machine, of course.

This client is simple, written in Python, and using Pygame (aka, libSDL wrappers for Python). Embarassing source code for this demonstration is available, which shows that the client has a simple, reliable way of presenting world state through the use of update method calls to sprites, as well as properly samples user input (without eating the CPU) for submission to the server.