Sunday, September 29, 2013

Google Summer of Code 2013 report: Samuel Kogler

The Google Summer of Code 2013 is now complete. Samuel Kogler worked during the summer on improving the terrain rendering component in Ember.
We've previously used a component called the PagedLandscapeSceneManager2 for our terrain rendering. This component however is both unmaintained and has some design deficiencies which makes it ultimately unsuitable for what we want to achieve with the worlds in Worldforge. Samuel's task over the summer has been to bring the newer and more flexible Ogre Terrain Component into Ember.
Apart from the work he's been doing on Ember he's also submitted many changes to Ogre, both to core Ogre functionality and to the aforementioned Terrain Component.
We're very pleased with the work he's done, as well as having to work alongside with him. It's been an absolute joy to see his progress.
Below is his own presentation of the work he's done.
As he's based his work on the not yet released Ogre 1.9 branch we haven't yet merged his code into Ember master; as soon as Ogre 1.9 is released we'll commence that work. Until then his code can be seen over at his Github fork.

Thursday, September 26, 2013

Cyphesis 0.6.1 released

I just recently released Cyphesis 0.6.1. The official announcement is over at the Worldforge site.

This is the first release after I took over from Alistair as maintainer. The focus, as well as with the upcoming Ember release, is fully on implementing features to make it easier for world authors.

This follows the strategy I laid out when taking over maintenance duties in April. In order for Worldforge to attract new developers and world builders we must make it much, much easier to actually create worlds. A crucial part of this is making sure that any changes done on the server actually are persisted between server restarts. Previously this wasn't true, as no "minds" were persisted. That meant that all of the behaviour and knowledge of any creature or character was wiped out when the server shut down.
That of course made it quite hard to iteratively construct an interesting world. Not so anymore!

But not only that; it's now also much easier to both alter and inspect minds. This was also a source of frustration previously, as there was no good way as a world author to interact with the minds. While a crude mechanism for inserting new goals was available, this didn't really cut it. Especially when goals malfunctioned or behaved in non-intuitive ways. Trying to figure out why the woodcutter wouldn't cut down the tree one meter in front of him was nigh impossible.
All of this is now improved as it's now possible to add, delete, alter and inspect goals. The latter feature is a god send when constructing behaviour or implementing new goals, since it's now easy to see exactly what a certain NPC is thinking.

However, in order to fully use these editing feature you must run the latest version of Ember. There will be a 0.7.1 release shortly; we're currently working out some final issues. In the meantime, if you want to try these new features out you should run Ember from the Git master branch, preferably through the Hammer script.