First update for a while, been very busy.
Early last month I wrote a watchdog daemon for cyphesis
that keeps a server running, initialises it and monitors
it, to automate game server administration.
Ranges have now been implemented, which massively
reduces the bandwidth used by each client in a game. Range
is currently based on axis aligned square areas rather
than circles as it really should be. The reason for this
is primarily to maximise performance.
Cleaned up and optimised much of the cyphesis code. This
together with changes to the Atlas protocol library means
that server load is much lower than previously.
Wrote the collision detection code for cyphesis using
AABB collision detection and prediction algorithms.
Finally added in simple collision resolution so walking
characters can no longer walk through each other.
Added MetaServer functionality to cyphesis, based on the
WorldForge metaserver example code provided. All seems to
work fine, but is as yet unsupported by any clients. This
combined with the information that a client can now
retrieve by sending a "get" operation directly after
connection should mean that a client could offer a nice
menu of all current running servers.
Currently working on making the handling of C++ base
classes with python derived classes more generic so that
more code can be moved into C++.