Summer of Code

From WorldForgeWiki

Jump to: navigation, search

Contents

About Google Summer of Code

Flip code, not burgers. Google is sponsoring students to work on Open Source projects this summer. To learn more about this program see the Google Summer of Code website and the Summer of Code FAQ. You can also find a some advice for students here.

Worldforge in the Summer of Code

This year Worldforge was allotted three slots in the Summer of Code. Official start of coding is May 26. More info on the timeline on the google FAQ.

Requirements

Prerequisites

  • You should know your way around C++ already.
  • You should discuss your application on the WorldForge General mailing list before submitting.
  • You should have the time to work on the project all summer.
  • You should be able to compile/run the Ember client.

During the Program

  • You need to provide a weekly progress report.
  • Provide your patches early and often.
  • This is not exactly a requirement, but it would be nice if you could hang out on WorldForge IRC during the program. This will make it easier to get feedback from other project members as well.

Helpful Links

  • Communication channels A nice summary of the communication channels used by the project. New members should start by using the mailing lists (go for the General list), but day to day communication mostly happens on IRC. We also have a specific forum set up for the SoC.
  • Compiling Ember A requirement is that you can compile and run Ember. Due to the large number of required libraries this is not always straight forward, hence this guide.
  • Ember development General information on current Ember development (bug tracker, blueprints etc.)

Ideas List

For Summer of Code projects, we recommend working on Ember. This is a summary of suggested projects. The full specifications can be found as blueprints on the Launchpad. Note that these are all just suggestions. If you have another idea that you want to see implemented, don't hesitate to submit that instead. It might also be a good idea to talk with the developers first about your idea. Use the mailing list or the forums, or reach us on irc. Most of the developers are based in Europe and are logged on in the evenings.

Entity creator

Add an entity creator to Ember, which will allow for easy creation of new entities. This will involve specifying and writing a parser for how to store the entity data, binding the parsed data to scripts (Lua to begin with) and adding hooks for replacing values of performing iterated actions, provide gui elements for the bound values and finally to provide a functional and cohesive gui for it all.

More information can be found here.

This project will be implemented by Alexey Torkhov. A page for this can be found here.

Sound manager

Add support for sound through a sound manager. This will involve working with OpenAL and integrating it better into Ember, extending the Model format for better sound support, handling sound resource loading and unloading and provide functionality for sound prioritizing and leveling.

More information can be found here.

This project will be implemented by Romulo Fernandes. A page for this can be found here.

Terrain modifiers

Extend the terrain handling with support for modifiers which directly alter the terrain. This will involve both client (Ember) and server (Cyphesis) side alterations, though with the focus on the former. It involves Atlas message format extension and parsing, Mercator integration and terrain system updates. A following phase of the project could involve creation of additional terrain modifiers or support for better terrain alteration on the client through an editing GUI.

More information can be found here and here(for a possible phase two)

This project will be implemented by Tamas Bates

Integrate the Google Breakpad

Google hosts a project called the Breakpad, which is an automated crash reporting system. This project aims to integrate into Ember, so that crash information is automatically sent to a Worldforge server for collection and processing. A phase two of the project could involve building various crash report handling and reporting functionalty, perhaps integrating it with the Launchpad used for bug tracking.

More information can be found here.

Extending the terrain editor

Extend the terrain editor with support for editing areas (creating new areas, changing and deleting existing ones) all through a simple interface. Also add better support for altering the height of terrain segments (allowing for easier batch terrain creation). Finally add support for altering the server's terrain layer definition.

More information can be found here, here and here.


You can find more ideas on the WorldForge blueprints page. If you have any questions or want to suggest your own project, please contact us, either directly to Erik or through one of our communication channels.

Personal tools