alriddoch is currently certified at Journeyer level.

Name: Alistair Riddoch
Member since: 2001-01-30 12:18:40
Last Login: 2009-04-02 14:17:55

FOAF RDF Share This



Lead developer at the WorldForge project, and coordinator of the Mason demo.


Recent blog entries by alriddoch

Syndication: RSS 2.0

Acorn 0.4 is now done, and released. Announcing as soon as it is on the mirrors. This is basically a note to myself to sort out my priorities over the next few months.

In the near future we basically need to create a stable branch to finalise Acorn as playable and stable. I had not initially planned to do this, but I am now shifting towards thinking that it will be a long time before any other WorldForge game efforts are stable, and it will be useful to have a good looking working demo on the side to show off on demand. STAGE is getting close to the point where it will run in-game, and they really need the new Atlas-C++ API to be ready to minimise the effort of switching later on.

Tasks for the next few months are therefor as follows:

  • Complete Atlas-C++ 0.5.x API and release.
  • Port cyphesis over to working as an AI client.
  • Write RIMs for stage that implement Acorn.
  • Clean up and improve playability of Acorn on the server side.
Wish me luck.

Loads of progress in cyphesis. Collision detection is now working well, and allows objects to move along next to each other in contact.

Spent easter weekend doing a comprehensive review of the code. Re-wrote quite a lot of it, especially re-naming things to fit in with conventions, and using iterators properlly. The code is now the fastest and most robust it has ever been. I will probably release a version as soon as there is nothing left that I am ashamed of.

The main work to complete in the short term is the persistance layer. Loading a list of client entities into the persistance database before the world is started is probably the best way to handle the whole area of maintaining client side entity maps.

Debugged the collision detection code in cyphesis, sorted out the problem with created entities inheriting bounding boxes from the creator, and made an attempt at handling two moving entities colliding.

Added Structure base class for buildings or other server entities that the player can move into. Modified collision rules so that if an entity collides with a structure bounding box, the entity move into that structure, making it possible to move in and out of buildings.

Started work on a simple library for rendering building blocks using the off screen Mesa GL library.

Loading of terrain info into the client must be separated from loading of entity information, as the two are not that closely related, and the server must be able to get full information about the pre-defined entities in the world, which it currently cannot do from the terrain map format.

Started work on a simple astronomy system, basically so that the moon can be represented properly for the werewolf system, but I figured I should probably do it right the first time, rather than have to come back and re-visit. Initially started working on it as an earth-centric system, but Sal pointed out that it would be better if it was sun-centric, which actually makes alot of it easier.

Still struggling with how to deal with loading Acorn map files into the server, and handle entity id parity with the client, which may have loaded a slightly different version of the same map. Do we need to extend the map format to include id?

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++.

2 older entries...


alriddoch certified others as follows:

  • alriddoch certified alriddoch as Journeyer
  • alriddoch certified bwh as Master
  • alriddoch certified Malkin as Journeyer
  • alriddoch certified sdt as Journeyer
  • alriddoch certified jsheets as Journeyer
  • alriddoch certified zzorn as Journeyer
  • alriddoch certified pato as Apprentice
  • alriddoch certified jmturner as Journeyer
  • alriddoch certified Grimicus as Apprentice
  • alriddoch certified rmk as Master
  • alriddoch certified rillian as Journeyer
  • alriddoch certified rbrady as Journeyer
  • alriddoch certified novalis as Master
  • alriddoch certified tialaramex as Journeyer

Others have certified alriddoch as follows:

  • alriddoch certified alriddoch as Journeyer
  • Grimicus certified alriddoch as Journeyer
  • novalis certified alriddoch as Master
  • tialaramex certified alriddoch as Journeyer
  • rillian certified alriddoch as Journeyer
  • sdt certified alriddoch as Journeyer
  • alexr certified alriddoch as Journeyer
  • jmturner certified alriddoch as Journeyer
  • nixnut certified alriddoch as Journeyer

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page