Latest Posts

Changes in GettingStarted

Editor Comment

Tweaks to Bazaar and Trunk sections


Revision Differences of Revision 14

# Getting Started as a Creator of Game Content ¶
_(under construction) started 19 Dec 2010_ ¶

Contents ¶
[TOC] ¶


## Introduction ¶
So you are interested in creating content for the project? __Great! Welcome!__ ¶

Whether you are a coder, graphic artist, musician, or web guru, there are some steps to take to get started as a productive participant. You may not be familiar with the development environment and tools used in the Widelands project, so this page is intended to outline what is needed by a creator of content. It CAN get a bit technical in places, but have courage, most of those tasks are one-time set-ups. (Remember that you are invited to post any questions you may have in the forums or the IRC Chat.) So let's dive in. :) ¶

## Launchpad.net ¶
All of the files that make up the source code, documentation, graphic and audio content of Widelands is maintained in one of three repositories ("trunks") on [Launchpad.net](https://launchpad.net) ¶

* __The main development ["trunk"](https://launchpad.net/widelands)__ - contains all of the application-related files, (i.e. everything that is needed short of a compiler and libraries to build and compile an executable version of the game.) ¶
* __The ["media trunk"](https://launchpad.net/widelands-media)__ - contains the graphic and audio sources used to generate Wideland's visual and audio content. ¶
* __The ["website trunk"](https://code.launchpad.net/widelands-website)__ - contains the code that supports this website. ¶

### Establishing a Launchpad.net Account ¶
Just as the main repositories are referred to as "trunks" on Launchpad, revisions from development are referred to as "branches". More on that later. ¶
While you don't need an account to download branches from Launchpad, a Launchpad.net account is required if you wish to effect any changes. ¶
[This link](https://help.launchpad.net/YourAccount/NewAccount) will take you to the Launchpad website page for setting up a new account. ¶

### SSH Key Description and Use ¶
Launchpad trusts that you are who you claim to be. Later, such as when you're using the bug tracker's email interface, you'll need to use an electronic signature to prove your identity. ¶

A Secure Shell or SSH is a network protocol that allows data to be exchanged using a secure channel between two networked devices, encrypting and decrypting the data to ensure it is received by the intended party. ¶

[This link](https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair) ¶
takes you to where the Launchpad site documents the process of setting up an SSH Key pair for use in Launchpad. ¶

## Launchpad interaction with Bazaar ¶

### Description
and Links
Well, with all of the program development projects that are housed on Launchpad.net, including our Widelands effort, there is a need to keep track of the changes/revisions that are constantly being made to the programs and content of all of those many projects. The Launchpad.net website utilizes a free OpenSource utility called Bazaar for the task of version control. It is through Bazaar (bzr) that all uploads and downloads
to Launchpad are performed. Bazaar keeps track of every change that is made and "committed" (or finalized) to every branch and trunk. This allows changes from multiple developers to be merged without impacting another's work and it facilitates backing out changes that are not wanted. Yes, Bazaar has a lot to do and plays a very important role in keeping things manageable. :)

### Bazaar Primer ¶
The BzrPrimer page is an excellent reference for getting started with Bazaar. It refers solely to the main development trunk (lp:widelands), but the media trunk (lp:widelands-media) and the website trunk (lp:widelands-website) are developed in the same way. (By the way, you may have already guessed "lp" stands for Launchpad.) ¶

The bzr commands are well documented in manuals on the [Bazaar website](http://doc.bazaar.canonical.com/en/). ¶

### Some Terms ¶
Here are some terms you may come across in the bzr documentation: ¶

* __trunk__ (or "tree") - the "official" collection of files that comprise the project. These files have all been reviewed and are considered acceptable for use in the program. ¶
* __branch__ - a folder of files under development. A branch can be a full copy of the trunk (created locally with the "bzr get" command) or a small subset of files currently being worked on. ¶
* __checkout__ - used to refer to a copy of the trunk or of another branch to review and/or work on locally on your machine ¶

> TIP: ___Qbzr___ - Is an optional utility (really an extension of bzr) that can be used in concert with Bazaar. It provides a graphical user interface (GUI) which makes log inquiries and other tasks a little easier. Here is a [Link](http://wiki.bazaar.canonical.com/QBzr) to its homepage. Windows users also have the option of [TortoiseBzr](http://wiki.bazaar.canonical.com/TortoiseBzr) which provides a GUI for use in the Windows operating system. ¶

## Media Trunk

A higTh-lev Mel directorya tTreeunk (lp:with dexplands-media/tirunk) contains ofiles theat foldwere used to create
T
the Mmedia Trused ink the game. It is structured as follows: ¶

Folder | Sub-folder | Sub-sub-folder | Contents ¶
------ | ---------- | -------------- | -------- ¶
.bzr | | | files pertinent to version control (Do not modify) ¶
graphics | | | sources, tools and templates which support the graphic content ¶
| campaigns | | campaign art arranged by tribe ¶
| stock_sources | | ¶
| | blender_resources | materials, textures, and sundry .blend files for general 3D modeling ¶
| | blender_set_templates | empty templates with rendering stages for 3D models ¶
| | pngs | 2D images, loading images arranged by world ¶
| | structure_templates | template directories to organize new tribes and worlds ¶
| tools | | python scripts and quality control references ¶
| tribes | | 2D and .blend 3D sources of tribe-specific game art organized by tribe ¶
| user_interface | | 2D images for menus, icons, borders, etc. ¶
| wiki | | 2D art for the wiki ¶
| worlds | | 2D and .blend 3D sources of world-specific game art organized by world ¶
music | | | ¶
| src | | files which support the music content ¶
sounds | | | ¶
| src | | files which support the sounds content ¶

## Main Trunk ¶
A The Maigh-n Trunk (levp:widel andis/treunk) contoryains trhe files wthat go into building the expecutablanate versions of the foldgamers.
For our purposes, the following lists the Main Trunk folders which are of concern to content creators and a second list of those folders
with which a content creator rarely if ever may dealter: ¶

__Folders of primary interest for content creators__ ¶

Folder | - | Contents ¶
------ | - | -------- ¶
global | | 2D game art common across tribes and worlds ¶
music | | .ogg music files used in the game ¶
pics | | 2D graphic files for the user interface and for general use on the game board ¶
sound | | non-music .ogg sound files that enhance game play ¶
tribes | | 2D game art specific to each tribe (worker and building animation, wares, frontiers, etc.) ¶
worlds | | 2D game art specific to certain worlds in the game (trees, animals, immovable objects, etc.) ¶

__Folders usually of no concern to content creators__ ¶

Folder | - | Contents ¶
------ | - | -------- ¶
.bzr | | files pertinent to version control (Do not modify) ¶
build | | for use by those packaging the game ¶
campaigns | | game maps for the campaigns ¶
cmake | | program coding tools ¶
compatibility | | contains savegame files of older official releases for archiving and testing purposes ¶
doc | | sundry documentation for developers ¶
fonts | | font sets used in the game ¶
maps | | game map files that are packaged with the game ¶
po | | files used in language translation ¶
scripting | | .lua files that provide criteria for game play and control ¶
src | | program source code of the game ¶
txts | | text files accessible by the player (tips, readme, etc.) ¶
utils | | python scripts and other files used by coders for testing, debugging, etc. ¶

## General Graphic Development ¶

### Links to existing wiki pages on blender perspective, color, etc. ¶

## 2D Graphic Development ¶
_brief descriptive listing of the graphical elements in each following category (e.g. screen backgrounds, borders, buttons, map terrain, etc.) Mention the tools like GIMP, etc. that can be used, resizing, and perhaps some testing and quality control suggestions._ ¶

### WL User Interface Graphics ¶

### WL Game 2D Graphics ¶

### WL Editor 2D Graphics ¶

## 3D Graphic Development ¶

### Description of Blender and links to get it ¶

### The templates ¶
_List the template files and their intended use_ ¶

### The scripts ¶
_List the python scripts in the tools directory and describe what they do_ ¶

### Animation ¶
_Describe the process of animation as it is done for Widelands workers, buildings and other bobs_ ¶

## Description of conf files for graphic elements ¶

### What they are and how they are used ¶

### Common Parameters ¶

#### Pics/Dirpics ¶

#### Hotspot ¶

#### Playercolor ¶

### Animation Parameters ¶

### Building Parameters ¶

### Worker Parameters ¶

### Other ¶

### The extent to which a content creator may modify them ¶
_Warn about changing parameters that would effect game play_ ¶

## Music & Sound Development ¶
_Describe the considerations for creators of music and sounds_