Guides/Platform Development

From Sirikata Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Introduction for Platform Developers

This guide helps you get started working on the code that runs Sirikata -- fixing bugs or adding new functionality to the system, rather than scripting objects in a running system. It provides:

  • A high-level map of the components of the system and the code base to help you find our way around the code and figure out what you want to be modifying.
  • A breakdown a detailed description of each service so you can find where in a service you need to work.
  • A small set of general tutorials. These are specific to the Sirikata code base, but not specific to any component. Look here to understand the code infrastructure and idioms, such as plugin architecture, the options system, and the event system.

It's oriented towards the primary C++ code base; for other projects (e.g., KataJS), you'll need to look at their documentation.

Getting Started

As mentioned above, you probably want to start with one of the three main sections:

  • Tour of the Code - A technical tour of the system and the code repositories.
  • Components - A breakdown of the services and components of the system, with details of their operation.
  • Tutorials - A series of tutorials describing certain aspects of the system which aren't specific to any component but which any developer will encounter when working with the system.

Resources

Besides documentation and tutorials included in this guide, there's a lot of infrastructure around Sirikata and its development, e.g. the code repository, bug tracking, IRC, mailing lists, debugging tools and libraries, and more.

Map for Platform Development

  • Documentation is very much a work in progress but is a comprehensive overview of what we currently have. Covers just about all the technical aspects of the system, tools and infrastructure around it, and how to work with it. If you're looking for a particular topic, start here.

Getting into the Code

Getting in Touch with Other Developers

  • Need to talk to other platform developers to bounce implementation ideas off them or ask questions about the code? Platform Developer Communication describes how to get in touch with other platform developers, both synchronously and asynchronously.

How and Where to Contribute