Google Summer of Code wrap-up: Worldforge

Friday, October 3, 2014

For our Google Summer of Code wrap-up post this week, we put the spotlight on Worldforge, a project that provides tools to allow users to build their own virtual worlds.

Worldforge had three Google Summer of Code (GSoC) students this year. Now that the 2014 program has ended we’d like to highlight these three students and the work they've done.

Céline Noël, Smartbody integration in Ember.js
Céline worked on integrating the Smartbody system into Ember. Smartbody is a comprehensive system for simulating human behavior with all of the subtle body movements that natural motion entails.

Since Smartbody is a large system dealing with many different facets of human motion, a large part of the work done by Céline involved integration with Ember on the code level. Further work was then done modifying the Ember structure so that human entities can use Smartbody for their underlying animations and movement.

Celine’s work can be seen on Github. It will be merged into the Ember master branch in the coming months.

Péter Szücs, Android support for Ember.js
Péter worked on adding support for Android to Ember, including multi-touch support. The main difficulty initially was getting the Worldforge stack to build for Android using the existing Autoconf build system. Péter has made changes to most of the Worldforge libraries, as well as to the Hammer build tool. Hammer now has built in support for cross platform builds and will set up an Android toolchain by itself.

We expect to provide Android builds of Ember in the next couple of months. Keep an eye on the Worldforge news page for more information about Android support. In the coming weeks, we'll start moving Péter's work into the main repositories.

Yaroslav Taben, Cyphesis Entity filters
Yaroslav worked on adding entity filtering to Cyphesis, the server for Worldforge. Yaroslav’s project can basically be described as "functional filtering of entities using a query language". It is very useful for things like AI code since authors then can more easily write rules for entity behaviour using a query-like language.

Yaroslav worked on both defining the rules for the query language and implementing this in an efficient way in the code. We used an iterative process for the language definition, where we tried out various syntaxes until we found one that fit our specific use case best.

The code can be seen on Github and we plan to start integrating it into Cyphesis in the coming weeks.

All of our students worked hard during the summer and produced excellent results. We're very happy to have been a GSoC participating organization and hope to do so again next year.

By Erik Ogenvik, Organization Administrator, Worldforge