﻿ticket	summary	component	version	priority	type	status	owner	status	created	_changetime	_description	_reporter
220	Enhance model textures	GameContent		minor	enhancement	new		new	2007-10-02T20:50:38+02:00	2010-03-06T09:12:58+01:00	"== Introduction ==
Enhance the textures of our models (ships, weapons, other stuff) if necessary.

== Goal ==
Just to give you an idea of what we mean, compare the two screenshots: [[Image(ASSF:fighter_redesign_8tex_eqip2_cut.png, width=270, border=1)]] vs [[Image(galacticdream_2.jpg, border=1, width=270)]] (sorry nico, no offense ;)).

== Implementation ==

You might create ""prefabs"" (small image files with pipes, engines, metal seam, ...) which you can alter (size, color) to fit them into existing textures, to enhance the level of details.

What you need:
 - Experiences with GIMP or other editing tools
 - You should know how good textures look like (gaming/cg experiences)"	landauf
221	Create new textures	GameContent		minor	task	new		new	2007-10-02T21:05:09+02:00	2008-12-19T21:36:52+01:00	"== Introduction ==

[[Image(crude_1.jpg, right, nolink, width=270, border=1)]]
Create new textures with or without a digicam (depends on your graphic skills).

== Goal ==

We always need metal, rust, concrete, alien or other textures to create maps and models.
The textures should be seamless and at least 512x512. Vary color, brightness and contrast to achieve good (and different) results. Add details (bolts, seams, knobs, rips, ...) for a ""human touch"".

== What you need ==
 - Experiences with GIMP or other editing tools 
 - You should know how good textures look like (gaming/cg experiences)
 - (A digicam)
"	landauf
222	Create particle effects	GameContent	0.1.0	minor	PPS_project	closed	sweber	closed	2007-10-02T22:42:55+02:00	2008-02-22T13:45:32+01:00	"== Introduction ==

[[Image(s23992_pc_17.jpg, right, nolink, border=1, width=300)]]
Create particle effects and weapon effects. The code has to be modular, so we can attach them to weapons and other elements, change their size and lifetime.

== Goal ==
Ideas what we need:
 * steam
 * smoke
 * explosions
 * fire
 * sparks
 * ...

and for weapons:
 * muzzle flash
 * smoke trails
 * burst
 * splinters
 * ...

== Implementation ==
Play with the particle engine, create transparent textures and put them together to create realistic looking particle effects. Look at real photos and videos to get some inspiration.

Videos:
 - http://youtube.com/watch?v=zmbEGcNG4B0
 - http://youtube.com/watch?v=MmeNywZ_wSw
 - http://youtube.com/watch?v=4aIvY91JB6c
 - http://youtube.com/watch?v=QTrM6K5NTEY
 - http://youtube.com/watch?v=W9cNf73cQ8s
"	landauf
223	Create FPS weapon models	GameContent		minor	task	new		new	2007-10-02T23:08:01+02:00	2008-12-19T21:36:59+01:00	"== Introduction ==

[[Image(http://pics.computerbase.de/1/5/0/8/6/5_m.jpg, border=1, nolink, right, width=270)]]
Create weapon models for the FPS mode.

== Goal ==

The weapon models need much details and good textures, because they're always in the front of the player and on every screen shot of the FPS mode.

== Implementation ==

Think about different types of weapons and design appropriate models. You may consult with the story writing.

==== What you need ====
 - Experiences with Blender and GIMP (or other editors)
 - Ideas for new weapons

"	landauf
224	Space junk	GameContent	0.1.0	minor	enhancement	closed	nobody	closed	2007-10-02T23:22:04+02:00	2008-02-22T13:45:12+01:00	"== Introduction ==

[[Image(debris.gif, right, nolink, border=1)]]
Create space junk. Well, of course not real one (our budget is not that big).

== Goal ==

We need several new models (with textures) of space junk like meteors and stones (at least 10-20 different models, more are appreciated), ship wrecks, satellites, parts of space stations and more. We'll use them to get more variation in space levels.

== Implementation ==

Find a good balance between boring stone and sophisticated space ship. This will be space junk. Burnt and bent metal and meteors. Why not a comet?"	landauf
225	Drone	GameContent	0.1.0	minor	PPS_project	closed	janise	closed	2007-10-02T23:30:11+02:00	2008-02-22T13:43:45+01:00	"== Introduction ==

[[Image(http://kofler.dot.at/40k/units/Tau_Gun_Drone.gif, border=1, nolink, right)]]
Design a little attack drone (for FPS levels).

== Goal ==

It should be able to fly and shoot (maybe you remember the slicers from HL2).

== Implementation ==

Create model and textures, but don't implement the code, that's another task."	landauf
226	Robot	GameContent	0.1.0	minor	PPS_project	closed	marcelfl	closed	2007-10-02T23:47:01+02:00	2008-02-22T13:43:08+01:00	"== Introduction ==



[[Image(http://upload.wikimedia.org/wikibooks/de/thumb/6/65/Blender3D_Robot.jpg/320px-Blender3D_Robot.jpg, width=220, border=1)]]

Design a little robot for FPS levels which cleans the floor and/or repairs machines and runs away when the player walks over it.

== Goal ==

[[Image(#225:sikorsky_cipher1.jpg, nolink, border=1, width=220)]]

It should have animation so it can move around and do different actions, maybe it's even able to shoot, be creative.

== Implementation ==

[[Image(#225:TM9QCAWE.jpg, border=1, nolink)]]

You'll have to create model and textures, the code is part of another task."	landauf
227	Network Support	Network	0.1.0	major	PPS_project	closed	scheusso	closed	2007-10-03T00:03:12+02:00	2008-02-27T14:07:32+01:00	"== Introduction ==

[[Image(network.JPG, right, nolink, width=270, border=1)]]
Everyone keeps telling me we shouldn't think about network support in the first 1-2 semesters, but I think it's inevitable to think early about the implementation of network related features.

== Goal ==

Theoretical and generic concept of network support.

== Implementation ==
We need synchronistation, different behavior of client and server, etc. to avoid later complications. It doesn't have to be fully working, but we should be able to implement theoretical network support in every world entity we create. Later it will be much more work."	landauf
228	Class hierarchy	GeneralFramework	0.0.2	blocker	task	closed	nobody	closed	2007-10-03T00:12:39+02:00	2008-09-21T14:00:00+02:00	"== Introduction ==

[[Image(foundation_row.jpg, right, nolink, border=1, width=270)]]
We need a well elaborated class hierarchy for our framework to seriously start coding the new framework. As soon as possible!

== Goal ==

Following things are a must have:
 * main loop
 * event handler
 * factory
 * loading
 * resource handling

== Implementation ==

This is a very important task. Before any coding create an UML diagram and let it be reviewed by the Orxonox veterans. You build the base, the foundation, of Orxonox so a lot of people will have ideas and distract you with them.[[br]]
Implement multi threading (if possible adaptive to the available processor(s))."	landauf
229	Object-hierarchy	GeneralFramework	0.1.0	minor	task	closed	landauf	closed	2007-10-03T00:23:29+02:00	2015-02-14T18:44:06+01:00	"== Introduction ==

[[Image(hierarchy.jpg, right, border=1, width=300, nolink)]]
We need a well elaborated class hierarchy for the world entities. World entities are the object in the game world we see and may be able to manipulate.

== Goal ==

Implement a very generic and clever hierarchy of world entities. Use a smart combination of interfaces, abstract classes and common functions to achieve your goal.

== Implementation ==
We need a totaly new handling of players (can be controlled by human input, AI or scripts) and many other classes. You'll have to rework and norm functions between classes (for example: a player gets damaged; we need the amount of damage, damage type (fire, projectile, toxin, ...), origin (think about kill messages in online matches), direction and impulse - or maybe you have better ideas). The basic class too needs several new features (triggers, states, saving/loading functions, ...).[[br]]
Try to build a very steep hierarchy without complicated handling. You will have to think about a lot of stuff simultaneously."	landauf
230	Sound support	Sound	0.1.0	minor	task	closed	nicolape	closed	2007-10-03T00:34:41+02:00	2008-02-22T13:45:58+01:00	"== Introduction ==

[[Image(mischpult.JPG, right, nolink, border=1, width=270)]]
Implement sound support. Music and sound effects are important for the game play.

== Goal ==

Implement sound support with following features:
 - 3D sound
 - Surround (more than two speakers)
 - Music (.ogg)
 - Configurable parameters (please no hardcoded values)
 - Doppler effect

== Implementation ==

Maybe there is a plugin for Ogre, maybe you have to use OpenAL or other libraries to achieve your goal. You can decide. Find help in other projects and in the old Orxonox."	landauf
231	ODE support	Physics/ODE	0.1.0	minor	PPS_project	closed	mathiask	closed	2007-10-03T00:41:43+02:00	2008-02-27T14:08:15+01:00	"== Introduction ==

[[Image(cradle4.jpg, right, border=1, width=270px, nolink)]]
Physics are part of every newer game so we need this as well. ODE is a great physics library.

== Goal ==

Be able to use ODE library by fully integrate it into the project.

== Implementation ==

Rumor says there are possibilities to let Ogre work together with ODE. There may be a plugin or other things which help you do that. Find the answer be researching. Then if you come to the actual integration into the game, make it work on the tardis system and try to fully integrate the functionalities of ODE deep into the game. Physics should be all present in the game world."	landauf
232	Load XML files	GameLoader	0.1.0	minor	PPS_project	closed	nicolape	closed	2007-10-03T00:48:37+02:00	2008-02-27T14:09:54+01:00	"== Introduction ==

[[Image(xml-xsl.jpg, nolink, border=1, right, width=200px)]]
We need to load levels and save games. Find a way to load and pars XML files in the loading phase of each level.

== Goal ==
We want to load (and save) whole levels with every attribute of every object in the level set. We use XML and its structure to create such levels.

== Implementation ==
You will not have to implement a parser. There are enough parsers out there and there might even be one included in Ogre. Work close to the Ogre implementation of loading resources. You will be able to  adopt a lot from Ogre and the old Orxonox. Also find a way to separate the data to be loaded with the actual game loading the data."	landauf
233	HUD	HUD	0.1.0	minor	PPS_project	closed	chaiy	closed	2007-10-03T00:54:46+02:00	2008-02-27T14:14:07+01:00	"== Introduction ==

[[Image(hud.jpg, width=270, border=1, nolink, right)]]
We need several different types of HUDs.

== Goal ==

One for the FPS mode (which must be changeable for different types of multiplayer matches), one for the space ships (different ships may use different HUDs).

== Implementation ==

Ogre has already different classes that could be usefull. But don't forget different resolutions and aspect ratios. Life is hard. ;)"	landauf
234	Spaceship steering	Control	0.1.0	minor	PPS_project	closed	mbiber	closed	2007-10-03T09:14:07+02:00	2008-02-27T14:06:33+01:00	"== Introduction ==

[[Image(transmitter.jpg, width=270px, border=1, nolink, right)]]
The specialty of a space ship is its steering. Implement the space ship class and its steering.

== Goal ==

Write a class for the space ship. Focus on the steering. Physics do not have to be too realistic. Think about the space ship to fly around in free space without spacial limitations. Implement a steering which feels ""right"".

== Implementation ==

The space ship inherits from a class that loads a model and has stuff like health, armor and energy. There is also already a weapon system implemented, so you do not have to think about that stuff too much. Focus on the implementation of a steering or an interface making it possible to steer the ship from human input, AI or scripts.
Implement an interface to make the spaceship controllable by human input, AI and scripts alike."	landauf
235	Spaceship weapon system	WeaponSystem	0.1.0	minor	PPS_project	closed	rgrieder	closed	2007-10-03T09:22:08+02:00	2008-02-27T14:18:42+01:00	"== Introduction ==

[[Image(f18Weapons.gif, width=270px, border=1, nolink, right)]]
Design a weapon system for spaceships. Find a way to assign weapons to ships. A way to change weapon configuration and fire mode.

== Goal ==

A very generic interface for space ships. A ship should be able to be equipped with several weapons like lasers, projectile guns and missiles. Find a way to manage all the features those weapons have and to control them from the ships control.[[br]]
This system might be used for not only space ships, but other crafts.

== Implementation ==

Think of several weapon types and how they differ. The system must be used by AI as well. You need to find a way to define weapon slots and assign weapons to it. Change the selection of different weapon slots so a variation of weapons can be used.[[br]]
Most certainly the weapon system has to have its link to the space ship. Weapon slots has to have a position on the space ships model and must be reached through control and AI.[[br]]
Weapons may shoot, charge, recharge, upgrade and load or may have special features like remote triggering. Figure out if this is an issue of the weapon system or the weapon itself.
"	landauf
236	Skybox generator	misc		minor	task	closed		closed	2007-10-03T10:21:05+02:00	2010-09-21T10:56:15+02:00	"== Introduction ==

[[Image(http://upload.wikimedia.org/wikipedia/commons/thumb/0/0f/Artist%27s_Conception_of_Space_Station_Freedom_-_GPN-2003-00092.jpg/785px-Artist%27s_Conception_of_Space_Station_Freedom_-_GPN-2003-00092.jpg, right, border=1, nolink, width=300)]]
Write a skybox generator to randomly create beautiful space environments (with nebulae, stars, planets, asteroids, supernovas, ...)

== Goal ==

It must be possible to save and restore generated skyboxes, maybe an edit function could be useful too.

== Implementation ==

Think about different ways of bringing the skybox into the game (Create a texture set for a 6-sided skybox? Restore all elements in 3D? ...) and physical issues (planets should be a 3D model, so save their position; stars cast light, we need them ingame).

Ogre has already skyboxes. Check that code out and think about a generator.

Look at other space shooters to get some inspiration.

Note:
 * http://www.ogre3d.org/forums/viewtopic.php?f=11&t=56125
"	landauf
237	Spaceship AI	AI	0.1.0	minor	PPS_project	closed	motth	closed	2007-10-03T13:04:21+02:00	2008-02-27T14:05:49+01:00	"== Introduction ==

[[Image(aibo.jpg, width=220, border=1, nolink, right)]]
Implement an artificial intelligence for space ships.

== Goal ==

We need strong enemies with realistic behavior, but we also want to beat them without losing all our shields. The AI should use the same ship class as the player, thus it must use the common functions (accelerate, shoot, ...) of the spaceship interface.

Since not much of the framework is available yet the AI does not satisfy very high expectations.

== Implementation ==

There are several types of AIs. There are such that only know how to steer a ship (minimum) and have a simple behavior structure.[[br]]
More sophisticated AIs work in groups (flocking) and organize in those groups and may have specialties.[[br]]
Even more sophisticated AIs learn and adapt to different environments and situations. Those are often not used in games, because the strength is difficult to adjust. Also there is the problem of learning. The knowledge should be brought to the next level or the enemy is plain stupid at the beginning of a level if there is no learning time."	landauf
238	Shader Based Weapon Effects	GraphicsEngine		minor	enhancement	new		new	2007-10-08T20:36:38+02:00	2008-12-19T21:41:07+01:00	"== Introduction ==

[[Image(weaponeffect.jpg, nolink, right, border=1)]]
Create projectiles of weapons based on shader effects.

== Goal ==

Every weapon shoot some kind of shot, and they should be visible. Create some shader based effects for weapon ""blots"", ""blasts"" and ""lightnings"". We need some flashy, nice looking effects which make the game attractive to play.

== Implementation ==

Check out the shader support of Ogre and think of some cool weapon effects you could implement. Also see if you want to work together with the guy working on the [ticket:222 particle effect based weapon effects].


[[Image(warp_8.jpg, nolink, border=1)]]
"	nicolasc
239	Multiple Threads in the main loop	GeneralFramework	0.0.3	minor	task	closed	nobody	closed	2007-10-15T13:42:56+02:00	2008-12-22T13:04:55+01:00	"The corepiece of progamming art

some thoughts:
Creation and Segmentation of an intelligent main loop (i.e the graphics part need only be called every 1/50 seconds)

Distribution of ""tasks"" into separate threads:
 * sound
 * video
 * physics and collision
 * network

[[Image(loop1.jpg, nolink, border=1)]]"	nicolasc
240	Space Cruiser	GameContent	0.1.0	major	task	closed	twidmer	closed	2007-10-17T11:45:56+02:00	2008-02-22T13:44:15+01:00	"== Introduction ==

[[Image(Battlestar.jpg, right, nolink, width=270, border=1)]]
Normally space ships aren't that big in the game, but Enterprise and Star Trek have huge ships as well. Orxonox does not really have one of those big things.

== Goal ==

Huge spaceship with stuff like hangar bay, bridge, drive and stuff.

== Implementation ==

Search for other large space ship online to get a quick overview and creative input. Then draw sketches of your ideas, to get a actual impression of your idea. Please consult a PPS leader before starting to model.[[br]]
There will be a variation of much and less detail in the model, try to make the less exciting parts of the model more exciting with textures.[[br]]
Think early about the texture. If there are textures already available you can use more time for the model. Otherwise you should count in enough time for the creation of textures. Also think about lights and particle effects on the ship you want to have activated."	bknecht
241	COLLADA Importer	GameLoader		minor	enhancement	new		new	2007-10-17T11:58:11+02:00	2008-12-19T21:36:00+01:00	"== Introduction ==

[[Image(collada_viewer.jpg, width=270, nolink, right, border=1)]]
COLLADA is a XML-based scene format supported by nearly every 3D editor.

== Goal ==

Write a COLLADA importer for Orxonox.

== Implementation ==

Ogre already has a COLLADA importer, but it's fairly old. Enhance it using the existing material. There are specialists in this area, known by the Orxonox project. Ask them if you need help.
"	bknecht
242	Soft Shadows	GraphicsEngine		minor	enhancement	new		new	2007-10-26T15:33:43+02:00	2008-12-19T21:46:32+01:00	"== Introduction ==

[[Image(softshadows.jpg, right, border=1, nolink, width=270)]]
Ogre does not have soft shadows (version 1.4.5). If we want to use them we have to write it by ourselves, changing Ogre or we may find a plugin implementing this feature.

== Goal ==

Fully integrated shadow mode in Ogre supporting soft shadows.

== Implementation ==

This is a quite simple task if Ogre will implement this in the future or a plugin exists somewhere. If this is not the case, you have to implement this by yourself and we could contact Ogre about our work and give them our changes so they can release them in future releases of Ogre."	bknecht
243	Scripting engine with lua	ScriptEngine	0.2.0	minor	task	closed	bknecht	closed	2007-10-31T10:07:58+01:00	2015-02-14T18:26:52+01:00	"== Introduction ==

[[Image(osdlua.png, nolink, right, border=1, width=270)]]
To make things happen in a game and to react on player interaction. There is something called a script engine. With this thing, people can manipulate objects via a script.

== Goal ==

Implement a script engine into the game.

== Implementation ==

Lua is a good thing, and there is already something about it on the [http://www.ogre3d.org/wiki/index.php/Scripting_with_LuaBind_in_Ogre Ogre wiki]. Check it out and think of a way to implement this in an easy way into the game. Also think about network support and how to make objects able to be manipulated."	bknecht
244	Check for OIS	Cmake		trivial	defect	closed	nobody	closed	2007-12-30T07:12:24+01:00	2008-08-11T12:21:48+02:00	CMake does not test if libOIS exists and a compile error occurs if it is not around in the LevelLoader	bensch
245	Check for libBoost	Cmake		trivial	defect	closed	nobody	closed	2007-12-30T07:16:05+01:00	2008-12-19T18:37:38+01:00	CMake does not yet check for libBoost and libBoost-Thread and the make process ends in file network/client.o	bensch
246	Appealing mouse control	Control	0.1.2	major	task	closed	nobody	closed	2008-03-05T10:59:54+01:00	2008-03-05T11:01:06+01:00	"== Outline ==
Mouse control is the interface the player can interact with his ship. It really is important that this part won't be tricky or tedious to get into. Hence it is essential that this interface works right! The player has to feel free and under control all the time, this means an appealing control has to be available.
[[Image(hw-easyball.jpg)]]

== Starting point ==
We can capture the mouse control and have a camera/node/ship to turn. What you have to do is simply the interface between it. Find a way so that the produced values by the player in the mouse control result in an appealing movement in the game and eventually on the screen, so that the player really feels under control.

== How to start ==
Play a game which does it right. Darkstar One has a good mouse control. One may also try out Freelancer for a more complicated approach. I personally felt lost the first hour, but that's me. You can also play a game you remembered to have a good mouse control for flying a ship or plane of some kind. A certain similarity to the genre of Orxonox is a must, though.

== Goal ==
If I cannot look around and feel kinda limited in the very basic movement of a game, I don't like to play it. Orxonox needs more players and so we cannot afford to present the game with a fiddly mouse control."	bknecht
247	Appealing mouse control	Control	0.1.2	major	task	closed	rgrieder	closed	2008-03-05T11:00:05+01:00	2008-09-18T23:25:36+02:00	"== Outline ==
[[Image(hw-easyball.jpg, right)]]
Mouse control is the interface the player can interact with his ship. It really is important that this part won't be tricky or tedious to get into. Hence it is essential that this interface works right! The player has to feel free and under control all the time, this means an appealing control has to be available.


== Starting point ==
We can capture the mouse control and have a camera/node/ship to turn. What you have to do is simply the interface between it. Find a way so that the produced values by the player in the mouse control result in an appealing movement in the game and eventually on the screen, so that the player really feels under control.

== How to start ==
Play a game which does it right. Darkstar One has a good mouse control. One may also try out Freelancer for a more complicated approach. I personally felt lost the first hour, but that's me. You can also play a game you remembered to have a good mouse control for flying a ship or plane of some kind. A certain similarity to the genre of Orxonox is a must, though.

== Goal ==
If I cannot look around and feel kinda limited in the very basic movement of a game, I don't like to play it. Orxonox needs more players and so we cannot afford to present the game with a fiddly mouse control."	bknecht
248	Key mapping	InputSystem	0.2.0	major	task	closed	rgrieder	closed	2008-03-05T11:23:41+01:00	2008-08-11T12:19:33+02:00	"== Outline ==
[[Image(optimus_oled_quake.jpg, width=280, right)]]
It should be easy for the developers to assign a new key to a new function. Also it is important that a key input may have various results in a game depending in which state the game is.
Pressing 'W' could hit the thrusters of a ship, let a person walk forward or write the character 'w' into the chat window.

== Starting point ==
All we have is the basic input capture OIS delivered. It's on to you to find a easy way to solve that problem.

== How to start ==
The problem is not THAT open as it sounds the first time you hear it. Ask [wiki:FabianLandau x3n] for directions. He will propose to approaches, one with function pointers which will maybe the better one. This problem has yet to be discussed into more detail and that's where you come in.

== Goal ==
Since you decide to a certain amount how to solve the problem, the goal is to implement your solution until it works."	bknecht
249	Document all code	Doxygen	0.2.0	blocker	defect	closed	everybody	closed	2008-03-05T11:38:56+01:00	2008-12-19T18:28:38+01:00	"== Outline ==
Not everything is documented in Orxonox. This is bad, since we have a a lot of changes with the developers and undocumented code is shit to read. Just try it once and you will never want to do it to anybody.

== Starting point ==
We have a nice [doxygen Doxygen-Plugin] in our Trac. There you can check out what is already documented and what needs to be better.

== How to start ==
While working you should document your code and find parts of code which are poorly documented. While working with that other code, why not improve its documentation.

== Goal ==
Have well documented code at the end of the semester."	bknecht
250	Improve the GUI concept	Menu	0.2.0	major	enhancement	closed		closed	2008-03-05T11:53:27+01:00	2009-07-19T20:21:37+02:00	"== Outline ==
[[Image(Inside_Menu.jpg, right, width=280)]]
Orxonox needs a concept for the menu. This concerns all kinds of ways how we might want to use elements from CEGUI.

== Current Status ==
We use CEGUI to display a GUI. You can either use version 0.6 or 0.5 and you don't have to worry about the scripting plugin, we've dealt with that internally.

At the moment, the menu doesn't do much: A camera as well as an empty SceneManager are created (Ogre can't render without). There is also a configured interface to the lua scripting engine.

== To be done ==
Clean up some code and add new functions that are needed. This mostly concerns C++ code. The actual GUI code (in lua) is found in this [#251 ticket]. [[br]]
And we especially need the input system to be able to use non exclusive input mode if required. That means the mouse cursor can move over a non full screen window without being bounded to the orxonox window. [[br]]
There's also some work to be done with the GameStates, but that's in another ticket."	bknecht, rgrieder
251	Designing and scripting Menus	Menu	0.2.0	minor	task	closed	konrad	closed	2008-03-05T12:01:50+01:00	2015-02-14T18:25:46+01:00	"== Outline ==
[[Image(#251:shot_09222008_221222178.jpg,width=280, right)]]
The menu welcomes the player and is displayed when pressing 'ESC'. This ticket is the implementation of the concept from ticket #250.

== Starting point ==
There is a very simple example in the media repository (media/gui/scripts) that demonstrates how you could script a menu. [[br]]
This however is only side: You will also need to design new looks if you have the time. Otherwise use the default and create GUI sheets (the actual pages for the user). [[br]]
Improve the usability of the menu, extend where needed and add new features.

== Goal ==
 1. A menu that is providing an easy to use 'workflow'. A user want's to chose:
  * single player or multiplayer?
  * which gametype ?
  * what specific options ? (each gametype has got so called 'configvalues' which enable the user to change the gametype's behaviour)
  * which level ?
 2. A tidy menu which does not confuse the user.
 3. A wonderful looking menu :D

==  Additional Improvements ==
 * Display a menu when the gametype ends. 
 * Display preview images of the levels.
[[Image(options.png)]]"	bknecht, rgrieder
252	HUD: Modules	HUD	0.2.0	minor	task	closed	chaiy	closed	2008-03-13T13:42:10+01:00	2008-08-11T12:17:59+02:00		chaiy
253	Basic Shader Implementation	GraphicsEngine	0.1.1	minor	PPS_project	closed	janise	closed	2008-03-13T14:34:43+01:00	2008-06-03T11:50:35+02:00	"
== Introduction ==

Shaders can create impressing visual effects that will make our game that much cooler to play. Examples are motion blur, glow effects, realistic water and so on.

== Goal ==

Check out the already implemented shaders in Ogre and their usability. Also implement an external shader into Ogre."	janise
254	function test of simple client <-> server connection	Network	0.2.0	blocker	defect	closed	dumenim, scheusso	closed	2008-03-13T16:21:06+01:00	2008-08-11T12:20:25+02:00	"= Task =
This task will be about testing all the code we've implemented in the last term, but couldn't use anymore. We will try to establish a client - server connection and transfer everything from the server to the client (client will see exactly, what the server does)."	scheusso
255	Multiple player support	Network	0.2.0	blocker	task	closed	nobody	closed	2008-03-13T16:25:03+01:00	2008-12-19T21:47:28+01:00	"= Task =
Extend Orxonox to support multiple players and implement transmission of the input from clients to the server and synchronization between server and client. 

= Difficulties =
The connection from network part and input system, hud, etc. has to be developed.
At the moment we don't have a clean input system, so this will also depend on other tasks."	scheusso
256	Space Station	GameContent		minor	task	closed	Rocco and Massimo	closed	2008-03-19T13:10:41+01:00	2008-12-19T21:35:50+01:00	"We plan to create a model of space station

Our inspiration was something like [http://www.daz3d.com/i.x/shop/itemdetails/-/?item=3564]

Of course this is not the same result as what we want to produce, the idea is just a central circular core (or more than one) with some rings and some other widenings around it."	mmassimo
257	Implement the WindowEventListener	Ogre	0.2.0	minor	task	closed	nobody	closed	2008-03-23T13:41:52+01:00	2008-05-08T21:08:51+02:00	"Every time the size of a window changes, or someone even closes the window by the little square button with the cross, Orxonox has to notice that and act accordingly. The most important task right now is to reset the mouse clipping size (setWindowExtens in the InputHandler) or else our ship will be unsteerable if the window is being resized.[[BR]]
For references how this can be done look into the Ogre wiki or have a quick look at the ExampleFrameListener that already implements WindowEventListener."	rgrieder
258	Upgrade to Boost 1.35.0	Network		minor	enhancement	closed		closed	2008-03-30T17:40:21+02:00	2009-02-22T15:49:31+01:00	"== Outline ==
[[Image(boost.png, width=280, right)]]
In March 2008 the new version of the Boost library has been released. More to read on the [http://www.boost.org/users/news/version_1_35_0 official Boost website].

== Starting Point ==
We're currently using version 1.34.x and support 1.33.x of the Boost library.

== How to Start ==
Download and install Boost 1.35 on your system and change cmake so it uses the new library to link. Then try to compile it. If it works your done. If not you have to change the code where it fails to make it compatible to the new library.

== Goal ==
Support Boost library version 1.35.0 with cmake and the network code from Orxonox."	bknecht
259	Better structure of wiki	misc		minor	task	closed	landauf	closed	2008-03-31T00:06:39+02:00	2008-12-19T21:46:43+01:00	"== Outline ==
Since the new design of the page and the start of the new implementation of Orxonox, the content on the wiki is either outdated or badly structured.

== Starting point ==
[wiki:WikiStart We] [wiki:about have] [wiki:screenshots those] [wiki:download five] [wiki:development main pages], linked from the menu. Everything starts on the development page. This is maybe a bad idea. On the development page there is already a proposed structure. There is a introduction to the project, everything about coding and everything about content creation.

== How to Start ==
Get people who do not know the page. Those people should find something. Test the page with them. Find out what's important and what our page does wrong.

Then make a list of stuff we should present on the page. Then check out the page and look what our page does present. Find a way to get rid of the difference of what we should present and what we do present.

== Goal ==
Create a structured wiki, where most people find what they want to find really fast."	bknecht
260	Update run-script	AI		major	defect	closed	nobody	closed	2008-04-14T16:25:37+02:00	2008-12-19T18:26:12+01:00	"Rethink run-script, plugins.cfg-init and ogre.cfg-init to ensure tardis compliance even if someone makes changes to the paths.
The problem was that the plugin path in plugins.cfg-init was changed and the run-script didn't adjust the file for tardis boxes with the right path."	rgrieder
261	Adjust audio to new loader	Sound	0.2.0	minor	defect	closed	nobody	closed	2008-04-17T10:57:54+02:00	2008-12-19T21:43:29+01:00	"Currently, audio isn't working at all since there is no loader concept implemented. Your job would be to have a look at classes like Ambient, SpaceShip, etc. and the framework wiki to see how to implement XML loading.
As far as it has been test, audio works on linux. However on Windows with VC++ there seem to be problems when loading."	rgrieder
262	Physics Engine	Physics/ODE		minor	task	closed		closed	2008-09-18T23:33:22+02:00	2009-01-05T13:12:34+01:00	"Every game needs a physics engine, so do we.
The goal of this Ticket is either to embedd an already existing or to develop our own physics engine.

A former evaluation has shown, that [http://www.ode.org/ ODE] is probably the best candidate for this job.

EDIT: We decided to switch to Bullet: [http://www.bulletphysics.com]"	scheusso
263	Artificial Intelligence (AI)	AI		minor	enhancement	new	gania	new	2008-09-19T12:29:19+02:00	2015-11-30T13:55:48+01:00	"== Outline ==
[[Image(http://www.hutter1.net/ai/iorpresse.jpg,width=180,right)]]
We need an AI-Engine in order to make Orxonox more interactive. For the definition of AI see [http://en.wikipedia.org/wiki/Artificial_intelligence wikipedia]. Probably the best and easiest possibility is to use an already existing opensource AI engine and integrate it into Orxonox.

== Opensource AI engines ==
This is a list with some usefull links:
 * [http://www.ai-tools.org AI-Tools]: i collection of opensource AI-components
 * [http://alchemy.cs.washington.edu/ Alchemy]: Opensource AI tool
 * [http://sourceforge.net/projects/openai/ OpenAI]: another OS engine

== Implementation in Orxonox ==
AI-controlled pawns are not obviously distinguishable from human controlled ones. Both inherit from Controller. So you will have to work with src/orxonox/objects/controllers/ArtificialController.

Think about a modular system to add new AI behaviour on a modular basis. Try to achieve interaction between different AI controlled entities without hardcoding every action explicitly, but based on a set of common rules."	scheusso
264	Binary distribution (CPack)	misc		minor	enhancement	new		new	2008-09-19T12:51:32+02:00	2017-10-02T15:25:04+02:00	"== Outline ==
In order to make Orxonox more attractive to outstanders we need to provide some OS/distribution specific mechanisms to install Orxonox.
We want to be able to distribute Orxonox for the following platforms:
 * Linux:
  * Ubuntu / Debian
  * Gentoo
 * Windows
 * Mac
== Prerequisits ==
In order to be able to accomplish distribution we need to fulfill some prerequisits:
 * Configuration files location: config files should not (at least on linux) be located in the game folder. So we need to change this in our game.
 * external libraries: we need to make clear what exactly our dependencies are.

== Ubuntu / Debian ==
The distribution on these systems will happen by using .deb packages.

== Gentoo ==
The package system of Gentoo uses portage ebuilds to distribute applications. Someone needs to write an ebuild.

== Windows ==
Probably the best method for distribution is to provide either a zip-file or a self-executable installer file.
"	scheusso
265	Loading Bar	Menu		minor	task	new		new	2008-09-19T18:02:18+02:00	2009-03-12T02:30:54+01:00	"== Basic Task ==
The goal of this ticket is to program and design a loading bar which appears when the level is being loaded.

Since we don't yet use multithreading, it will be required to call renderOneFrame() in order to actually show the loading bar. The reason is simply that the main loop doesn't run while the level is being loaded.
This means that you need to know a little bit about our internal design. You best ask one of the PPS assistants for that.

[[Image(41079-loading-bar-game-as3.jpg)]]
"	scheusso
266	Object Priorities	Network		major	enhancement	new	scheusso	new	2008-09-19T21:12:30+02:00	2009-09-30T10:30:23+02:00	"== Outline ==
In order to reduce network traffic we do not synchronise every object on every (network-) tick. We only transfer a part of the objects based on their priority. Now we need an instance that provides per-client information about the importance of objects in the universe.

== How to determine the priority ==
The priorities must be based on the following information:
 * Distance between the player and the object
 * Importance of the object (e.g. Asteroids don't change their rotationrate and velocity and can be precalculated well by the client)

== Current status ==
There has already been a lot done here by chpeter:
 * the TrafficControl class processes a list of objects, sorts it and cuts it down to the desired size
 * this list afterwards gets processed by the gamestate and affects directly what gets sent to the client

further things to do:
 * better integration into the rest of orxonox
 * considering of compression
 * communication of clients bandwidth

[[Image(network.jpg)]]"	scheusso
267	Improving the HUD	HUD	0.2.0	minor	task	new		new	2008-09-22T22:25:59+02:00	2019-02-24T18:13:33+01:00	"== Outline ==
We currently only have 4 HUD elements:
 * Bar (SpeedBar, etc.)
 * Radar
 * Navigation (shows where the selected enemy is)
 * simple Text

Your job would be to write new items like different Bars, image sequences (to show different weapons) etc, and/or to improve the current HUD elements.

== Framework ==
At the moment the HUD is implemented as a collection of Orxonox Overlays, we want to change that, so you should use CEGUI (which is more powerful).
More information about the HUD framework can be found [wiki:/code/doc/HUD here].

Ressources: 
 * '''Wiki''' https://www.orxonox.net/wiki/code/doc/HUD
 * '''XML Port'''  https://www.orxonox.net/browser/code/trunk/data/overlays/HUD.oxo
 * '''Source Code''' https://www.orxonox.net/browser/code/trunk/src/modules/overlays/hud/HUDRadar.cc

[[Image(img_4968_free_lancer_001.jpg)]]
"	rgrieder
268	Modular Space Station	GameContent		minor	enhancement	closed	mkaiser	closed	2008-09-23T14:05:07+02:00	2009-03-11T18:55:50+01:00	"At the moment, we are not able to land on planets in Orxonox, because there are none yet. For story-telling purposes and interaction with factions or merchants, we will have to rely on space stations for now. Of course, creating many space stations is a ton of work, so what we plan is the creation of modular parts, that can be assembled in many ways. Also, the modules can have several different textures according to the different factions. Like this, we will be able to create many different space stations from the same parts.

The task is, to develop a concept for joining the modules, to create the different modules and to create several textures for the same module. Real world space stations can serve as inspiration as well as objects from your favorite science fiction series. It will also be important to talk a lot with the level designers and coders, to find out what is technically possible and what matches the story."	FelixSchulthess
269	Enhance Older Models	GameContent		minor	enhancement	closed	baxel	closed	2008-09-23T14:51:25+02:00	2009-03-11T18:56:05+01:00	"Many of the older models are not yet ready to be included to Orxonox. The reasons are, that they either have no textures at all or that they look to fancy and colorful and fit into no scheme. We need models, that look nice and similar as if they would belong to the same faction. This way, we are able to create whole fleets of ships, something that will probably seem much more realistic in space.

There is no need to create all models from scratch, as long as there are still models from older versions of Orxonox, that could possibly imported and adapted. This means, modifying/enhancing an existing model and creating a new cool texture for it or adapting the old one."	FelixSchulthess
270	Basic Weapon Concept	WeaponSystem		minor	enhancement	new		new	2008-09-23T16:42:42+02:00	2011-05-15T11:36:11+02:00	"The weapon system is not very well developed at the moment, because we had to concentrate on more important topics for the framework. Now we have gotten far enough to think about this advanced topic. We need a thought-out concept for the weapons. You will have to think about:

 * Which ships can carry which weapons?
 * What weapons are there? Probably two type of weapons are enough for the beginning.
 * How can one attach weapons to ships?
 * How can you make sure, that the meshes have the correct sizes and that they are at the correct place?

This will be a rather complicated task. It will involve coding as well as the occasional design work. You will need to talk with the framework developers and the people creating the weapons. And you will develop your own solution for the problem."	FelixSchulthess
271	Sound Engine	Sound	0.2.0	minor	enhancement	assigned	erwin	assigned	2008-09-24T04:20:11+02:00	2010-09-21T10:52:42+02:00	"We need a sound engine for at least two reasons:
 * Playing background music
 * Playing ingame sounds

You must take care of the 3D-space (position and the listeners rotation) to get usable effects. Try to find a suitable library and implement it into our framework. Think about how to load sounds and music through the XML file and how to configure volume and other options.
"	landauf
272	Editor	misc		minor	task	new		new	2008-09-24T04:24:06+02:00	2017-10-02T15:23:43+02:00	"Create an editor to point-n-click and drag-n-drop levels. XML export is already possible with Orxonox, now we need a suitable interface. We need a intuitive steering, control commands, input fields for parameters, different views (top, side, 3D, ...).

Create a modular framework that allows enclosing editor features in different modules. Possible modules are:
 - add objects, edit parameters
 - 3D model viewer (and allow placement of the current model)
 - cutscene creator
 - create and connect events
 - particle editor
 - ...

[[Image(20030305.jpg,500)]]
"	landauf
273	Quest System	misc	0.2.0	minor	enhancement	closed	dafrick	closed	2008-09-24T04:28:52+02:00	2009-09-23T15:17:45+02:00	"Every game needs some sort of quests. Design a quest system that can handle several quests, parallel and sequential. Also quests may have different solutions. Maybe there are other values (like the faction of the player) that makes a difference too.

Quests have a description, need a GUI and create actions in the game."	landauf
274	Spaceship Navigation	Control	0.2.0	minor	enhancement	closed		closed	2008-09-24T04:32:53+02:00	2015-02-14T18:34:00+01:00	"Steering a spaceship is already hard enough, so we need some help with navigation. This includes several tasks:
 * Flying to a waypoint (maybe a little arrow shows the path)
 * Aim at enemies and show their predicted location
 * In a fight with different enemies, switch between them
 * Show interesting objects close to the player in a list and/or on the radar
 * Think about a way to interact with those objects
 * ..."	landauf
275	Environment (fog, particles, asteroids, etc)	misc	0.2.0	minor	enhancement	new		new	2008-09-24T04:37:00+02:00	2011-02-12T10:13:47+01:00	"We want our space to be fuller, more exciting, there should be a lot of objects obscuring sight, providing cover and serving as spots to hide behind or ambush an enemy from.

Space isn't empty, or at least it isn't in our game. We need particles, small asteroids, fog and whatever else you can think of. Implement this in a good looking AND efficient way. There has to be some randomness (we don't want to add 10000000 particles to the level), but it has to follow several rules to create different ambiences (heavy red fog, asteroid fields, ...).

Create a system to define the space environment in the XML file, for example with interpolation points (how to realize this good and efficient in 3D?).

[[Image(Bilinear_interpolation.png)]]

[[Image(large.jpg,500)]]

[[Image(930194_20060814_screen004.jpg,500)]]

[[Image(Darkstar-One-1.jpg,500)]]

"	landauf
276	Particle Effects	Particles	0.2.0	minor	enhancement	new		new	2008-09-24T04:40:52+02:00	2015-09-21T14:21:03+02:00	"We already have some particle effects and we can use them within the game, but most effects are ugly or slow or ugly and slow. Learn how to use the particle editor, learn how to create new textures and compose fantastic new effects like explosions, explosions, more explosions, projectile effects, lights, fog, fire, smoke... and explosions.
We recommend using the Ogre Particle Lab to create particle effects.

[[Image(3dlp30.jpg, 500)]]

[[Image(Bb757042_DX_VolumetricParticles_en-us_MSDN_10_.gif, 500)]]

[[Image(explosion.jpg, 500)]]
"	landauf
277	Pickup System	misc	0.1	minor	enhancement	closed	dafrick	closed	2008-09-24T04:47:43+02:00	2010-11-09T08:31:05+01:00	"A game without pickups (some objects you can take with you and which give you some abilities) is boring. That's why we need a good pickup system. Pickups give you power or a weapon or more speed or whatever else you can think of. A pickup can change everything. But of course someone has to keep trac of it, because if the pickup gets removed, it's power gets lost.

Create a system that can change the players appearance/abilities/power without changing the player itself."	landauf
278	Multiple builds support	Cmake	0.2.0	minor	enhancement	closed	nobody	closed	2008-09-30T08:27:33+02:00	2008-12-19T18:27:28+01:00	"You may have noticed that we can currently only make one build with a certain set of options. [[br]][[br]]

Your job would be to enable support for multiple builds, especially debug and release build. Furthermore, this should be better integrated into our CMake files to ease up build configuration."	rgrieder
279	Planets	GameContent		minor	task	closed	runom	closed	2008-09-30T13:10:50+02:00	2009-03-11T18:55:36+01:00	"We need planets in Orxonox. The planets will have a realistic size, that means we will have to deal with extremely large meshes. The developer accepting this task will have to think about:

 * How to create textures easily for many planets?
 * What role will gravity play?
 * How can levels of detail be implemented in a efficient way? "	FelixSchulthess
280	Overlays (Scoreboard, ...)	HUD	0.2.0	minor	task	closed	bhildebr	closed	2008-10-01T15:55:11+02:00	2009-03-11T18:56:40+01:00	Design a system to create and display various overlays like a ScoreBoard, connection information and other cool stuff. You may use Ogre overlays. Implement some cool overlays.	landauf
281	Space Race	GameContent	0.2.0	minor	task	closed		closed	2008-10-01T15:57:34+02:00	2013-11-04T23:39:08+01:00	"We want AI and player ships to do furious space races. Implement a system (checkpoints or whatever you like) which allows those races.

[[Image(race.jpg)]]
A first version has already been implemented, but there are still some open tasks:
 * Test if the multi player support works properly.
 * Make the checkpoints easier to handle in xml, by adding a XML-Template (for the model and the collisionshapes).
 * Improve AI for spaceraces. Teach them how to boost, how to use force fields, space gates and pickups and how to attack enemies.
 * Add a count down before the race starts and synchronize it with the ""ReadyGo"" sound. (note that the player's engine should be turned off as long as the countdown hasn't finished.)
 * Save the player's score.
 * Improve the game end. (It should end, when the last player has reached the goal.)

"	landauf
282	Formation flight	GameContent	0.2.0	minor	task	closed		closed	2008-10-01T16:02:17+02:00	2015-02-14T18:23:36+01:00	"In spacefights, it might be good to fly in formation. There must be some sort of a commander prescribing the formation. We need an easy interface to command other spaceships and a simple system  to display other ships where their place in the formation is. Also one should be able to enter or leave a formation at will.

[[Image(grc1.jpg,500)]]

[[Image(formation.jpg,500)]]
"	landauf
283	Ticket change mailing list	misc		blocker	task	closed	bknecht	closed	2008-12-19T17:55:09+01:00	2017-03-20T10:43:17+01:00	"We have a ticket system and we don't know whether to use it or not.

Let's give it a kick with a mailing list for changes. Unfortunately I cannot do this task.

http://dev.piwik.org/trac/wiki/TracNotification - i think this is what we need
"	rgrieder
284	Collision Shapes	Physics/ODE	0.2.0	minor	enhancement	new		new	2008-12-19T17:58:48+01:00	2015-01-13T23:31:17+01:00	"The physics engine implementation is working now, but has limited support for collision shapes: Only boxes, spheres, infinite planes and cones are supported, while cones are still not tested yet (cone.mesh can be used as graphical test).

On [http://www.continuousphysics.com/Bullet/BulletFull/classbtCollisionShape.html], you can see a graphical overview of what collision shapes bullet offers.

For more information how to create a new collision shape, simply look at the ones in src/orxonox/objects/collisionshapes. It's not much and quite simple code.

Additional functionallity: Visualise collisionshapes for level designers. (only in the developer version though)"	rgrieder
285	Default ticket parameters	misc		minor	defect	closed	scheusso	closed	2008-12-19T18:02:03+01:00	2008-12-19T21:31:31+01:00	"When you create a new ticket and don't change anything in the boxes, you get a high priority and critical defect. That's not very good default behaviour.

2008/12/19 [scheusso] fixed that ;)"	rgrieder
286	WorldEntity scaling with physics	Physics/ODE	0.0.4	minor	defect	new		new	2008-12-19T18:10:01+01:00	2011-05-03T16:35:36+02:00	"When using physics, it is not possible to scale an object at the moment. The problem is that the Bullet physics engine doesn't support that kind of transformation natively.
The main reason is that the collision shapes have fixed size. You create a sphere with radius 5 and it will have that radius as long as its lifetime.

But: You can apply setLocalScaling() to every collision shape. The implementation however is not complete. For instance for compound collision shapes, it has no effect. That inevitably means that we need to do some heavy work ourself.
Imagine you want to scale a compound collision shape: You will have to scale each and every shape itself and even adjust the transformation.

There is more problems: SphereCollisionShape obviously does not support non-uniform scaling (or it won't be a sphere anymore). You will have to check every bullet collision shapes for its scaling capabilities and implement that in our framework. This can unfortunately only be done by examining the Bullet source code.

'''Update:'''
I checked Bullet v2.77 (update is in the trunk since 04/27/11) and it seems to have scaling for compound collision shapes now. But haven't checked with the others.
In short: our task may have gotten much easier!"	rgrieder
287	Conversion function naming	GeneralFramework	0.2.0	minor	defect	closed	nobody	closed	2008-12-21T16:54:12+01:00	2009-06-21T23:35:19+02:00	"If you look at src/util/Convert.h you can see in the public section almost at the end of the file, that we have tons of different functions that do the same.

That is not such a big problem, most of the are very useful indeed.
But the issues are:
- There is ""convertValue"" and ""ConverValue"", that's a bad idea
- I have chosen ""omni_cast"" to speed up writing short conversions. The name is quite bad and someone made a suggestion for a new name: ""multi_cast"". Is that more appropriate?
- Furthermore, getConvertedValue and omni_cast do the same. We could easily merge them. The difference is the order of the template parameters."	rgrieder
288	Enumeration style	GeneralFramework	0.2.0	minor	defect	closed	nobody	closed	2008-12-21T17:14:21+01:00	2009-06-30T15:16:26+02:00	"We've got lots of enumerations, but they're all quite different to use. Someone could unify this in the next back merge. My suggestion would be like this:
namespace MyEnum
{
    enum Enum
    {
        MyEnumElement
    };
}

Note that the namespace begins with a capital letter to distinguish between enums and real namespaces."	rgrieder
289	Finish Bellatrix Milestone	misc		trivial	task	new	nobody	new	2008-12-22T13:17:48+01:00	2009-07-28T14:22:49+02:00	"Bellatrix or version 0.2 of Orxonox should be finished since last summer. Finishing the Milestone does not involve coding but rather a redistribution of tickets.

 1. Tickets which involve stuff we never even started last summer should be moved to a future milestone (Castor or Future Features).
 1. Tasks done or partly done until last summer should be closed and if necessary a new ticket should be created consisting of the remaining part of the task. This new ticket should be moved to a future milestone (Castor or Future Features).

You should end up with a finished milestone and maybe some new tickets in other milestones."	bknecht
290	Buildsystem branch without ogre.cfg	GraphicsEngine	0.2.0	blocker	defect	closed	nobody	closed	2008-12-29T16:59:56+01:00	2009-03-16T18:46:12+01:00	"The last time I checked the build system branch on tardis, we've had trouble running it without ogre.cfg. This is the config file that Ogre creates when you first start orxonox. You are then prompted for some parameters which are written to ogre.cfg. After that you don't need to do that again.

The problem then is that we never let the user create his own ogre.cfg until now. This is crap however. Changing the resolution is everything else than convenient (you'll have to edit ogre.cfg yourself).
In the build system branch I ""resolved"" that problem by removing ogre.cfg. This is bit of a problem since Ogre can't find the necessary files when trying to show to dialog for options.

This has to be inspected thoroughly as soon as possible. It is especially important to see whether the problem only occurs on tardis. I can confirm that it works on my visual studio with windows combination."	rgrieder
291	Extend GameStates	Control	0.2.0	minor	enhancement	closed	nobody	closed	2009-01-04T13:14:09+01:00	2009-08-22T19:09:01+02:00	"The GameState implementation in Orxonox is currently not ready for practical use, especially with the GUI.
Currently there are only an ""enter"" and a ""leave"" function plus a state transition algorithm. This concept has a serious issue: You cannot load a GameState without entering it. For instance it would be very useful to load GSGUI (GUI GameState) in advance so that entering it requires only very little time. [[br]]
A suggestion to solve this problem would be to introduce a ""load"" and an ""unload"" function, also implemented by the GameState class. The idea is that we will be able to load and unload an arbitrary GameState (with all its parents) from anywhere in the GameState tree, maybe even with console commands. State transitions will stay the same as before. [[br]][[br]]

As a direct consequence to this change we have to rethink the concept in the GUIManager because most of it's code can simply be put in the load/unload functions of GSGUI. There still has to be a mechanism to choose the right GUI sheet. That may require some more thinking..."	rgrieder
292	Examine GSLevel	GameLoader	0.2.0	minor	defect	closed	nobody	closed	2009-01-04T13:36:07+01:00	2011-05-14T03:59:17+02:00	"When looking at src/orxonox/gamestates/GSLevel you can see that it doesn't inherit from a GameState. The current usage also suggests that the GameState character has vanished entirely. [[br]][[br]]

The current parts of GSLevel are:
 * An InputState with a KeyBinder attached to it
 * The PlayerManager
 * The LevelManager
 * The CameraManager
 * The Radar
 * Console commands ""keybind"" and ""tkeybind""

An obvious problem is the Radar, which should be immediately move to the Level or Scene class, not sure yet, probably Level. The KeyBinder with the InputState should go to Scene since different types of Scenes might have different keybindings (imagine a poker mini-game or anything you might encounter during playing). More problematic are the two console commands. They should always apply to the currently active KeyBinder if there is any. That could be implemented in the InputManager (be careful that KeyDetector derives from KeyBinder!).[[br]][[br]]

That leaves the three managers, for which I have no idea yet. However it could be possible to rename GSLevel and move it to src/orxonox and keep things as they are (except for the above mentioned changes)."	rgrieder
293	Evaluate PhysX support	Physics/ODE		minor	task	closed	nobody	closed	2009-01-05T13:59:04+01:00	2010-11-09T09:45:25+01:00	"== PhysX ==
PhysX is a hardware solution for physics. It is developed by Ageia, which has been bought by NVidia. PhysX is NOT open-source, but free to use. Read more about it on [http://www.golem.de/specials/physx/ golem]. The game [http://www.mirrorsedge.com/ Mirror's Edge] supports PhysX as well. Watch the trailer [http://www.youtube.com/watch?v=2N1TJP1cxmo here]. Release date is in January 2009.

== Task ==
Find out more about PhysX. Points of interest are the following:
 * License: What happens to the Orxonox code when we support PhysX? Will we have to distribute PhysX-support of Orxonox separately in order to not corrupt the open-source-ness of Orxonox?
 * Importance: Find out if physics based hardware is becoming a trend or is PhysX an isolated phenomenon?
 * Linux-support: Check out if Linux supports this hardware. If there are no drivers available or if the support is rather limited, this project will become less important.
Create a Wiki page where you document your findings. Maybe discuss some points in the forum.

Start [http://www.nvidia.com/object/nvidia_physx.html here] to find out more about PhysX. There is also a [http://de.wikipedia.org/wiki/PhysX Wikipedia page]."	bknecht
294	Resource providing	Ogre	0.2.0	minor	task	closed	rgrieder	closed	2009-01-05T17:37:50+01:00	2009-08-22T19:03:55+02:00	"== Outline ==
Loading files from a filesystem can be quite painful if you have to specify its exact location with all the folders. [[br]]
Ogre has dealt with this problem by the means of a Resource Manager. You give it all the locations in a configuration file and then it sweeps all the contents and wraps the with a Resource. They can be of any kind (font, image, mesh, etc.) and that can be extended to serve our purposes.

== The Task ==
Study the Ogre Resource providing concept on the documentation pages (also consider the Doxygen code). Then try to extend the Ogre framework to be able to also find the kind of files we want to load. A little abstract:
 * Level files: *.oxw (XML)
 * Overlay files: *.oxo (XML), though this could be replaced by oxw since its both XML
 * TCL scripts: *.tcl
 * Lua scripts: *.lua
 * More to come I'm sure"	rgrieder
295	Capture CEGUI output	GUI	0.2.0	minor	task	closed	nobody	closed	2009-01-05T17:56:08+01:00	2009-06-30T17:33:11+02:00	"In CEGUI, there is a possibility to manipulate the output (log). Normally, everything is written to CEGUI.log, but by deriving from CEGUI::Logger and creating an instance of that before initialising the system, you can capture the output. See CEGUILogger.h[[br]]
By looking at CEGUI.log I can see that all usual output has the level ""std"", but it's quite much (175 lines for a simple main menu). [[br]]
I suggest deriving from CEGUI::DefaultLogger and override ''logEvent'', but make the base class call as first function statement (DefaultLogger::logEvent). The output is then written to CEGUI.log like now, but you can route everything with a higher priority than ''std'' to our own output stream too (COUT). That should make error tracking easier when programming the GUI."	rgrieder
296	Remove GraphicsEngine Hack	GraphicsEngine	0.2.0	minor	defect	closed	nobody	closed	2009-01-05T18:02:36+01:00	2009-03-20T09:27:24+01:00	"There is a ghost wandering around in Orxonox... It has a name: GraphicsEngine. And it has a purpose: Help out when you need a global variable. And that usually is a hack. [[br]][[br]]

Only little content remains in the class and that content should be moved somewhere else. There are plenty of places as a matter of fact. But the difficult part is getting rid of the need of being global. There is a hack providing a global viewport because viewport handling has not yet been giving a proper thought. There is always a was to resolve this, find a way!"	rgrieder
297	Make orxonox.log configurable	GeneralFramework	0.2.0	major	defect	closed	rgrieder	closed	2009-01-05T18:11:24+01:00	2009-02-22T15:44:20+01:00	"Creating the Orxonox log is about the first thing that our program does after execution. That implicates that at that moment it is not yet known where to write the log data. The resolution is to always write everything to ""orxonox.log"" in the current working directory. [[br]]
But this concept doesn't hold with binary distribution. I suggest making a little workaround: Do not write output until the output file path is known (that is before the GameStates are created) but instead cache it in a buffer. [[br]]
The obvious problem is of course that when an error happens before that, there is no output to examine. This could be resolved by implementing a fallback that can be switched on (maybe with a macro) in OutputHandler.cc"	rgrieder
298	Improve ''Usage'' dialog	GeneralFramework	0.2.0	minor	enhancement	closed	nobody	closed	2009-01-05T18:15:58+01:00	2009-06-30T00:00:09+02:00	The [wiki:CommandLine] class has some fundamental features to parse and redistribute options provided to the command line. However the dialog that is written to the output stream in case of bad arguments is not very good. It lacks layout and information. [[br]]	rgrieder
299	Export command history to a separate file	GeneralFramework	0.2.0	minor	task	closed	nobody	closed	2009-01-05T18:19:10+01:00	2009-06-30T16:56:10+02:00	The history of commands typed in the Shell is currently stored in orxonox.ini. But since it can be quite long (maybe 50 - 100 lines) I suggest exporting it to a separate file like the joy stick calibration. This has yet to be discussed here.	rgrieder
300	Rename String.h	GeneralFramework	0.2.0	major	defect	closed	nobody	closed	2009-01-05T18:21:50+01:00	2009-06-29T18:13:31+02:00	"There is a file in src/util that provides utilities for string manipulation. But the name doesn't exactly suggest that. Not a big problem, but String.h is not exactly an uncommon name... [[br]]
I suggest using StringUtils.h instead. This has yet to be discussed."	rgrieder
301	Remove or extend Settings class	misc	0.2.0	minor	task	closed	rgrieder	closed	2009-01-05T18:28:41+01:00	2009-02-22T15:46:57+01:00	"The Settings class (src/orxonox/Settings.h) currently only holds one single option: The path, where the media folder located. That is to be removed anyway because of [#294 Resource Provding]. [[br]]
Either extend the class conceptually by more options or accept Settings.h as workaround. "	rgrieder
302	Bug: TclThreadManager	GeneralFramework	0.2.0	critical	defect	closed	nobody	closed	2009-01-05T19:32:48+01:00	2009-07-19T02:41:39+02:00	When using threads with the TclThreadManager there has to be a problem somewhere because on dual core systems, it may lead to a runtime error. Try again to find that bug!	rgrieder
303	Overlay Element Borders	HUD	0.2.0	minor	enhancement	closed	nobody	closed	2009-01-06T12:42:54+01:00	2011-05-12T00:27:35+02:00	"Ogre can create overlay elements that have a border around it. The border itself is provided within an image. That means it was specified to use best in exactly this size, measure in pixels. [[br]]
The [wiki:HUD#OrxonoxOverlay OrxonoxOverlay] supports a background image, but borders have to be implemented by hand. Make these borders configurable in XML style!"	rgrieder
304	Convert Console	HUD	0.2.0	minor	enhancement	new	nobody	new	2009-01-06T12:51:21+01:00	2011-05-12T00:30:05+02:00	"The graphical representation of the in-game console is completely hard coded except for a few ConfigValues. You could abstract the console into one base class that can simply display text and a derivative that implements the Shell. [[br]]
This is best done with CEGUI."	rgrieder
305	Bug: String values	GeneralFramework	0.2.0	major	defect	closed	nobody	closed	2009-01-06T12:56:16+01:00	2009-06-29T22:13:25+02:00	"When specifying --level ""presentation.oxw"" as command line argument, the string doesn't get correctly parsed. Removing the quotation marks fixed the problem."	rgrieder
306	Extend Clock class	misc	0.2.0	minor	enhancement	closed	nobody	closed	2009-01-06T13:03:03+01:00	2009-07-28T14:29:40+02:00	"The [wiki:Clock] class is used to precisely measure time by means of the operation system internal timer. When GameStates are ticked, they get a reference to a Clock object. But this may not be the only usage. Every Level needs to have a Clock that can be paused and resumed. [[br]]
That implies some changes in Clock: You have to be able to tick it from outside. I therefore suggest putting the current contents of Clock to a new RealTimeClock (or a suitable name) class and rewriting Clock so that it gets ticked with a RealTimeClock object (which supports getDeltaTime()). [[br]]
Feel free to examine the Clock class and its usage and then decide what is the best concept for us. The text above is only a suggestion. But clearly, this topic has to be dealt with soon."	rgrieder
307	Make CEGUILua v0.5.0 Lua 5.1 compliant	Cmake	0.2.0	major	defect	closed	rgrieder	closed	2009-01-06T21:47:02+01:00	2009-02-22T15:41:43+01:00	"There is a certain possibility (quite high actually) that one user might have CEGUI version 0.5.0 (currently the one found in various packages for Linux distros) and Lua version 5.1. Unfortunately CEGUILua v0.5.0 was not built to use Lua 5.1, but it could be easily modified by looking at the changes in CEGUILua v0.6.1. [[br]]
The most important thing to keep in mind when dealing with CEGUILua is that we need to have the same lua library (not only the same version, but also the same loaded lib file) for both CEGUILua and our own stuff. Otherwise we might get serious unexplainable runtime errors."	rgrieder
308	Performance Evaluation	GeneralFramework	0.2.0	minor	task	closed	nobody	closed	2009-01-07T17:57:34+01:00	2009-03-15T16:06:15+01:00	"Our game starts to get serious and with that come performance issues. Therefore we would like to be easily able to measure the time spent in different routines. Of course you can use profilers, but that might not be very easy. [[br]] [[br]]

My idea is a GlobalClock class (as Singleton) that gets created by RootGameState and replaces the Clock class. The new Clock class is scheduled for this [#306 ticket].[[br]]
The GlobalClock can then be fed with little delta times that are accumulated over the time. For instance you want to know how much time is spent per tick in a function called fooBar(). You then call something like GlobalClock::getInstance().start(""fooBar""); at the beginning and ClobalClock::getInstance().stop(""foobBar""); at the end. The class then automatically sums up the time spent in this period. [[br]] [[br]]

In order to visualise those times I recommend overlays that display the percentage of every such measure point like ""fooBar"". We already measure the tick time, so that could be moved into GlobalClock as well. To measure the tick you could just use the name ""tick"" and further provide ''startFrame'' and ''endFrame'' to define which times belong to one frame. [[br]]
For details how to implement average time measure over a certain period, check GSRoot class and move that code into GlobalClock."	rgrieder
309	Spaceship steering and behaviour	Control	0.2.0	major	task	new		new	2009-01-08T13:23:31+01:00	2013-11-04T23:29:27+01:00	"When the physics features were merged with the new Engine feature, a conflict has arisen that still exists. The main problem is the fact you want to steer a spaceship quite directly but a physics engine doesn't like that very much. [[br]]
Another thing that needs some thinking: The engine class works with local velocities. So when you accelerate straight forward and then yaw by ninety degrees, the ship will stop abruptly because the lateral speed is limited at a lower level than longitudinal speed. [[br]] [[br]]

This could be sorted out by calculating the maximum thrust in function of the damping and maximum speed. But I guess that requires some glace at the Bullet code to see how damping is realised (most probably a linear velocity dependent factor in the differential equation which makes damping exponential). [[br]][[br]]

The angular part is a little bit trickier. From my observations it is best to have a direct mapping of the mouse position to the orientation. Applying this directly to a ship can result in sudden movements (esp. if you look at another player...). I therefore suggest to make the camera direct and the spaceship adjust to the camera position. From what I know about the current implementation of the camera handling, this is not very easy to be done (other way round is not a problem). [[br]]
As an example, this kind of steering is used in Unreal Tournament with vehicles."	rgrieder
310	Sort out friction	Physics/ODE	0.2.0	major	defect	closed	nobody	closed	2009-01-08T13:32:23+01:00	2011-05-14T03:31:03+02:00	Have a look at presentation_physics.oxw and you will see that there is no visible friction on the floor. I have no idea why. I even had a look at the contact points (created for every collision) and was able to see that the friction was non zero. However something still is wrong.	rgrieder
311	Setting up CTest environment	Cmake		major	task	closed	nobody	closed	2009-01-13T12:26:37+01:00	2015-02-14T18:06:51+01:00	"== CTest ==
Since we use CMake as building system it is maybe a good idea to use CTest for unit testing. All large project have got unit tests to assure a code change has not broken any functionality in the existing code.
While compiling with CMake CTest will test if all unit tests succeeded and report any broken functionality immediately. This is vital to have bug free code and no mess.

As the Orxonox code gets clearer and we introduce less hacks, testing proper functionality should be the next step.

Unfortunately writing unit test will take a lot of time and every developer will have to do this. Since it is used anyway by all larger projects, this seems to be worth doing despite the loss of time.

== Task ==
This task is to set up the CTest environment (which includes the Dashboard of course) and to test it with some unit tests. Documentation on how to write unit tests and maybe even a small presentation for the developers about unit testing as this is a great-to-know thing (if not a must know) for a developer in the industry.

Start with the CTest documentation [http://www.cmake.org/Wiki/CMake_Testing_With_CTest here]."	bknecht
312	Bug: Ogre config dialog	GraphicsEngine	0.2.0	critical	defect	closed	nobody	closed	2009-01-18T22:12:11+01:00	2009-06-29T22:07:12+02:00	"When clicking on ""cancel"" in the OGRE render config dialog, Orxonox may crash.

Experienced on Windows 32-bit with MSVC build in branch buildsystem2."	rgrieder
313	Inspect Doxygen warnings	Doxygen	0.2.0	minor	defect	closed	nobody	closed	2009-02-02T21:11:40+01:00	2011-05-14T03:27:58+02:00	"When creating the doxygen documentation, there are hundreds of warnings.

If anybody feels like having too much time to spend, inspecting those warnings could be an idea..."	rgrieder
314	Move tcl scripts to a separate folder	ScriptEngine	0.2.0	minor	defect	closed	nobody	closed	2009-02-02T23:03:19+01:00	2009-07-24T21:47:58+02:00	"You can find three Tcl scripts in the media/tcl8.# directory where # is either 4 or 5. They don't really belong there and should be put in a folder like media/tcl-scripts. It also saves the redundancy.[[br]]
Unfortunately this involves telling Tcl somehow where to find the scripts. There is already a tcl lib path set somewhere to media/tcl-8.# but that it should really only point to the Tcl library directory.

----
Addition (7/19/2009):

This ticket is also related to #336. Maybe try to solve that first, because of it's higher priority.

And another remark: The irk package (tcl8.x/irk) is also a custom package and doesn't belong to the native Tcl library. This package is loaded in the following way:
{{{
package require irk
}}}
Therefore we MUST adjust the Tcl library path so it will still find the custom packages (which is more than just a bunch of scriptfiles).

You also have to adjust the execution path, because right now the interpreter uses the path to the Orxonox binary, which makes it impossible to use relative paths in the Tcl scripts (for example remote.tcl fails at the moment)."	rgrieder
315	Use boost::filesystem paths	GeneralFramework	0.2.0	major	defect	closed	nobody	closed	2009-02-20T13:38:45+01:00	2009-03-20T09:32:13+01:00	"We've got lots of filenames and filepaths. And they might be Unix or Windows incompatible. Best solution would be to always use boost::filesystem::path to take care of all the platform specific stuff. [[br]]

Unfortunately <boost/filesystem.hpp> has quite a large tail so including it in many source files takes a lot of time. I recommend not resolving this ticket unless we have support for precompiled header files."	rgrieder
316	Non exclusive input mode	AI		minor	defect	closed	nobody	closed	2009-02-22T15:34:58+01:00	2009-08-25T23:50:48+02:00	"As long as you are playing in full screen mode it makes sense to capture the input completely thus not allowing to communicate with the OS anymore (except Ctrl+C or Alt+tab of course). [[br]]
However when only having a window where orxonox GUI is shown, it would be very helpful to have that window behave like any other considering input. That means for instance that the mouse position must not jump when entering the window. [[br]]
Our input system (OIS) supports non exclusive input mode (just google it, there are some forum threads). The real issue however is getting CEGUI to display the right cursor position. [[br]] [[br]]

Furthermore it is not very useful to have non exclusive mode while playing, so this should only apply to the GUI mode."	rgrieder
317	Limit framerate	GeneralFramework	0.2.0	major	defect	closed	nobody	closed	2009-02-22T15:35:07+01:00	2009-07-28T15:00:10+02:00	"There is some code in the GameState for the dedicated server (GSDedicated.cc) that controls the framerate. [[br]]
That would also be very useful for the normal game mode. I suggest making configurable values for dedicated, GUI and server/client/standalone. [[br]]
It is not only an enhancement but also a fix because on windows when having too much frames per second, the kernel calls raise to a very high level and thus slowing down the whole system considerably (especially in GUI mode). [[br]][[br]]

Caution: [[br]]
* Mind the timers that accumulate the time spent while ticking. It would not be very meaningful to add the waiting time to the tick time.
* Calling the sleep function on Windows will suspend the process for at least a few (10 in my measurements) milliseconds because it is scheduler based."	rgrieder
318	"""client connected"" message"	GameLoader		trivial	defect	closed	nobody	closed	2009-03-11T15:57:13+01:00	2009-07-14T16:49:19+02:00	"No matter whether you play server (without clients) or standalone, a message on level 3 appears always ""client connected"". Is this intentional?"	rgrieder
319	Create seamless textures	GameContent		minor	task	new		new	2009-03-11T22:08:27+01:00	2012-02-25T12:14:17+01:00	"[[Image(orange-spaceship-by-greg-desantis.jpg, right)]]We plan to texture the majority of our meshes using generic seamless textures. You will use the 2d-graphics software of your choice to create textures, that look good together, when tiled. It is important, to avoid regularities as best as possible, because they look nasty when tiled.

It will be helpful to organize textures in groups of either materials or themes or factions. This separation will make it easier for the modellers to texture their models. Also, it will prevent them from creating lots of models, that do not look like they belong together.

Furthermore, this project will allow us to texture the same mesh with different texture variants. Imagine an allied fighter, that has been captured by evil Pirates; it has the same model but the Pirates painted it differently.

[[Image(hull.jpg, center)]]"	FelixSchulthess
320	Extend modular space station	GameContent		minor	enhancement	new		new	2009-03-11T22:39:57+01:00	2017-10-02T15:23:59+02:00	"[[Image(ModularSpaceStation:CuboidSS2.png,300,right)]]A while ago a [wiki:ModularSpaceStation modular space station] was created. It includes basic shapes, textures and a Lua script, that puts these cubes and cylinders together randomly on a rectangular grid.

Your task will be to extend this by new basic shapes and probably introduce support for a hexagonal grid. Furthermore, new texture sets will be needed. You could also think about introducing certain standard patters, so that the space station does not look too random."	FelixSchulthess
321	Help the Allied Fleet	GameContent		minor	task	new		new	2009-03-11T22:54:17+01:00	2010-03-06T08:45:19+01:00	"In order to develop a consistent and interesting story, we need many different space ships. But it is much more important, that they also look like they belong to the same game. Ships belonging to the same faction should look similar, of course. An example for this is the [wiki:TransportShip Transport Ship] and the [wiki:LightEscortShip Light Escort Ship]. Of course this duo still needs support, for example a fighter ship.

Your task will be to create a medium sized fighter. Many textures can be reused and therfore, you can concentrate one modelling and UV-mapping in the first place. Most important is, of course, that your ship will fit in and can be used in a thrilling story afterwards.

[[Image(TransportShip:transport3.jpg,200)]]    [[Image(LightEscortShip:escort3.jpg,200)]]"	FelixSchulthess
322	Smart pointers	GeneralFramework		major	task	closed	landauf	closed	2009-03-12T02:50:58+01:00	2009-11-12T14:12:58+01:00	"We need smart pointers to handle the destruction of objects.

We probably need two types of smartpointers, comparable with soft and hard links. A ""soft link"" smart pointer is a pointer that gets 0 if the object gets deleted. A ""hard link"" smart pointer prohibits the destruction of an object as long as the pointer points to this object.

Compare already existing solutions (boost library) and implement them into our core.

This is also linked to the problem of unloading a level.
"	landauf
323	Spaceship docking system	GameContent		minor	task	closed		closed	2009-03-12T02:55:50+01:00	2012-02-24T08:57:34+01:00	"We want spaceships to dock onto another (larger) ship or a spacestation. Possible docking points on the large ship can be defined in the XML file. The player can dock onto another ship by selecting the other ship and use the docking command. If docked onto another ship, the player can switch the cockpit, as long as there's a free place in the other ship (for example a gun turret).

Think about the following problems:
 - How can a player select a docking spot?
 - Is there an automatic docking system (autopilot)?
 - What happens if the ship has docked?
 - How to switch the cockpit?
 - ...

Bugs/ Defects:
 - You can boost and partially regain control while docking with autopilot.
 - The auto pilot quivers.
[[Image(us_flugzeugtraeger.jpg,500)]]"	landauf
324	Chat	GeneralFramework		minor	task	closed	smerkli	closed	2009-03-12T03:03:14+01:00	2010-09-21T11:05:32+02:00	"There's already a small chat system in Orxonox, but we need a better one. Extend the existing features and framework functions to create a useful chat with all common features:
 - Different chat targets: broadcast chat, team chat, private player-to-player chat
 - A chat window which logs the history
 - A simple chat command that allows chatting without opening the console
 - Colours?

[[Image(chat.gif)]]"	landauf
325	Gametype	GameContent		minor	task	closed		closed	2009-03-12T03:11:22+01:00	2015-02-14T18:37:51+01:00	"Deathmatch may be cool, but it surely becomes boring after a while. Create a new gametype, for example:
 - Capture the flag
 - Base defense/attack (king of the hill)
 - Objective / Assault
 - Checkpoint control
 - Space invaders
 - ...

It's also possible to create a funny minigame, which can be a subgame in Orxonox (for example pong or tetris).

[[Image(pong.jpg)]]

[[Image(RedFlag.jpg)]]

You can find some hints how to proceed here: http://www.orxonox.net/wiki/GametypeCreation"	landauf
326	Weapons	GameContent		minor	task	closed		closed	2009-03-12T03:16:00+01:00	2015-02-14T18:38:38+01:00	"We need lots of weapons! A weapon can be attached to a spaceship, so we also need a weapon-model. Creating a weapon is a very creative process, it includes more or less the following steps:
 - Create a model
 - Create a texture
 - Write the weapons code (how the whole thing works)
 - Think about the projectile type (bullet? ray? energy?)
 - Create effects like muzzle flash, smoke trails and last but not least: the explosion!

[[Image(laserk.jpg,500)]]

[[Image(mk-19.jpg,500)]]

[[Image(ordnances.jpg,500)]]
"	landauf
327	Spaceship special moves	Control		minor	task	new		new	2009-03-12T03:32:58+01:00	2010-11-09T08:37:25+01:00	"This is a challenging task. We usually want a (not really realistic or physically) flying behavior, but there must exist some complicated tricks to do crazy stuff with your spaceship.

Think about other games, some of the most popular online games owe their success to a special movement feature or other advanced tricks. Some examples:
 - Quake: Strafejumping
 - Unreal Tournament: Dodge, doublejumps

The idea is: Make the game easy for beginners, but challenging for advanced players. This allows us to create funny features like a spaceship race or just the ability to escape a strong enemy with a clever trick.

Possible movement features are:
 - Fast turn
 - Turning wihtout changing flight direction (which is even more realistic than our current rail-movement)
 - A harpoon to connect with another object
 - Tailspin (half-controlled?)
 - ...

"	landauf
328	libggz support	GeneralFramework		minor	task	closed	adrfried	closed	2009-03-12T15:36:32+01:00	2010-12-13T13:36:05+01:00	Add support for [http://www.ggzgamingzone.org/ GGZ Gaming Zone]	adrfried
329	Improve get2DViewdirection	misc		minor	enhancement	closed	nobody	closed	2009-03-13T12:54:16+01:00	2009-06-30T16:48:13+02:00	"The function mentioned can be found in util/Math.cc line 123. It uses only Vector3 as input/output, but makes heavy use of sin, cos and acos functions. This is quite expensive considering performance (tested with a profiler). [[br]]
What can you do? According to my experience with such problems, you can always replace the of the triangular functions with standard operations and square roots given that neither input nor output contains any angle values (which is the case here)."	rgrieder
330	Ingame Notifications	misc	0.1.0	minor	task	closed	dafrick	closed	2009-03-17T19:51:07+01:00	2009-09-23T15:15:53+02:00	"The user may want to be notified about changes that have occurred, such as, that (and what kind) of Pickup he has picked up, that he just destroyed the spaceship of the user Overlord23 or that he just received a quest and should go look what it is about.

Notifications are the tools to do exactly that. They need a generic framework and a GUI."	dafrick
331	Test Ticket	AI		minor	defect	closed	nobody	closed	2009-03-18T13:25:07+01:00	2009-03-20T09:32:35+01:00	Test ticket	rgrieder
332	Support for Ogre v1.6	Ogre	0.2.0	minor	task	closed	nobody	closed	2009-05-11T20:33:36+02:00	2009-09-04T16:21:44+02:00	"Orxonox should allow a wide variety of various versions of libraries. Especially with Ogre we should support various versions: The ones in the common repositories and all newer ones.
While I'm writing this Ogre v1.6.2 has been released and we're supporting Ogre v1.4 which is also in the Ubuntu repository.

Your task is to download the newest version of Ogre and try to compile Orxonox with that version of Ogre. If this works. You can start Orxonox and check if all the features are still supported. Since we do not want to lose support for older versions, all your changes should be supported by all versions. If not otherwise possible you'll have to use preprocessor conditions so we can check while compiling which parts are only supported by one Ogre version."	bknecht
333	Improve XML-Level-Loader	GameLoader	0.2.0	major	enhancement	closed	muemart	closed	2009-05-18T16:17:09+02:00	2015-02-14T18:14:10+01:00	"There are two major issues with the Level-Loader. First, the error messages are not very conclusive, because we do not check what's written in the file. Second, a bit more specific, syntax errors in lua are devastating for the loader. Especially if the code is commented out, lua still yields errors, which it should not.

Example (this yields to unreadable XML code for the XML-Loader):
{{{
#!xml
...
<!-- <?lua end >? -->
...
}}}

Your task is to catch the most common errors and yield more conclusive error messages to make the level development and debugging of errors in level loading easier."	bknecht
334	Improve Console Commands	GeneralFramework	0.0.3	critical	enhancement	closed	landauf	closed	2009-07-09T13:52:42+02:00	2011-05-14T20:51:20+02:00	"There are currently some issues and missing feature with console commands. I would like to compile a list here that can be discussed and modified:
 1. Activity: Console commands should have the possibility to be active/inactive
 1. Lifetime: Console commands should be more dynamic so you can create and destroy one at will (and avoid memory leaks).
 1. Accessibility: Console commands should have access permissions.
 1. Dispatching: What about console commands that can be applied not to one single static function but to all objects of a member function? It would be almost like the config values but with 5 possible different arguments and no ini-file entry.
 1. Preconditions: Is it really necessary that all classes using CC must derive from OrxonoxClass? It is of course mandatory for 4.

There is already some basic construct to realise accessibility but it is not yet implemented. I think this might be quite important because sometimes these console commands ease programming by magnitudes if you want to avoid some singleton-hacking or so.

Btw: I assigned the severity of the ticket ""critical"" because we currently have memory leaks due to console commands."	rgrieder
335	Terminate Tcl threads	ScriptEngine	0.2.0	minor	defect	new	landauf	new	2009-07-19T03:08:06+02:00	2009-07-19T03:08:06+02:00	"Right now Tcl threads (see [wiki:TclThreadManager]) can't be terminated if the corresponding Tcl interpreter is executing an endless ([http://www.tcl.tk/man/tcl8.4/TclCmd/while.htm while]) or long ([http://www.tcl.tk/man/tcl8.4/TclCmd/for.htm for]) loop or waiting for a condition ([http://www.tcl.tk/man/tcl8.4/TclCmd/vwait.htm vwait]) or simply sleeping ([http://www.tcl.tk/man/tcl8.4/TclCmd/after.htm after]) and maybe it's even possible to hang on an open stream ([http://www.tcl.tk/man/tcl8.4/TclCmd/exec.htm exec] and [http://www.tcl.tk/man/tcl8.4/TclCmd/open.htm#M20 open with a pipe]).

Since Tcl doesn't know keywords, all those language features are functions which can be overwritten with [http://www.tcl.tk/man/tcl8.4/TclCmd/proc.htm proc]. For example you could redefine while and for with an additional condition which becomes false as soon as you want to terminate the interpreter. Unfortunately this isn't as easy as expected, because you need some deep knowledge of Tcl including it's scoping policy and how to circumvent it.

But maybe there's another way to safely terminate an interpreter. Tcl offers [http://www.tcl.tk/man/tcl8.4/TclLib/contents.htm many functions] and one of them might be the right one. But remember, you can't just crash the thread, it will crash everything. Except maybe with an ugly hack using a signal handler, but that won't be platform independent.

A third option might be to simply interrupt the thread without even trying to stop the interpreter. That won't give us our memory back, but it surely will free the CPU which might be good enough if everything else fails.

Fourth an last option that comes to my mind: As far as I know, Tcl uses some sort of events. Maybe it's possible to set up an event handler in Tcl and later inject the event through the Tcl C API to call the event handler which terminates the interpreter. Maybe not.
"	landauf
336	Remove Tcl library from media	ScriptEngine	0.2.0	critical	enhancement	closed	landauf	closed	2009-07-19T03:41:51+02:00	2009-07-24T21:46:51+02:00	"Tcl comes with a large library of Tcl files providing several features, most of them being crucial for the common use of the language (especially since Tcl doesn't know any keywords, just functions). Usually those files come together with the Tcl library and are installed somewhere on the system (there's a path pointing to this location which is known inside Tcl and can also be read and manipulated by the user when creating language extensions - this might be useful for future changes like #314).

Now let me briefly introduce the concept of the console command execution in Orxonox:
 1. It starts with the user's input (containing Orxonox and/or Tcl commands)
 1. This is sent to a Tcl interpreter (to parse the Tcl commands)
 1. Every unknown command is assumed to be an Orxonox command and is sent back to the [wiki:CommandExecutor Command Executor] in Orxonox (it could also be an unknown or misspelled Tcl command, but that doesn't matter)
 1. The Orxonox command is executed by the Command Executor (if it really was an Orxonox command - otherwise an error is shown)

To achieve this, we manipulate the [http://www.tcl.tk/man/tcl8.4/TclCmd/unknown.htm unknown] function of Tcl. This function gets called automatically if someone tries to execute an unknown command in Tcl (language feature). Usually this function would display an error, but we change the function to send the command back to the Command Executor instead.

The unknown function is defined in ""init.tcl"" - a file that belongs to the Tcl library. And because of this change, we currently have to add the whole Tcl library to our media repository. And even worse, those files change with every release of Tcl and have to be updated.

Therefore we should try to use the standard Tcl library and manipulate the unknown function in Orxonox after the Tcl interpreter was loaded, instead of providing our own version. Unfortunately this isn't that easy, because the change in init.tcl looks more or less like this:
{{{
   proc unknown args {
       ...
       ... (almost 200 lines of code)
       ...
-      return -code error ""invalid command name \""$name\""""
+      return [query $args]
   }
}}}
Maybe we can catch the returned error code and then send the query to Orxonox, but there are other locations in the unknown function which return also an error (because the whole unknown function is basically just one big error handler).

Task: Find a clean and fast way to send unknown commands back to Orxonox without manipulating init.tcl. After you succeeded, let Tcl load the standard library files instead of our own version. Change the Tcl library path so Tcl will still find our own scripts and packets (see also #314).
"	landauf
337	Sound effects and Music	Sound	0.0.4	minor	task	new		new	2009-09-27T13:13:50+02:00	2012-09-12T13:35:02+02:00	"Find (beware, we need open source music...) or compose sound effects and music to be used in a level file.



 * Currently, the metal theme is not complete.
 * There is a lack of sound effects. E.g.a portal sound, a score sound for tetris and pong, a better sound for the laser weapon, ... . You can find some sounds on http://www.freesound.org/
"	rgrieder
338	Create a Level	GameContent	0.0.4	minor	task	closed	nobody	closed	2009-09-29T18:48:34+02:00	2015-02-14T18:36:56+01:00	"= Outline =
This ticket is about [wiki:LevelHowTo level creation]. We already have some (test-)levels, but they're not really as you would expect a level to be: lots of enemies, surprises and an exciting plot (not to forget the chocolate ;) ) And most importantly: They're not in any way polished or complete.

= What to do =

 * think of a story or setting for your level
 * create a sketch of what you think the level should look like
 * choose models, sound, etc. you would like to have in it
 * choose a gametype for the level (e.g. ""mission"")
 * write an XML-Level-file. Don't be worried about the XML; it's really not hard to code a level in XML.
 * add triggers & events to have a dynamical level
 * be creative"	scheusso
339	Ingame Menu	Control	0.0.4	minor	task	closed	nobody	closed	2009-09-30T11:08:30+02:00	2009-12-10T16:22:20+01:00	"= Ingame Menu =

At the moment pressing ""Escape"" during the game simply stops all operations and ends the program. It would be nice to have a little Menu popping up and displaying options like ""return to main menu"" or ""exit game"".
This should be easily possible with a new CEGUI layout (XML based) and really minimal script code (copy&past plus a few adjustments).

[[Image(http://ttm.planetunreal.gamespy.com/screenshots/ttm-02-10-20a.gif, border=1, nolink, width=400)]]"	rgrieder
340	Menu for ConfigValues	GUI	0.0.4	minor	task	closed	nobody	closed	2009-09-30T11:24:10+02:00	2010-11-09T08:36:27+01:00	"Orxonox supports file-configurable values that are implemented for certain classes. For instance there is a value that defines the maximum allowed frames per second.
Unfortunately it lacks implementation in a menu.
Use the Lua script language to create an automated menu that displays all configValues in their section.
Have a look at orxonox.ini to see how configValues are organised and use the [wiki:Identifier Identifiers] to get all the config values."	rgrieder
341	Menu for keybindings	GUI	0.0.4	minor	task	closed	nobody	closed	2009-09-30T11:27:21+02:00	2010-01-25T10:14:18+01:00	Analogous to #340, we need a menu that displays all commands relevant to the player and lets you configure it by hitting the right key/button/axis.	rgrieder
342	Design Space	GameContent	0.0.4	minor	task	closed	nobody	closed	2009-09-30T13:17:21+02:00	2011-02-12T10:12:10+01:00	"We've got a few asteroids and they all seem to look alike. Furthermore there are not many other ""small"" objects like debris.
Create some nice little objects!"	rgrieder
343	GUI Animation Engine	GUI	0.0.4	minor	enhancement	assigned	bknecht	assigned	2009-11-13T05:59:29+01:00	2009-11-13T06:01:58+01:00	"Write an Animation Engine to animate our CEGUI Menus. Smooth animations described in XML-files are the way to go. Use key frames to define start and end points of the animation.

Somebody already wrote an Animation Engine for CEGUI, but the license is not compatible with GPL. You can get ideas from [http://www.cegui.org.uk/phpBB2/viewtopic.php?t=2761 that project]."	bknecht
344	Design a skin for the GUI	GUI	0.0.5	minor	enhancement	new	nobody	new	2009-11-17T04:13:13+01:00	2009-11-17T04:13:13+01:00	"At the moment we use a very low resolution GUI design for our CEGUI, which includes widgets, window, button and mouse design. It also is not our own, Orxonox design.

So the task is to look at the current design (Taharez) and the others in the lookandfeel directory of the GUI data to figure out how CEGUI works on the level of lookandfeel. You can find content creation information [http://www.cegui.org.uk/wiki/index.php/Creating_Skins here]."	bknecht
345	LoD for important models	GameContent	0.0.5	minor	task	new	nobody	new	2010-03-06T10:52:30+01:00	2010-03-06T10:52:30+01:00	"= LoD creation for important models =
== Motivation ==
The reason to do this task is to improve our performance. At the moment there is a huge framedrop when a lot of models are loaded into a level because they're all displayed/rendered at full detail. There is a lot of potential performance gain by using the LoD technique and render only low detail versions of objects that are not to close to the camera.
== Task outline ==
Your task is to create lower LoD (Level of Detail) versions for important models such as assff, HXY-Ship, Spacestations and maybe also Weapons mounted on these Ships.
== LoD ==
Level of Detail is a technique which saves information to create lower detailed versions of a model.[[BR]]

[[Image(http://www.cs.ucl.ac.uk/research/equator/papers/Documents2002/Jean-Daniel_Nahmias/Massive%20Model%20Rendering%20htm_files/image020.jpg)]].[[BR]]

See also [http://en.wikipedia.org/wiki/Level_of_detail this]
== Techniques ==
There are several ways to make this:
 * use OgreMeshUpgrade: this way you can (interactively) define:
  * number of leves of detail
  * number of faces removed per level
  * distance at which each lod becomes active
 the script saves the information directly into the mesh and there are no additional steps required to get LoD to work
 * create lower detailed versions of model yourself
  * export them to mesh
  * convert high lod model from mesh to xml using OgreXMLConverter
  * manually insert lower detailed models into xml of high detail version
see also this [http://forum.orxonox.net/viewtopic.php?f=24&t=444 thread] for more information
== Things to figure out ==
The following things have to be figured out (probably by trying different variants)
 * how many LoD's does a sepcific model require?
 * what should be the reduction rate of faces per level?
 * at which distance should the levels become active ?"	scheusso
346	Create Pickups	Pickup		minor	enhancement	closed	nobody	closed	2010-03-06T11:08:00+01:00	2015-02-14T18:36:31+01:00	"We need lots and lots of interesting pickups! Pickups can be picked up by various entities in Orxonox, the most prominent being the Spaceship (or more precisely the Pawn), and influence or change its behaviour. Be creative.

The most common example is a pickup that increases the health of the Pawn by a certain amount.

The process of creating a new pickup is roughly as follows:
 - Think of a neat pickup you want to implement.
 - Implement it.
 - Define how the pickup should look like in the game.
 - Testing and bug fixing."	dafrick
347	Model for Hydrogen Farmer	GameContent		minor	task	closed	nobody	closed	2010-03-08T07:02:19+01:00	2015-02-14T18:45:11+01:00	"Design and create a model of a Hydrogen Farmer of one of the big energy companies in the universe of Orxonox.

You are free in your design choice and you may incorporate following ideas and suggestions as it may fit you.

The purpose of the Hydrogen Farmer is as the name suggests the farming of hydrogen. Big energy companies suck away parts of Jupiter's atmosphere, which contains mostly of hydrogen. Hydrogen is the most used fuel for the fusion reactors of future spaceships.

The Hydrogen Farmer needs a docking bay for gas transporters. Those ships bring fuel to the farmer and receive the raw gas from the atmosphere, which they will bring back to the refineries. As those transporters are quite huge, the docking place can be located outside. We also only need a minimum of 2 transporters that can dock the farmer at one time. Smaller ships should still be able to dock or land on/in the farmer regardless of gas transporters.

Since the Hydrogen Farmer flies in small orbit around Jupiter it has to withstand a lot of gravitational forces. I therefore suggest a bulky design that has resemblance with arch dams, used for artificial lakes on Earth, to withstand those forces. That also means that docking bays and windows and antennas should be located away from the planet, at the top side of the farmer.

The ""farming"" part is done, by a artificial gravitational field that nullifies Jupiter's gravitational field locally. Strong radiation, similar to that of solar winds are used to further stir up the atmosphere beneath the farmer.
For the design this simply means that there has to be some openings and stuff that allows for this technology and the gathering of the sucked up gas.

For questions and clarifications, please ask me (reporter of ticket @orxonox.net)"	bknecht
348	FPS Mode	GameContent		minor	task	closed	nobody	closed	2010-03-22T00:43:22+01:00	2015-02-14T18:35:53+01:00	"Last semester some work was done on developing an FPS (First Person Shooter) mode. Continue this effort.

Notes:
 * http://www.ogre3d.org/forums/viewtopic.php?f=11&t=56092"	landauf
349	Rocket Improvements	AI	0.0.4	minor	enhancement	closed	nobody	closed	2010-03-23T19:09:51+01:00	2013-11-22T00:24:58+01:00	"At the moment the rocket takes over the camera view and let's the player control it. While the player flies with the rocket, the spaceship remains unmoving.
 A lot of different, fun games are possible with such a rocket, but for a deathmatch-type game this could be a bit hindering.
In such a game, the rocket would need to fly by itself, without control by the player (which means, the spaceship can always be moved, which results in a more difficult target).
But this rocket is a new one (can be based on existing one).

The rocket would meet the following requirements:
1) player defines a target for the rocket and shoots the rockets
2) rocket is controlled by a AI which follows the target, trying to reach it and explode, destroying the target.


Further Ideas:
*Make an overlay screen on the screen which shows the camera of the rocket (to see what course it takes, etc)

**In a later stage there could be different rockets-AIs, selftargeting, exploding in the vicinity of enemies, very sophisticated rockets, stupid rockets etc...

***maybe some sort of ""control-sharing"" which lets the player make corrections to the flightpath of the rocket (e.g. to evade an asteroid) (I know, this is not very easy possible but I wrote it down nonetheless)

"	gnadler
350	IPv6 support	Network		minor	task	closed	adrfried	closed	2010-09-02T12:06:00+02:00	2010-12-13T13:11:59+01:00	Patch ENet to support IPv6 and change Orxonox accordingly.	adrfried
351	extend Skybox Generator	misc	0.0.4	minor	enhancement	new	nobody	new	2010-09-21T11:02:29+02:00	2017-10-02T15:22:22+02:00	"== Introduction ==

[[Image(http://upload.wikimedia.org/wikipedia/commons/thumb/0/0f/Artist%27s_Conception_of_Space_Station_Freedom_-_GPN-2003-00092.jpg/785px-Artist%27s_Conception_of_Space_Station_Freedom_-_GPN-2003-00092.jpg, right, border=1, nolink, width=300)]]
A skybox is basically the ""background"" image of the game, it's a cube (i.e. six images, one for each side of the cube) and it can never be reached by the player in the game.
We have a generator that can, from a 3D scene in the game, create a skybox for you.
Your task would be to extend our skybox generator to randomly create even more beautiful space environments (with nebulae, stars, planets, asteroids, supernovas, ...)

== Goal ==

Add additional effects (nebulae, stars, planets, ...) to the skybox generator.

== Implementation ==

Think about different effects and objects to enhance our skybox. You could use particle effects, shaders, models, ...

Look at other space shooters to get some inspiration.

Note:
 * http://www.ogre3d.org/forums/viewtopic.php?f=11&t=56125"	dafrick
352	Create a tutorial for Orxonox	GameContent	0.1	minor	task	closed	bknecht	closed	2010-09-21T11:19:48+02:00	2012-09-12T08:49:47+02:00	"We are nearing our first release and it would be prudent to have a tutorial to help newcomers along.

Have a look at how other games introduce the newbie to their game, how they learn to move (in our case fly), shoot, a.s.o.

Firstly you will need to think about what a newbie needs to know to successfully play Orxonox and secondly you need to figure out how you can teach him in a fun way."	dafrick
353	enhance Notifications	misc	0.0.4	minor	enhancement	new	dafrick	new	2010-09-21T11:27:29+02:00	2011-02-12T10:15:36+01:00	"Notifications are a way for Orxonox to communicate with the player, but at the moment they are ugly and not as user-friendly and intuitive as they could (and should) be.

Your task will be to make them more usable and beautiful.
Each notification has a place it was sent from, that could affect how they are displayed (e.g. an image could be displayed with the notification indicating its source, therefore helping the user to evaluate the relative importance of this particular notification)

You also could extend notifications by adding an importance indicator to each notification itself (e.g. 'info', 'warning', 'immediate danger') and display the important notifications more prominently.

So this is mostly a job that requires some design work (mostly gimp or inkscape or similar) and, depending on the goal also some light lua or C++ work."	dafrick
354	high-resolution Textures for Planets	GameContent	0.0.4	minor	task	new	nobody	new	2010-09-21T11:30:28+02:00	2017-10-02T15:23:26+02:00	"Create high-resolution textures for planets, either to be used in the skybox generator, to generate an even more beautiful skybox. Or on a 3D Model of a planet.

http://mygimptutorial.com/the-ultimate-gimp-planet-tutorial

[[Image(planets.jpg)]]

Be careful, when searching for textures, that you make sure their licensing does comply with ours.

Also: The maximum allowed resolution for a texture is 2048x1024 (dictated by Ogre - empirically determined...).

Hereby a couple of interesting links to follow:
[http://freebitmaps.blogspot.com/ ""Free Bitmaps""]
[http://maps.jpl.nasa.gov/ ""JPL Maps""]
[http://flatplanet.sourceforge.net/maps/alien.html ""Flatplanet Maps""]"	dafrick
355	enhance Questsystem	misc	0.0.4	minor	enhancement	new	nobody	new	2010-09-21T11:46:22+02:00	2017-10-02T15:23:08+02:00	"The Questsystem is reasonably complete, however the GUI for accessing Quests and many of the accompanying nice-to-haves are not.

 * Make the GUI more user friendly:
Think of other games where you were given tasks and try to remember what was useful and what was annoying. You could categorize and order quests in various ways for instance: latest quests, quests given around Jupiter (location), quests from secret agent 02 (quest giver) etc.

You could also implement some of the nice-to-haves, like a quest tracker that guides (via visual aid) you to the place where you can complete or advance your currently active quest.
 * Add support for enhanced content - e.g. images, audio and video.

"	dafrick
356	Big Ships	GameContent	0.0.4	minor	task	closed	nobody	closed	2010-09-21T15:36:34+02:00	2015-02-14T18:35:32+01:00	"Create a big space vessel.

You will not only have to create the model in blender and texture it, but think about how it should act when being shot at (different parts of the ship can be destroyed separately), to that end it would be helpful to create separate models that are only joined to the full ship in XML (or C++), this would also work better with LoD (Level of Detail)."	dafrick
357	Protocol for server discovery	Network	0.0.4	minor	task	closed	smerkli	closed	2010-09-21T15:40:48+02:00	2011-05-14T09:19:38+02:00	"Orxonox at the moment, can only discover servers that operate in the same LAN. Your task would be to establish a protocol to discover servers all over the internet.

For that we would need a deamon on our orxonox.net server where other servers could register themselves and a protocol to contact the orxonox.net server and get a list of the servers that have registered themselves there.

This is a job for someone who already knows a bit about network programming. This task will probably involve analyzing other protocols (used for this task) and using enet to implement an orxonox version of such a protocol.


Some maybe usefull links:
 * http://developer.valvesoftware.com/wiki/Master_Server_Query_Protocol
 * http://developer.valvesoftware.com/wiki/Server_queries
 * http://int64.org/docs/gamestat-protocols
 * http://www.codeproject.com/KB/game/gameserverinfo.aspx
 * http://www.ggzgamingzone.org/"	dafrick
358	Space Boundaries	misc	0.0.4	minor	task	closed	kmaurus	closed	2010-09-21T15:47:30+02:00	2012-02-24T09:03:35+01:00	"There may be times when, in a level, we don't want the players to be able to get to far away from where we want them to be.

You need to think of a way of creating some kind of 3D-boundary, that can be added to a level in XML. How can (almost) arbitrarily shaped boundaries be created (and represented in XML)? And how can you make the boundary feel as part of the game world instead of just an unwelcome obstacle. (e.g. a forcefield, whose strength is inversely proportional to the distance from the boundary)"	dafrick
359	Shader: glow / dazzle	GraphicsEngine	0.0.4	minor	task	closed	nobody	closed	2010-10-06T03:13:19+02:00	2016-02-14T18:03:19+01:00	"We need a texture property that defines if a texture is emitting light. Additionally we need a shader, that creates a glow-effect (or a dazzle effect for very bright spots like the sun or a flash-light). This will for example affect explosions, spaceship thrusters, laser beams, lamps, leds in the cockpit, etc and create nice effects.

[[Image(file_410199.png)]]"	landauf
360	Shader: bump-maps, reflections, etc	GraphicsEngine	0.0.4	minor	task	new	nobody	new	2010-10-06T03:18:29+02:00	2010-10-06T03:19:30+02:00	"Ogre allows us to use shaders for materials, so we should implement this also in Orxonox. Enhance the given classes (Mesh, Model) to support shaders like bump-maps, reflections, and whatever we like.

[[Image(shaders_specular3lights_all.jpg)]]"	landauf
361	Apple Xcode build environment: CMAKE	Cmake	0.0.4	critical	defect	closed	nobody	closed	2010-11-03T14:49:31+01:00	2010-11-07T16:40:45+01:00	"Cmake does not copy the source files to the build/src folder for the Xcode build configuration. This happens in all targets.

*EDIT*
Cmake does not copy the following files:

src/toluabind/: 
  ToluaBindCore.h, 
  *Network.h, 
  *Notifications.h, 
  *Orxonox.h, 
  *Pickup.h, 
  *Questsystem.h
src/external/ceguilua/: 
  lua_CEGUI.cpp
src/libraries/core/: 
  ToluaBindCore.cc
src/libraries/network/: 
  ToluaBindNetwork.cc
src/orxonox/: 
  ToluaBindOrxonox.cc
src/modules/pickup/: 
  ToluaBindPickup.cc
src/modules/notifications/: 
  ToluaBindNotifications.cc
src/modules/questsystem/: 
  ToluaBindQuestsystem.cc

Xcode requires certain source files to be located in a subdirectory of each target that is named after the current build configuration."	youngk
362	Make Orxonox work on OS X	GeneralFramework	0.0.4	minor	task	new	youngk	new	2010-11-09T08:44:14+01:00	2011-05-11T09:47:46+02:00	"Make Orxononx compile and run on OS X.
If possible, create a bundle.

= General Update for Ticket (as of May 11 2011) =

Consult [wiki:MacOSX MacOSX] for more details (including a tutorial).

== Achieved Goals ==
 * Trunk compatibility for Mac OS X 10.6
 * Dependency package for Mac OS X 10.6
 * Compilation
 * Execution
 * Playability
 * Tutorial

== Prevailing Issues ==
 * Occasional crashes (eg. in conjunction with sound and LOD)
 * Sound errors: OpenAL (maybe ALUT)
 * No application bundle
 * Mac OS X 10.5 Support
 * PCH support on OS X
 * Doxygen documentation support

= Additional Information =
== Creating a Mac Application Bundle ==
Most of the work is done by CPack, a co-application of CMake. The following three pages might help: [http://www.cmake.org/Wiki/CMake:Packaging_With_CPack#Using_CPack_with_CMake ""Packaging with CPack""], [http://www.cmake.org/Wiki/BundleUtilitiesExample ""Bundle Utilities Example""] and [http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#Bundle_.28OSX_only.29 ""CPack Generators""]. Additionally, certain CMake files have already been created: {{{BundleConfig.cmake}}} and {{{PrepareDevBundle.cmake}}}. CPack is included at the end of the top-level {{{CMakeLists.txt}}} file."	dafrick
363	Evaluate OpenCL support	misc	0.2.0	minor	enhancement	new	nobody	new	2010-11-09T09:55:00+01:00	2011-05-14T03:38:19+02:00	"OpenCL is a library that allows to relay certain parts of your code to the GPU of your graphics card and computes it there with parallel power. While CUDA as a similar example only runs on NVidia cards, OpenCL is the open-source and hardware independent implementation of such a solution.

Your task is to identify possible candidates of code snippets that can be run in parallel and thus increase the speed of the game on such hardware. Because the graphics rendering cycle is run on the graphics card as well, the code from OpenCL should not get into the way of graphics calculations and slow down the game.

Candidates for parallel computing may be AI or physics.

Also estimate effort and necessary changes in comparison of probable speed up. If it's not worth it, we won't do it."	scheusso
364	Backtrace is not written to orxnox_crash.log under ubuntu 10.10	misc	0.0.4	major	defect	closed	nobody	closed	2010-11-09T21:03:40+01:00	2011-05-12T00:23:30+02:00	"As the title says, the backtrace is not written to the crashlog under Ubuntu 10.10.

All that is written to the file is a timestamp and (gdb):

=======================================================
= time: Tue Nov  9 20:35:43 2010
=======================================================
(gdb) "	dafrick
365	Mac OS X: Changes in CMAKE generation of projects needed	Cmake	0.0.4	major	task	closed	youngk	closed	2010-11-24T17:40:00+01:00	2010-12-01T16:28:33+01:00	"Need to set the following paths when generating Xcode project file:

DYLD_LIBRARY_PATH = ${DEPENDENCY_PACKAGE_DIR}/lib

DYLD_FRAMEWORK_PATH=${DEPENDENCY_PACKAGE_DIR}/Library/Frameworks

Disable PCH by default on Mac for now

*UPDATE*
DYLD path setting done. Only need to disable PCHs."	youngk
366	Filenames may not contain spaces	misc	0.0.4	minor	task	closed	dafrick	closed	2010-11-26T09:46:06+01:00	2010-11-28T23:38:22+01:00	"To avoid problems when working in a console, no filename should contain spaces (and forward slashes for that matter).

Please check the files in the data folder for filenames with spaces (like ""The Time Machine"" && ""Fight in our Back"") and change them.
With the new LevelInfo class, we don't even loose the pretty print for level names."	rgrieder
367	Mac OS X: CEGUI, Ogg, Vorbis and OIS	GeneralFramework	0.0.4	minor	task	closed	youngk	closed	2010-12-01T16:31:50+01:00	2011-03-13T17:00:13+01:00	"CEGUI needs debugging, because it doesn't seem to handle input properly.

Ogg and Vorbis need to be compatible with 10.5 as well as 10.6. So far they only work on 10.6.

OIS handles keyboard input in a very ugly way. Fixme"	youngk
368	create basic data package	GameContent		minor	task	new	nobody	new	2010-12-13T14:15:03+01:00	2010-12-13T14:15:03+01:00	"Create a basic data package which contains all the media files from data_extern needed to run the basic levels.

For a package being accepted in Debian main or Ubuntu universe, care has to be taken to only use free content.

CC licenses which are DFSG-free:
 * CC-BY-SA 3.0
 * CC-BY 3.0
Other CC licenses (including those prior to 3.0) are not DFSG-compatible. Content with these licenses may be packaged in an additional non-free package.

See also [http://wiki.debian.org/DFSGLicenses DFSGLicenses]."	adrfried
369	Make Static Collisionshapes a shield against weapons	CollisionDetection	0.0.4	minor	task	new		new	2011-01-11T23:18:15+01:00	2011-01-11T23:18:15+01:00	Currently you can't hide behind an asteroid with a collisionshape, since all kind of weapons do not interact with static collisionshapes. (The kind of collisionshapes that are attached to static worldentities. In contrast to that collisions of rockets/ laser & co. with dynamic collisionshapes are properly detected.)	jo
370	System for interactive dialogue	misc	0.0.4	minor	task	new	nobody	new	2011-02-25T12:49:15+01:00	2017-10-09T13:24:37+02:00	"Many games have a way to talk to NPCs (non player characters) to deliver the story, integrate Quests and Hints more seamlessly into the gaming experience and do many more things.

Your task would be to develop a simple system to talk to an NPC via a scripted dialogue, that can, depending on what you say also have side effects on the game.

Look at other games and see [http://www.renpy.org/ how this is done], think about what you like and dislike about the different dialogue systems and implement a system that you think offers the most to the player. Here is an example screenshot from ""Gothic 3"":

[[Image(interactive_dialogue.jpg)]]

There has already been an implementation of such a system, which, however, remained very basic. Your task would be (based on the existing system) to add more functionalities.   "	dafrick
371	Loadscreen for Levels	GUI	0.0.4	minor	task	closed	nobody	closed	2011-02-25T12:51:59+01:00	2011-05-14T03:40:57+02:00	"Currently, when a level is loaded, you basically have to wait until it is loaded and you are neither informed, that it is actually loading nor whether it is making any progress.

Think of a neat way to both keep the player informed about the loading of the level, as well provide some eye candy to the player."	dafrick
372	HUD concept	GUI	0.0.4	minor	task	new	nobody	new	2011-02-25T12:57:15+01:00	2016-01-10T11:38:01+01:00	"We want our HUD to be informative, compact and nice to look at (and maybe to a later date, adjustable).

Your task would be to develop a concept of how the HUD should look like, what should be displayed and how and when it should be displayed.

This is more of a conceptual/graphical task, rather than implementation. The implementation would then be based on the developed concept.
You should experiment with different content, alignments and styles, to both provide a nice experience, as well as thematically fitting to Orxonox.

It would be nice to have a HUD that shows what pickups (damage boost, speed boost, ...) and other effects (e.g. from the IceGun) are currently acting on the spaceship.

[[Image(67016.jpg)]]"	dafrick
373	Design a phpBB Skin For Our Forum	misc	0.0.4	minor	task	new	nobody	new	2011-03-02T14:26:58+01:00	2013-12-05T21:40:15+01:00	"A new skin for our forum, how nice would that be? The current grey/orange third-party skin should be replaced by something that looks more sci-fi and space-shooter-like. Also, it should adopt the new Orxonox color scheme.

Knowledge on CSS and HTML will be helpful."	FelixSchulthess
374	Enhance game immersion	Physics/ODE	0.0.4	minor	enhancement	new	nobody	new	2011-03-02T14:54:21+01:00	2011-03-03T07:54:21+01:00	"Enhance the ""feel"" of the game, give it a pseudo-realistic feeling by adding different effects. e.g. camera shakes when hit, camera focus changes when enemy enters field of view."	decapitb
375	Portals, a way to fasttravel	GameContent	0.0.4	minor	task	closed	anbueche	closed	2011-03-02T15:01:20+01:00	2012-03-09T09:07:29+01:00	"Up to now there is no possibility to connect our space between planets (or levels) that might be lightyears apart. Create a solution (e.g. portals, 'jetstreams', wormholes, ...), design appropriate graphics.[[BR]]
[[Image(http://xoneris.ch/wp-content/uploads/2010/11/portal-thumb-410x378.jpg, center, nolink)]]"	decapitb
376	Creation of a Star	GameContent	0.0.4	minor	task	assigned	youngk	assigned	2011-03-07T16:30:24+01:00	2017-10-02T15:25:57+02:00	"= Create a star consisting of =
 * A 3-D model with clipping
 * A nice beautiful texture
 * Maybe sounds? (Remember: The Orxonox universe is filled with air!)
 * The use of shaders for brightness representation
 * The use of particle effects for the corona
 * The use of force fields (radial, already present) for the gravitational pull

== So Far ==
 * Implemented Newtonian gravitation
 * Collision Shapes for Planets

== Notes ==
 * [http://sponeil.net/downloads.htm] contains source code for atmospheric shaders
 * The paper [http://www.vis.uni-stuttgart.de/~schafhts/HomePage/pubs/wscg07-schafhitzel.pdf ""Schafhitzel et al."" ] documents an efficient way of creating an atmospheric shader for real-time applications.
 * [http://nis-lab.is.s.u-tokyo.ac.jp/~nis/abs_sig.html#sig93 Nishita Algorithm]
 * [http://www.gamedev.net/page/resources/_/reference/programming/special-effects/clouds/real-time-atmospheric-scattering-r2093 Real-Time atmospheric scattering]

The Sun (Please download the file, for only then can you see the extreme detail!)
[[Image(Sun.jpg, 640px)]]"	youngk
377	Spotlight for Spaceship	misc	0.0.4	minor	task	new	nobody	new	2011-04-04T14:50:49+02:00	2011-04-04T14:50:49+02:00	Having a spotlight at the spaceship to turn on and off would be nice	dafrick
378	ScreenshotManager uses a lot of memory	GraphicsEngine	0.0.4	minor	task	closed	dafrick	closed	2011-05-05T18:31:17+02:00	2011-05-12T00:22:54+02:00	"The ScreenshotManager seems to use 13MB of RAM per default without actually being used. [[br]]
Maybe we can make this allocation on demand to reduce general memory footprint. [[br]]
[[br]]
Also, that memory is never being freed. That results in a dangling pointer if the screen resolution changes."	rgrieder
379	International characters in paths	GeneralFramework	0.0.4	minor	defect	new	nobody	new	2011-05-06T04:43:42+02:00	2011-05-12T18:51:31+02:00	"When starting Orxonox in a directory like 'ásdf' on Windows 7, the CEGUI logger will not accept the logging file, leading to an exception. [[br]]
We need to investigate whether this is a just a communication problem between Orxonox and CEGUI or whether we have serious issues with international characters in paths.

'''EDIT''' [[br]]
It turns out that it was mostly a Problem in the CEGUI::DefaultLogger. However that's not all. So I have to make a little detour (for Windows only!):

On Windows, characters are encoded using the Microsoft codepage currently in use, which could be any codepage on different systems. Codepages are simply 8 bit ASCII characters extended by another 128 characters to support whatever is needed. On systems in the US and Western Europe, codepage 1252 is the standard.
CEGUI on the other hand uses UTF-32 (4 bytes) for their strings and converts them to UTF-8 when calling c_str(). That is of course different from the 1252 Western codepage used by Windows, so whatever we get from CEGUI might not be useful directly for the Windows API. [[br]]
That's why for all the Windows API functions related to strings, there is a second function with a 'W' suffix (or prefix, don't remember) that accepts wchar_t. However, the usual standard is 4 bytes for that type (UNIX), but Microsoft decided to go for 2 bytes and UTF-16 encoding. [[br]]
That's exactly where the bug occurred: CEGUI converted to UTF-8 and fed that to ofstream::open, which in turn was interpreted as a codepage 1252 character sequence. [[br]]
[[br]]
There is one more subtle detail left: How does CEGUI::String convert from 1252 to UTF-32 when assigning our std::string to it? Simple: according to the documentation, the characters are interpreted as unencoded 8-bit values. So a simple cast from 8 bit to 32 bit values is done. [[br]]
And how on earth could that ever be correct (it actually was)? It turns out that 1252 is mostly identical to UTF-32 for the first 256 characters. [[br]]

=== TODO ===
Not every user will have the 1252 codepage and therefore a lot of things can go wrong. We somehow have to deal with this. [[br]]
On the other hand, the CEGUI problem, that this ticket was issued for, is just a bug and not a general behaviour. CEGUI 0.6.2 might still have the issues though. But since that only concerns Windows where we use CEGUI 0.7.5, we're safe. [[br]]
The other TODO is making a correct conversion from UTF-8 (standard Linux encoding if I'm not wrong) to CEGUI::String because that's just a simple cast and not a decoding."	rgrieder
380	Bug: Statistics don't hide anymore	HUD	0.0.5	critical	defect	closed	nobody	closed	2011-05-13T23:41:08+02:00	2011-05-14T10:01:42+02:00	"Running Orxonox 0.0.5 on Windows 7:
After displaying the game statistics with F2, they dont't disappear anymore with another hit on F2."	rgrieder
381	Waypoints/Quest Guide	GameContent	0.0.4	minor	task	new	nobody	new	2011-09-01T23:37:50+02:00	2016-01-10T11:32:57+01:00	"Waypoints are objects that help a player to find his way through a level.
There should be several ways to show the player the way. A waypoint should:
 * be visible on the radar.
 * be visible in the game: 
  * as marking of the waypoint position.
  * as way indicators (easy mode) from one waypoint to another.
 * Trigger an event if the player is in a certain range.
 * Maybe there are multiple types of waypoints. Such that mark a single points, other that are a volume in space, ...
 * Be visible only for the player it belongs to. So it needs to have an owner
 * Waypoints should be attachable to moving objects like a allied spaceship.

See:
http://forum.orxonox.net/viewtopic.php?f=24&t=624&start=15

Steps:
- Learn how to add new C++ classes to Orxonox

- Write general concept on paper

- Implement your concept in C++

- Create a simple test level that demonstrates how to use the waypoints such that future level designers may use them

- Write a documentation page for the Orxonox wiki"	jo
382	level design hud	HUD	0.0.4	trivial	task	closed	nobody	closed	2011-10-07T15:25:59+02:00	2015-02-14T18:22:44+01:00	Create a HUD to make level design easier (e.g. display current position in space)	jo
383	Make munition dependent on the spaceship's type	WeaponSystem	0.0.4	trivial	task	closed	nobody	closed	2011-11-23T13:47:43+01:00	2016-01-11T21:57:37+01:00	"The amount of ammo should depend on the spaceship type. Example: At the moment every spaceship equipped with a rocket weapon has 10 rockets on board.

The goal is to make the amount of rockets configurable in the weaponsettings a spaceship includes."	jo
384	Entering a space station	GameContent	0.0.4	minor	task	closed	nobody	closed	2012-02-23T16:33:41+01:00	2015-02-14T18:30:32+01:00	"So far the only thing to do in Orxonox is fly around and shoot. But at the end of a hard day a pilot wants to refuel his ship, repair the hull and have a drink at the bar.

Needed:
 * a model of the interior of a space station. (Doesn't something like this already exist?)

Apply in the level:
 * docking

Next steps:
 * create an interactive environment (think about what the player could do in a space station)
 * simulate activity (pilots, mechanics, traders & robots moving around)

Ressources:
 * http://www.orxonox.net/wiki/cc_guidelines"	jo
385	Save a game	GameLoader	0.0.4	minor	task	new	nobody	new	2012-02-23T16:36:33+01:00	2015-09-21T14:28:45+02:00	"Think about what are the relevant states that have to be saved and how to store them in a file.

Possible relevant states:
 * the level's name
 * all movable entities' location and orientation
 * all pawns' health and wether the correspoding objects have been destoyed
 * all states of the triggers & events triggered
 * the state of pickupspawners
 * ...
 * In general everything that has to be updated throughout the network in a multiplayer game.

Next steps:
- How can a saved game be loaded?
- When should the player be able to save a game (every time with a menu option or only if he is at a autosave point?)
- Make the save option compatible with the multiplayer mode. Who should be able to save a game?"	jo
386	Create a level on a planet surface	GameContent	0.0.4	minor	task	closed	nobody	closed	2012-02-24T09:26:14+01:00	2015-02-14T19:00:55+01:00	"Idea: Use the available mechanisms (space race, space boundaries) to build a planet-surface level

Since we have space boundaries now, an idea would be to make two concentric spherical space boundaries and have the player spawn between them. Then one could add a model inside the smaller sphere, giving the player the possibility to move around on the planet's surface. Using other shapes, one could then for example build a spacerace on a planet's surface.

One could then also incorporate various other things, like portals or forcefields, into the race track to make it more appealing."	smerkli
387	Scoreboard 2.0	HUD	0.0.4	minor	task	new	nobody	new	2012-02-27T15:55:06+01:00	2017-10-02T15:26:59+02:00	"If you want to know how many enemies you have killed, simply press ""F2"" and the scoreboard appears. The current implementation is quite simple and has several needs for a refactoring:
 * multiplayer game support is needed.
 * a way to scroll horizontally and vertically is needed (horizontally for long player names and vertically for a long list of players)
 * what about a dynamical behaviour of the scoreboard? Probably show the 'best' player on top and the following players below. Or let the local player always be highlited.
 * there should be a more flexible/generic concept about what a player does score. An easy way would be to let the gametype define how the scoreboard is labeled. (maybe a gametype rather wants to display the 'points' gained and not the 'lives' taken.)"	jo
388	Spaceship Selection	Menu	0.0.4	minor	PPS_project	closed	nobody	closed	2012-03-08T16:09:28+01:00	2015-02-14T18:32:46+01:00	The user should be able to select which spaceship to use. Either at the beginning of each level or in the pause menu.	decapitb
389	Progress bar for level loading	GUI	0.0.4	trivial	PPS_project	new	nobody	new	2012-03-09T09:12:43+01:00	2013-11-22T00:06:16+01:00	"When loading a level, Orxonox currently does not display a progress bar. Since it can take a while for a level to load, it would be nice for the user to see whether anything is happening.

A progress bar (as seen in other games) would improve the user experience. One would have to implement a progress monitor in code and also add the graphical component for it to the game, making this a possible two-person ticket. The loading screen could consist of two elements:

- A bar that shows the actual progress

- some flashing/rotating/otherwise moving icon to show the game is doing something even if the progress bar is standing still"	smerkli
390	Cutscene camera	AI	0.0.4	minor	PPS_project	closed	nobody	closed	2012-03-09T09:15:53+01:00	2012-03-09T09:23:01+01:00	"The game does not yet have any way to create in-game videos. To add this functionality to Orxonox, we need to implement a scriptable camera controller so that the game can take control away from the player and show what is happening in an automated fashion. 

A good documentation and manual on how to script the camera controller belongs to this project to make it useful."	smerkli
391	Story mode map system	GameContent	0.0.4	minor	PPS_project	new	nobody	new	2012-03-09T09:18:26+01:00	2016-10-03T15:04:57+02:00	"Since PPS HS14 we have a campaign menu. Unfortunately this contains only a bunch of buttons. A story mode is still missing. The idea would be to implement some sort of map on which one could click on the next mission - possibly with a mission briefing screen or similar. Here is an example campaign map from ""Stronghold Crusader"".


[[Image(campaign_map.jpg)]]

Currently if you absolved mission N then you unlock mission N+1 and so on. More interesting wuold be a tree-like system. So after completion of mission N you can choose to play mission (N+1)A (cooperation with the aliens) or you can choose to play mission (N+1)B (cooperation with the human rebels). Maybe the decision is also dependent on the behaviour of the player in a level.

Steps:

- Unterstand how the current campaign menu works. How get missions started? How is saved which missions are already won?

- Experiment with CEGui (http://www.orxonox.net/wiki/GUI)

- Implement new features in C++
"	fvultier
392	Scriptable Controller	AI	0.0.4	minor	task	assigned	kohlia	assigned	2012-06-10T20:46:12+02:00	2017-10-25T15:20:27+02:00	"In order to simulate a ""living"" universe or in order to create cutscenes we have a controller called ScriptableController that follows a defined script.

Try to understand how the ScriptableController works, then expand it by more commands.
Finallyt ry to find a way to apply it in a level. E.g: Let a transporter patrol between several space stations, ..."	jo
393	Content Polish	GameContent	0.0.4	minor	task	new	nobody	new	2012-06-10T22:07:04+02:00	2017-10-02T15:25:21+02:00	"Find projects that are almost finished and bring them to a release state.

(Concrete examples coming soon.)"	jo
394	Defense Turret	GameContent	0.0.4	minor	task	closed	nobody	closed	2012-09-12T08:31:23+02:00	2015-02-14T18:31:52+01:00	"Turrets are stationary towers equiped with weapons that automatically attack enemies.

[[Image(turrent.png, right, border=1, nolink, width=250)]]
 * Create a model of a defense tower or use an existing one. E.g. http://opengameart.org/content/turret-reviwed
 * Create a proper texture.
 * Create a class derived from controllable entity to describe the turrents moving capabilities.
 * How can enemies be detected properly? Design a controller for the defensive turret.
 * Equip the turret with a weapon. Create a weaponsetting.



A new turret model + texture + some logic has been created in the autumn semester 2012. Some issues still have to be fixed:

 * Limit the turret's angular movements (somehow it does not work properly, although the right function has been overwritten).
 * Limit the turret's linear movements. It should stick to its base and stay there. 
 * Improve the turret's AI such that it can make a difference between friends and foes.
 * Attach the turret to the Planetary Destroyer or embed it in a level. (What about having the transporter be defended by a turret?)

"	jo
395	Cutscenes	AI	0.0.4	minor	PPS_project	new	nobody	new	2012-09-12T09:11:53+02:00	2017-10-02T15:27:49+02:00	"Imagine a cutscene as a in game animated film. Spaceships are moving around, shooting, boosting - all according to a screenplay.

The first step is to design a controller that follows a pre set description of a movement. All animated objects (spaceships, the camera, ... ) can be steered by different instances of this generic controller.

 * Think of how generically the movement and behaviour of a spaceship - or any other, less complex object - can be described. Which parameters are needed?
 * Create a controller that can carry out the script. Have a look at the  WaypointController if you need help with the implementation."	jo
396	Racing Bots	AI	0.0.4	minor	task	new	nobody	new	2012-09-14T13:38:18+02:00	2013-11-22T00:21:19+01:00	"In order to make spaceraces more furious, a separate racing controller was to be created.

However, there are some features missing, to make the bots competitive. They should:
 * Anticipate speed-up pickups.
 * Anticipate portals.
 * Use boost.
 * Detect enemies and obstacles to shoot at and do so.
 * Avoid obstacles.

Use the presentationHS12 level, to test the abilities of your bots."	jo
397	Devastate the Earth	GameContent	0.0.5	minor	task	new	nobody	new	2012-10-11T13:47:52+02:00	2012-10-11T13:47:52+02:00	"We already have a model of the earth. A model of the earth of 2012.

How would an overpopulated earth look in a dystopic future?

How would the eath look after a Noxian invasion?"	jo
398	Correct Projectile Collision	Physics/ODE	0.0.4	minor	defect	closed	nobody	closed	2012-10-29T13:59:29+01:00	2015-03-01T11:02:59+01:00	"So far our weapons do not interact with static collisionshapes. A laser shot simply goes through a static collisionshape  and does not hit it.

Fix that behaviour so that a spaceship can hide from enemy attacks behind an asteroid."	jo
399	EMP Weapon	GameContent	0.0.4	minor	task	new	nobody	new	2012-10-29T14:13:08+01:00	2016-10-03T15:59:14+02:00	"We could use some area-of-effect weapons, for example an EM-pulse
that would make all the ships near the triggering ship go haywire.

This would need an animation and some coding - Though for the animation, a simple shader effect could be used like the one in the 
Presentation HS11 level.


[[Image(emp_weapon.jpg)]]"	smerkli
400	Fix the HUD	HUD	0.0.4	minor	enhancement	new	nobody	new	2012-12-20T11:39:06+01:00	2012-12-20T11:39:06+01:00	"Introduce a common way for all HUD elements to filter out objects that are too far away. (E.G this feature is missing in the HUDEnemyHealthBar)

Upgrade the HUDNavigation markers to select important objects depending on the context. (E.G: In a race the first priority is to show where the next RaceCheckpoints are. They should be showed despite they are more far away than your competitors.)

Improve the aim marker in HUDNavigation by adding transparency to it, if its location is directly on top of the position marker.

Make the aim marker more generic by adjusting to the projectile speed of the weapon that is currently used."	jo
401	Cleanup the AI	AI	0.0.4	minor	task	new	nobody	new	2012-12-20T12:16:08+01:00	2012-12-20T12:16:28+01:00	"Various people tried to improve the AI and added further functionality.

The task is to get an overview what already has been done and to clean the whole thing up.

Add a reasonable documentation."	jo
402	Inside a Spacestation	GameContent	0.0.4	minor	task	new	nobody	new	2012-12-20T13:52:19+01:00	2012-12-20T13:53:35+01:00	"Create a model of the interior of a spacestation or use one with an appropriate licence.

Think of what rooms the player could need in a spacestation. (Hangar, Shops, Offices, Sleeping Rooms, Bars, Health Care, ...)

Create appropriate textures.

In a second step this Spacestation should be useable by a first and/or third person player.

Fill the station with functionality.

Create a lively atmosphere."	jo
403	Ready made Game Objects	GameContent	0.0.4	minor	enhancement	new	nobody	new	2012-12-20T13:52:47+01:00	2012-12-20T17:47:16+01:00	"Some more sophisticated objects can't be easily scaled and require a lot of XML code to put it in a level.

Write some short lua scripts that handles scaling for both the model and the attached collisionshapes."	jo
404	Texture existing models	GameContent	0.0.4	minor	task	new	nobody	new	2013-02-11T15:11:18+01:00	2013-10-07T17:05:27+02:00	"Improve texture quality of existing models or create your own.

There are models on which the texture quality is rather lacking. Alter existing textures or replace them outright. Try to work with materials as well to create more appealing visuals.

E.g.
http://www.orxonox.net/browser/data/contentcreation/orx_artists/FelixSchulthess/transport/
http://www.orxonox.net/browser/data/contentcreation/orx_artists/FelixSchulthess/fx-1
http://www.orxonox.net/browser/data/contentcreation/orx_artists/SimonHofmann
http://www.orxonox.net/browser/data/contentcreation/pps/AxelBomhauerBeins
"	fmauro
405	In-Game HUD overhaul	HUD	0.0.4	minor	task	new	nobody	new	2013-02-11T15:20:20+01:00	2013-10-08T18:08:55+02:00	"Familiarize yourself with the components of the in-game HUD and make design decisions on what you would want to change.

Create all the necessary assets for your new HUD-design and implement them in the game.

Ressources: 
 * http://www.orxonox.net/wiki/HUD
 * The XML file where the locations of all HUD elements are defined is http://www.orxonox.net/browser/code/trunk/data/overlays/HUD.oxo
 * The source code is located, e.g. at http://www.orxonox.net/browser/code/trunk/src/modules/overlays/hud/HUDRadar.cc
 * http://www.orxonox.net/doxygen/classorxonox_1_1_h_u_d_radar.html"	fmauro
406	Intelligent Formation	misc	0.1	minor	task	new	nobody	new	2013-02-19T15:47:09+01:00	2013-02-19T15:48:04+01:00	" * It is already possible that a single player can ""command"" other bots of the same team, such that they follow him and align in a certain formation and such that they attack if necessary. But there is no management functionality to really make use of this.
At the moment the player has to press some buttons to make the bots do as wished.

 * Another project was able to show successfully that the controller of a controllable entity can be changed.

 * Create a new class that can be placed in a level (via XMLport), that spawns a pre defined number of player that follow the current player.
 * If the player's spaceship is destroyed, he automatically takes control over another spaceship of his crew.
 * If all spaceships are destroyed, let the mission be failed. (Such a callback function has been implemented in the Transporter.)"	jo
407	Migrate to CEGUI 0.8	GUI	0.0.4	minor	task	assigned	bknecht	assigned	2013-09-08T22:28:43+02:00	2016-02-05T13:08:19+01:00	"CEGUI 0.8 was released this spring and it brings a lot of breaking changes. Orxonox compiles with CEGUI 0.8 since r9671, but it doesn't run because the lua scripts and the datafiles were written for 0.7.

Sooner or later we will have to migrate, so the only question is when and how: should we wait until CEGUI 0.8 is default on all platforms, then just migrate all scripts and data and drop support for CEGUI 0.7. Or should we migrate early and try to support both 0.7 and 0.8 at the same time.

http://www.cegui.org.uk/wiki/index.php/Changes_and_Porting_Tips_for_0.8.0"	landauf
408	Formation Level	GameContent	0.0.4	minor	task	new	nobody	new	2013-09-27T14:51:04+02:00	2013-09-30T17:34:22+02:00	"Create a single player mission that uses the new formation feature: The player is in charge of a formation of lets say 7 space ships. They follow the player and should support him, when he is attacking/ is being attacked by an enemy.
If the player dies, he automatically takes control of a ship of his formation. The number of formation ships represent the players number of lives. So if each player in a formation died, the mission fails.


This ticket is about 50% game design and 50% coding, not all required features are implemented yet.

The previous ticket is http://www.orxonox.net/ticket/406"	jo
409	Multiplayer: Masterserver debugging/extension	Network	0.0.4	minor	PPS_project	new	nobody	new	2013-09-29T18:00:00+02:00	2013-09-29T18:00:00+02:00	"For a multiplayer game to be playable online, a central ""master server"" is required that the game clients connect to. The task of this master server is to keep a list of all multiplayer game servers and their IPs so players can select which server to connect to.

The current state of the master server is a basic implementation with some memory leaks still present. More debugging work is required to make it useful as well as some extensions for easier management."	smerkli
410	Multiplayer: Game testing and debugging	Network	0.0.4	minor	PPS_project	new	nobody	new	2013-09-29T18:03:45+02:00	2013-09-29T18:03:45+02:00	"The LAN multiplayer mode of Orxonox is still in early stages and not very well-tested. The only way to get this game mode to be more robust is to test it to uncover bugs and then fix them. This requires at least to people to play, temporary addition of more players from other projects might be a good idea as well.

Tests to be done include all game modes playable in multiplayer, chat, joining/leaving games, online/cross-platform multiplayer games."	smerkli
411	Embedd Sound Effects	Sound	0.0.4	minor	task	new	nobody	new	2013-09-29T20:46:30+02:00	2013-09-29T21:27:00+02:00	"In a previous semester several sound effects have been created:
 * Pong Score
 * Ready Go - to accustically highlight the start in a spacerace.
...

Embedd them in the game.

Related to: http://www.orxonox.net/ticket/337
"	jo
412	PCH support broken with GCC 4.8	misc	0.0.4	minor	defect	new	nobody	new	2013-10-03T23:42:30+02:00	2013-10-03T23:42:30+02:00	"PCH (precompiled headers) don't seem to work with GCC 4.8 anymore. In r9685 I had to add an include directory because otherwise it wouldn't even compile with GCC 4.8. But if I compare compilation times with and without PCH in GCC 4.8, it actually takes a few seconds longer with PCH. In prior versions of GCC the speed-up was usually around 15%.

We should fix that soon. PCH support is defined in cmake/tools/PrecompiledHeaderFiles.cmake"	landauf
413	Cleanup the Space race	AI	0.0.4	minor	task	new	nobody	new	2013-11-04T23:38:19+01:00	2017-10-09T13:35:19+02:00	"The space race has been implemented and so does the SpaceRaceController.

Now it is necessary to clean up the code and optimize the SpaceRaceController.

 * Test if the multi player support works properly.
 * Make the checkpoints easier to handle in xml, by adding a XML-Template (for the model and the collisionshapes).
 * Improve AI for spaceraces. Teach them how to boost, how to use force fields, space gates and pickups and how to attack enemies.
 * Add a count down before the race starts and synchronize it with the ""ReadyGo"" sound. (note that the player's engine should be turned off as long as the countdown hasn't finished.)
 * Save the player's score.
 * Improve the game end. (It should end, when the last player has reached the goal.)

The space race has recently been improved: a countdown before the game has been added, for instance. However, some work remains in order to create an enjoyable level.Please also take a look at the ticket #396 ."	jo
414	Create a realistic looking earth	GameContent	0.0.5	minor	task	new	nobody	new	2013-11-11T12:37:08+01:00	2017-10-02T15:25:32+02:00	"[[Image(north_star_cycles_render_blendswap.jpg, right)]]
Our earth planet model can be improved in several ways:

1. Day and night textures that get exchanged according to the light source of the scene.

2. Create cloud textures that are displayed above the regular day/night texture.
See also: http://www.blendswap.com/blends/view/46815

3. Create a particle effect for the entrance in the atmosphere.

4. Create a high resolution earth model with a hight map that will replace the regular eath model, when the player gets too close.

-> This will be awesome eye candy."	jo
415	Quest is not ended by EventTriggers	misc	0.0.4	minor	defect	new	nobody	new	2013-11-18T16:09:24+01:00	2013-11-18T17:43:00+01:00	"Quest can't be completed by using EventTriggers who are avtivated by destroying an enemy.
Also DistanceTriggers with DistanceTriggerBeacon-Attachement can't complete a Quest. Otherwise they work right.

This bugs are hacked by making a DistanceTrigger with very large radius, which is activated when the enemy is destroyed

example:

<DistanceTrigger name=""endQuest"" [...] delay=0.1 >
  <EventTrigger>
    <events>
      <trigger>
        <EventListener event=""enemyDead"" />
      </trigger>
    </events>
  </EventTrigger>
</DistanceTrigger>"	schlaem
416	Particles don't inherit parents velocity	Particles	0.0.4	minor	PPS_project	new	nobody	new	2013-12-09T15:38:58+01:00	2013-12-29T12:25:11+01:00	"Particles created by the ParticleEmitter (which might be moving) do not inherit it's velocity.
This can be best seen in ""Orxonox Arcade"" where it looks like particles are shooting towards the player, but in reality their velocity is (0,0,0).
They should be moving along with the ParticleEmitter to look more realistic."	zifloria
417	SimpleNotification with color	misc	0.0.4	minor	task	new	nobody	new	2013-12-09T15:52:02+01:00	2013-12-09T15:52:02+01:00	"If we could give a parameter message and a color to a SimpleNotification, we could form conversations during the level or show warnings. Now we define the color with NotificationQueueCEGUI with the XMLPort ""fontcolor"". "	skaan
418	Big Ships implementation	misc	0.0.4	minor	PPS_project	new	nobody	new	2013-12-09T17:41:18+01:00	2017-03-23T23:32:27+01:00	"Implement a structure for big ships and their parts.

A big ship should consist of multiple parts which can be individually destroyed, and the state of the individual parts should alter the behaviour of the entire vessels systems, such as shield, weapons or engines.

Due to Pawns (the only destructible entity) being dynamic entities, which one cannot attach to each other, restructuring of entity-classes is needed.

More information: BigShip and [https://forum.orxonox.net/viewtopic.php?f=1&t=1104 Forum]

(The HeavyCruiser model can be used for an ingame implementation.)"	noep
419	Start the Astereoids	misc	0.0.4	minor	task	closed	nobody	closed	2013-12-16T15:15:10+01:00	2015-02-15T23:12:25+01:00	"The Problem in the level ""(i) John Vane - Trip to Area 51"" was, that the Astereoids start when you spawn. We wished that it would start through a Distancetrigger, but the activity only activates their visibility instead of the velocity."	skaan
420	Collisionshapes from Model - Autocollisionshapes	Physics/ODE	0.1	minor	PPS_project	new	nobody	new	2014-02-15T09:29:27+01:00	2014-02-24T19:27:18+01:00	"So far the collisionshapes approximates our models using cubes and spheres. That is sufficient for most applications.
On the other hand it takes a lot of time and effort to approximate a large model and there always will be errors.

We need the feature to be able to generate collisionshapes by the model:

<Model ... hasautocollisionshape = true />

I am quite sure that this problem already has been solved. Start your research in the ogre wiki and at the bullet development site."	jo
421	INSTALL_COPYABLE  doesn't work	Cmake	0.0.4	major	defect	closed	nobody	closed	2015-02-14T19:04:41+01:00	2016-01-30T20:32:52+01:00	I tried to use INSTALL_COPYABLE=true which means that the buildsystem should use only relative paths in orxonox (according to the [wiki:Buildsystem documentation]), but I still wasn't able to run the compiled game on a different computer. I found lots of absolute paths in the compiled code, so something clearly doesn't work as it should.	landauf
422	Create multiple levels that form a story	GameContent	0.0.4	minor	PPS_project	new	nobody	new	2015-02-19T13:53:33+01:00	2015-09-07T11:22:14+02:00	"Since HS14 there is a campaign menu in Orxonox. The goal of this ticket is to design some new levels that form a story/campaign together.
This ticket is ideal for a group of about 4 students. 2 of them design new models using Blender and the other 2 write the XML code for the levels."	fvultier
423	Define mapping for Class-ID	Network	0.0.4	minor	task	new	nobody	new	2015-04-12T11:33:14+02:00	2015-04-12T11:33:14+02:00	"Currently the network library overrides the class-IDs of all identifiers in ClassID.cc:150.
This modification of the internals of the core library is probably bad style. Instead the network library should maintain a mapping table (which depends on the connected server) and leave the original class-IDs of the client system untouched.
"	landauf
424	New Waepons/Improve the weapon class	GameContent	0.0.4	minor	PPS_project	closed	sagerj	closed	2015-09-21T14:41:06+02:00	2016-09-22T11:48:10+02:00	"The Weapon class of Orxonox is very limited. The procedure of shooting is always the same: You click a button. Then if you have enough munition a projectile flies away. It would be nice to have weapons that the player/AI can charge up: The longer the shoot button is pressed the more powerful the attack get. Or a weapon that launches a rocket if the player clicks and explodes only if the user clicks a second time.

Steps:

- Understand how the weapon system of orxonox works.

- Implement you new weapon types in C++

- Design a simple weapon that uses the new weapon type

- Change the template of an existing space ship such that it uses your new weapons

- Create a Model and/or a particle effect for the new weapons"	fvultier
425	Explosion parts for spaceships and other objects	AI	0.0.4	minor	task	new	nobody	new	2015-09-21T15:30:20+02:00	2016-01-10T11:00:39+01:00	"A new feature since HS15 is that every spaceship or other object may have a different explosion effect. It is also possible to define that a model collapses into many small pieces (called explosion parts) when it explodes.  So far only a few of our spaceships have such explosion parts. Your task is to design more such parts.

Steps:
- Understand how the ExplosionPart class works.

- Design some simple explosion chunks in Blender. The easiest way to do so is by cutting existing spacehips into pieces with Blender.

- Asteroids, Cargo crates and space stations also need explosion parts.

- Create explosion particle effects e.g. with OgreParticleLab"	fvultier
426	boost can be used without moving	Control	0.0.4	minor	defect	new	nobody	new	2015-10-16T14:55:48+02:00	2015-10-16T14:55:48+02:00	When spacebar is pressed, but not w, one can spend all the boost without actually using it. After spending all the boost that way, it won't regenerate unless w is pressed.	gania
427	XML parser: No warning fo unknown attributes	ScriptEngine	0.0.4	minor	task	new	nobody	new	2016-03-17T16:01:21+01:00	2016-03-17T16:01:21+01:00	"It is legal now to assign a unknown attribute to a object in a level file. E.g. the following code is legal and gets parsed without a warning or error, but the SpawnPoint has no attribute called ""asdf""

{{{
#!xml
<SpawnPoint asdf=""uuu"" team=0 position=""-200,0,0"" lookat=""0,0,0"" spawnclass=SpaceShip pawndesign=spaceshipescort />
}}}

"	fvultier
428	Game hangs if user's ship is destroyed while guiding a rocket	GeneralFramework	0.0.5	minor	defect	new	nobody	new	2016-03-29T20:37:27+02:00	2016-04-01T14:30:38+02:00	"reproduce:
1. start match with some enemy bots and at least 1 user-guided missile
2. fly around until your ship is under attack by a bot
3. fire missile with ""T"" (default keybind)
4. when pressing T again to return to ship, game hangs at 100% CPU

expected:
4. when pressing T again, respawn

"	simonmie
429	Upgrades for Spaceships in Campaign	GeneralFramework	0.0.4	minor	task	new	nobody	new	2016-09-22T12:03:06+02:00	2016-10-03T14:59:11+02:00	"In many games, the player gets stronger from level to level in the campaign. It would be nice to have an upgrade system for the orxonox spaceships too. Ideas:

[[Image(campaign_research.jpg)]]

For every won campaign mission, the player gets research points that he can spend on different abilities. There would be abilities like ""+10% damage with spaceship escort"" or ""+10% speed with spaceship pirate"" or ""spaceship escort gets an additional flame gun"" or ... BE CREATIVE!


Steps:

- Think about how your final upgrade mechanism should behave. Check out other games for ideas.

- How can you implement your idea? How should the progress of the player be stored? Where should the available upgrades be stored?

- Implementation and testing"	fvultier
430	Highscore system for minigames	Network	0.0.4	minor	task	new	nobody	new	2016-10-03T17:37:46+02:00	2016-10-03T17:40:34+02:00	"It would be nice to have a highscore list for the minigames (and probably certain other levels).

Important design steps/decisions:
 * Where should the highscore list be saved? Probably on the master server?
 * Somehow the game should be able to read the current highscore for a particular level from the masterserver. How can you implement this?
 * After terminating a level (and having a higher score than any other player) you should be able to send your score to the masterserver.
 * There should be a way how the player can enter his/her name when having a new highscore. Create a GUI where the player can enter the name.
 * Create a CEGui Menu where the player can look at the highscore lists of the different levels. This could maybe look like the following screenshot from the game ""Doodle Jump"".

[[Image(highscore.jpg)]]"	fvultier
431	Automatic startup of all services	IT		critical	task	closed	lferran	closed	2016-03-12T22:13:02+01:00	2016-06-08T17:40:48+02:00	All services on the Orxonox server should start automatically when the server boots.	landauf
432	Migrate SVN repositories	IT		major	task	closed	admin	closed	2016-03-12T22:14:04+01:00	2017-03-20T10:21:52+01:00	The SVN repositories should be migrated to the new server. After the migration they should be available under the same url.	landauf
433	Migrate Users/Logins	IT		major	task	closed	admin	closed	2016-03-12T22:14:51+01:00	2017-03-20T10:00:43+01:00	"Users from the old system should be migrated to the new server. We don't necessarily need to migrate ALL users if it causes too much work because a lot of users are inactive for years.

If possible, the credentials for login should remain the same.

The roles for each user will be defined manually."	landauf
434	Migrate Forum	IT		minor	task	closed	admin	closed	2016-03-12T22:15:36+01:00	2017-03-23T23:33:29+01:00	"Right now the forum is hosted on a different server than all other orxonox services (http://orxonox2.vseth.ethz.ch). We're not in a hurry to move it, but at some point we should migrate it to the new server.

It is yet unclear if we should integrate it in the new ldap credentials system or if the forum will have a separate user management.

It's a requirement, that external users can register themselfes in the forum."	landauf
435	Build doxygen documentation	IT		minor	task	closed	landauf	closed	2016-03-12T22:40:32+01:00	2017-03-20T09:58:37+01:00	"The doxygen documentation of Orxonox should be generated with every commit in trunk and linked on the website.

Maybe it makes sense to build the documentation with jenkins, because it is configured to run scripts for each commit."	landauf
436	Virtualize build environment	IT		major	task	closed	landauf	closed	2016-03-12T22:41:18+01:00	2017-03-20T09:57:42+01:00	Maybe the jenkins builds can be run in a virtualized build environment like docker. This would allow us to define different build environments (e.g. different compilers or libraries) without cluttering the main server with a bunch orxonox-specific stuff.	landauf
437	Migrate wiki layout	IT		major	task	closed	landauf	closed	2016-03-12T22:42:54+01:00	2016-06-12T23:05:38+02:00	The new wiki should look like the old one.	landauf
438	Add Mailinglists	IT		major	task	closed	admin	closed	2016-03-12T22:45:11+01:00	2016-06-17T18:48:31+02:00	I want a mailing list service on the new server similar to mailman on the old server.	landauf
439	Send SVN Changes to Mailinglist	IT		minor	task	closed	admin	closed	2016-03-12T22:48:52+01:00	2017-03-20T14:53:26+01:00	Add a commit-hook to SVN that sends the diff of each commit to the orxonox-commit mailinglist.	landauf
440	Migrate orxonox.net Domain	IT		major	task	closed	admin	closed	2016-03-12T22:49:28+01:00	2017-03-20T10:20:50+01:00	The DNS for orxonox.net needs to be moved to the new server.	landauf
441	Kanban Board doesnt work	IT		minor	defect	closed	admin	closed	2016-03-12T23:52:29+01:00	2017-03-20T09:58:55+01:00	"http://orxonox.net/wiki/KanbanBoard -> Error ""Session expired. Please relogin."""	landauf
442	Add protected section to wiki	IT		critical	task	closed	admin	closed	2016-03-13T11:06:49+01:00	2016-03-19T17:51:57+01:00	As an admin, I want a protected section in the wiki which is not visible for the public where we can document our IT infrastructure and other important stuff.	landauf
443	Document IT infrastructure	IT		major	task	accepted	lferran	accepted	2016-03-13T11:11:20+01:00	2017-03-20T22:08:59+01:00	"Add documentation in a protected section of the wiki. Our services, policies and maybe even passwords need to be documented somewhere.
Additionally we should keept a copy of that offline in case the wiki is down, but still it makes sense to have a common place in the wiki where admins can contribute to the documentation."	landauf
444	Migrate email accounts and forwardings	IT		major	task	closed	admin	closed	2016-03-13T11:21:03+01:00	2017-03-20T14:50:08+01:00	"The email accounts (including all stored emails) and all email forwardings should be migrated to the new server.

The migration should happen in an ""atomic"" step, i.e. it shouln't be possible that mails are still received on the old server AFTER the accounts were migrated because that would result in a loss of data.

Loss of data should be avoided in general. It is however acceptable if the email accounts are unavailable for some hours."	landauf
445	Install extra trac plugins	IT		minor	enhancement	closed	lferran	closed	2016-03-20T14:39:50+01:00	2016-03-20T15:26:33+01:00	"Plugins to install:

​https://trac-hacks.org/wiki/TracIniAdminPanelPlugin
​https://trac-hacks.org/wiki/CollapsiblePlugin
​https://trac-hacks.org/wiki/TocMacro"	lferran
446	Mimic apache2 VirtualHosts from old server	IT		major	task	closed	lferran	closed	2016-03-20T18:38:11+01:00	2016-06-07T01:33:57+02:00	Since we want to keep the same checkout URLs for the svn repositories, we need to mimic the VirtualHost configuration from Apache2 in the old server to the new one.	lferran
447	improve backup script	IT		major	enhancement	closed		closed	2016-03-20T19:08:08+01:00	2016-05-30T17:43:30+02:00	"TODO:
 * Stop and start services before and after the backup, respectively.
 * Control what is sent in the email to that huge email reports are no-longer sent
"	lferran
448	enable https on login sites	IT		major	task	closed	lferran	closed	2016-03-20T23:13:26+01:00	2017-03-20T10:16:37+01:00	"When setting up the virtual hosts, enable the https on those sites where login credentials are sent to the server:
* Roundcube login
* Phpldapadmin login
* Trac login
* Jerkins login
* Zabbix login "	lferran
449	Make Jenkins available under port 80/443	IT		minor	task	closed		closed	2016-03-21T14:26:06+01:00	2017-03-20T10:16:13+01:00	"To fully integrate Jenkins (running on orxonox.net:8080) in our website, it would be good if we can make it available on port 80/443. I don't know what works best, but in general I'd like to have one of these options:

* orxonox.net/build
* orxonox.net/jenkins
* build.orxonox.net
* jenkins.orxonox.net

Note: I don't want a browser forwarding to orxonox.net:8080. It should be fully accessible under the standard http(s) port because in some places (e.g. here at work) port 8080 is blocked.

Do you think that's possible?"	landauf
450	Fix all TODOs	IT		minor	task	closed		closed	2016-03-22T23:04:13+01:00	2017-03-20T14:49:06+01:00	-> wiki:IT/Migration/TODO	landauf
451	Zabbix authentication: ldap groups	IT		minor	enhancement	new		new	2016-05-31T10:05:52+02:00	2019-02-28T15:39:39+01:00	"We should watch the [https://support.zabbix.com/browse/ZBXNEXT-276 Zabbit ticket] that will implement the ldap groups feature.

When this ticket is resolved, we should re-configure the Zabbix authentication to be done by LDAP groups: Give permissions to @admins LDAP group instead of single users"	lferran
452	Select unix users to migrate	IT		major	task	closed	landauf	closed	2016-06-04T18:24:41+02:00	2016-06-08T13:29:18+02:00	"Which of the following users with login in the old server should be migrated to the new server?

scheusso:x:1000:100::/home/scheusso:/bin/bash
bknecht:x:1001:100::/home/bknecht:/bin/bash
boenzlip:x:1005:100::/home/boenzlip:/bin/sh
bensch:x:1006:100::/home/bensch:/bin/sh
lenherrt:x:1007:100::/home/lenherrt:/bin/sh
hofzge:x:1008:100::/home/hofzge:/bin/sh
nowic:x:1009:100::/home/nowic:/bin/sh
lieni:x:1010:100::/home/lieni:/bin/sh
silvan:x:1011:100::/home/silvan:/bin/sh
chrigi:x:1012:100::/home/chrigi:/bin/sh
landauf:x:1013:100::/home/landauf:/bin/bash
nicolasc:x:1014:100::/home/nicolasc:/bin/bash
felischu:x:1015:100::/home/felischu:/bin/bash
rgrieder:x:1018:1018::/home/rgrieder:/bin/bash
dafrick:x:1019:100::/home/dafrick:/bin/bash
deca:x:1020:1020::/home/deca:/bin/bash
dieter:x:1016:1000:,,,:/home/dieter:/bin/bash
adi:x:1017:1001:Adi,,,:/home/adi:/bin/bash
smerkli:x:1021:1021::/home/smerkli:/bin/sh
youngk:x:1022:1022::/home/youngk:/bin/sh
jo:x:1023:1023::/home/jo:/bin/sh
fmauro:x:1024:1024::/home/fmauro:/bin/sh
maxim:x:1025:1025::/home/maxim:/bin/sh
lferran:x:1026:100::/home/lferran:/bin/sh
zifloria:x:1027:1027::/home/zifloria:/bin/sh
"	lferran
453	Migrate SVN hooks	IT		major	task	closed	lferran	closed	2016-06-04T19:28:31+02:00	2017-03-20T10:01:55+01:00	"When migrating the SVN service, all hooks must be migrated too!
Subtasks:

1. Identify which hooks are there for each repository: scripts, compilations, emails...

2. Can they be migrated to the new server?

3. Test them in the new server.

4. Migrate them.
"	lferran
454	Select subversion users to migrate	IT		major	task	closed	landauf	closed	2016-06-04T19:42:30+02:00	2017-03-20T10:02:27+01:00	Which of the users listed in /var/svn/svnusers of the old server should be migrated??	lferran
455	Test & install Let'sEncrypt CA certificate	IT		minor	new feature	closed	admin	closed	2016-06-08T19:06:20+02:00	2016-06-09T12:47:19+02:00	"There's a new project that creates real SSL certificates for free: https://letsencrypt.org/

Maybe we can use this!"	lferran
456	fix memberUid overlay in groups	IT		major	defect	assigned	lferran	assigned	2016-06-12T19:53:22+02:00	2017-03-20T22:09:08+01:00	"memberUid overlay in groups is not updated after adding new users.

'''A temporary solution is to manually set everything from the LDAP admin panel: for every user -> make sure:
* It only appears in one grop
* The groupid of the user corresponds to the group that he is in'''"	lferran
457	Select svn repositories to migrate	IT		blocker	task	closed	landauf	closed	2016-06-13T17:39:49+02:00	2017-03-20T10:19:49+01:00	"Which of these should be migrated to the new SVN server?

 biomed
 data
 datavis
 downloads
 game
 netflow
 downloads
 orxonox
 orxonox_closed
 orxonox.OLD
 subprojects
 testferran
 testrepo
 vseth_projects
 webdev
"	lferran
458	Select mailing lists to migrate	IT		blocker	task	closed	landauf	closed	2016-06-14T11:26:16+02:00	2017-03-18T12:39:40+01:00	"Which of the following mailing lists must be replicated in the new server?

{{{#!sh
lferran@orxonox:~$ sudo /var/lib/mailman/bin/list_lists 
19 matching mailing lists found:
                Contact - Contact the Orxonox developers
                Mailman - [no description available]
       Orxonox-announce - Orxonox - An Open-Source Space Shooter - Announcement List
         Orxonox-commit - Orxonox - An Open-Source Space Shooter - Commits List
            Orxonox-dev - Orxonox - An Open-Source Space Shooter - Development List
            Orxonox-pps - Umbrella for all pps mailinglists
    Orxonox-pps-fs09-s2 - [no description available]
    Orxonox-pps-fs09-s4 - [no description available]
    Orxonox-pps-fs10-s2 - [no description available]
    Orxonox-pps-fs10-s4 - [no description available]
    Orxonox-pps-fs11-s2 - [no description available]
    Orxonox-pps-fs11-s4 - [no description available]
       Orxonox-pps-fs12 - [no description available]
       Orxonox-pps-hs09 - [no description available]
       Orxonox-pps-hs10 - [no description available]
       Orxonox-pps-hs11 - [no description available]
           Orxonox-test - This is a mailinglist for testig purposes
         Pps-admin_fs09 - [no description available]
                Tickets - [no description available]
}}}"	lferran
459	Solve roundcube login issues	IT		critical	defect	closed	lferran	closed	2016-06-15T15:48:01+02:00	2017-03-20T10:15:40+01:00	"Problems:
* When users login only using their userid, the roundcube treats the user as <userid>@localhost instead of @orxonox.net

* This causes that the user, then, can't send any email."	lferran
460	Send ticket notifications	IT		minor	task	closed	landauf	closed	2016-06-18T16:49:45+02:00	2017-03-20T10:14:52+01:00	"Trac should send notifications about changes in the tickets:
 * Notify owner and CC (use <username>@orxonox.net by default)
 * Notify tickets-mailinglist
"	landauf
461	Send build notifications	IT		minor	task	closed	landauf	closed	2016-06-18T16:52:19+02:00	2017-03-21T00:32:24+01:00	"Jenkins should send notifications about changes of the build status:
 * Notify committer (use <username>@orxonox.net by default)
 * Notify builds-mailinglist

"	landauf
462	Testticket	IT		trivial	task	closed	lferran	closed	2016-06-18T17:29:02+02:00	2017-03-12T08:14:22+01:00	this ticket is used to test permissions & notifications. it can be closed anytime.	testmoderator
463	Roundcube fails to display certain mails	IT		major	defect	closed		closed	2016-06-18T22:31:42+02:00	2016-06-18T22:35:31+02:00	"Certain mails in roundcube can't be shown, e.g. these two:
 * Undelivered Mail Returned to Sender
 * Mailman post from !*** requires approval

I can see in my browsers dev mode that the roundcube website receives status code 500 (internal error) from the server."	landauf
464	Test domain resolution	IT		minor	task	closed	admin	closed	2016-06-20T09:40:10+02:00	2016-06-26T20:28:07+02:00	"In order to test the domain change (.info -> .net) we could do something:
1. Add orxonox.net as a hostname entry in the new server, pointing to localhost.
2. Change our working stations DNS resolutions of www.orxonox.net to point to the new server whenever we are working on it.
3. Make all the changes in the configuration, and test this way.

It might be a way to make the migration more ""transparent"" to the users, or reduce the bunch of time that the old services are down.

This way we could spread the migration in time a bit more (i.e: no need to shut down everyithing for one entire week)

If we would add therese entries in my local resolv.conf to point to the new server's IP... it would work. I haven't tested it though."	lferran
465	Migrate LDAP data (.info -> .net)	IT		minor	task	closed	lferran	closed	2016-06-25T13:22:58+02:00	2016-06-26T20:26:49+02:00	We must migrate the LDAP directory in the new server to adapt to the  final domain name!	lferran
466	Jenkins has some trouble with https	IT		minor	defect	closed	landauf	closed	2016-06-25T16:06:05+02:00	2016-12-11T11:31:08+01:00	"Often jenkins switches from https to http when clicking an url.
Examples:
* Go to [https://www.orxonox.net/jenkins/view/Management/job/orxonox_doxygen_trunk/ this URL] -> click on ""Document"" (next to the big (?) sign) -> you are redirected to http instead of https
* Go to [https://www.orxonox.net/jenkins/ this URL] -> click login (upper right corner) -> enter invalid account -> you are redirected to http instead of https

Also login doesn't always work (or only after closing and opening the website again).

I see that jenkins is started with these command-line arguments:
{{{
--httpPort=8080
--httpListenAddress=127.0.0.1
}}}

According to https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins it may be possible to use these arguments instead:
{{{
--httpPort=-1 (disable http)
--httpsPort=8443
--httpsListenAddress=127.0.0.1
}}}

After that, the apache configuration to redirect /jenkins to localhost:8080 should be changed to redirect to localhost:8443.

Maybe this solves the issue."	landauf
467	Allow SSL/TLS for IMAP and SMTP	IT		critical	enhancement	closed	landauf	closed	2016-06-25T16:09:51+02:00	2017-03-18T00:13:54+01:00	"Currently I can only use STARTTLS for IMAP and SMTP on ports 143 and 25 respectively.
It should be configured to allow SSL/TLS on ports 993 and 465 respectively."	landauf
468	IMAP and SMTP should use let's encrypt certificate	IT		major	defect	closed	landauf	closed	2016-06-25T16:10:59+02:00	2017-03-13T23:07:57+01:00	When I access IMAP and SMTP with tunderbird, I see that these services still use the old self-signed SSL certificate. If possible IMAP and SMTP should use the (new) valid let's-encrypt-certificate	landauf
469	37.120.188.187 should redirect to www.orxonox.net	IT		minor	task	closed	landauf	closed	2016-06-25T16:14:22+02:00	2016-12-11T11:23:16+01:00	Currently I notice that 37.120.188.187 leads to lists.orxonox.net in the browsers address bar. If possible it should lead to www.orxonox.net	landauf
470	Change SSL certificate to orxonox.net	IT		minor	task	closed	lferran	closed	2016-06-26T10:56:41+02:00	2017-03-20T10:22:13+01:00	"This must be done after the DNS entries have been updated to point to the new server.

Then, we just need to issue:
{{{#!sh
./certbot-auto --apache certonly
}}}
And choose the orxonox.net domains for which we want to have the certificate."	lferran
471	Remove the reverse-lookup bypass directive from postfix	IT		minor	task	closed	lferran	closed	2016-06-26T11:07:52+02:00	2017-03-20T00:55:43+01:00	"Once the email service is working fine in the new server, the following parameter must be removed from ''/etc/postfix/main.cf'':

{{{#!sh
smtp_host_lookup = native
}}}

This is just temporary, while the ""domain trick"" is active in the new server so that the services respond to the .net domain even though the DNS is not yet configured for that."	lferran
472	Install password manager for LDAP users	IT		minor	new feature	closed		closed	2016-06-26T13:32:09+02:00	2016-06-27T16:37:28+02:00	"Please install and test [http://ltb-project.org/wiki/documentation/self-service-password Self Service Password] as a new way for users to change their passwords.

The main goal is to allow users change their passwords without using roundcube. Ideally it should also be possible to send an email with a password-reset-token in case the user has lost his password.

The SMS-feature is not neccessary (I don't think there's a reliable free provider for this)"	landauf
473	Migrate mailboxes	IT		minor	task	closed	lferran	closed	2016-06-26T20:05:19+02:00	2017-03-20T14:52:14+01:00	"The users for which the mailbox in the old server has to be migrated in the new server are:

||= Username (email old server) =||= Mailbox size =||= SVN user exists? =||= Name of SVN user (if different) =||= aliases =||= migrated? =||
|| bensch || 1.1G || x ||  || || (./) ||
|| bknecht || 321M || x ||  || beni || (./) ||
|| boenzlip || 681M || x || patrick || patrick || (./)  ||
|| chrigi || 540K ||   || rennerc || || (./) ||
|| dafrick || 18M || x ||  || || (./) ||
|| deca || 1.1M ||   || decapitb || || (./) ||
|| felischu || 56M || x || !FelixSchulthess || felix || (./) ||
|| hofzge || 568K ||   ||  || || (./) ||
|| jo || 1.3M || x ||  || || (./) ||
|| landauf || 184M || x ||  || x3n || (./) ||
|| lieni || 566M ||   || stefalie || stefalie || (./) ||
|| nicolasc || 169M || x ||  || nico || (./) ||
|| nowic || 138M || x || wenners || wenners || (./) ||
|| rgrieder || 4.0M || x ||  || reto || (./) ||
|| scheusso || 315M || x ||  || oli || (./) ||
|| silvan || 133M || x || snellen || silvan || (./) ||
|| smerkli || 28K || x ||  || || (./) ||
|| youngk || 1.3M || x ||  || || (./) ||

Most users that had mailboxes on the old server were already migrated as SVN users to the new server. For some users, the name of the SVN user is different to the name of the mailbox.

4 mailbox owners were not migrated because they didn't match the criteria defined in #454. To make the migration of the mailbox possible we can still create SVN users for them."	lferran
474	Migrate to Ubuntu 16.04	IT		critical	task	closed	landauf	closed	2016-12-11T10:56:52+01:00	2016-12-11T11:13:19+01:00		landauf
475	Improve SSL-Rating for HTTPS	IT		minor	task	closed	landauf	closed	2016-12-11T11:01:51+01:00	2017-03-20T09:59:53+01:00	https://www.ssllabs.com/ssltest/analyze.html?d=orxonox.net -> should be an A+	landauf
476	Let Thunderbird autoconfiguration prefer SSL over STARTTLS	IT		minor	task	closed	landauf	closed	2016-12-11T11:03:32+01:00	2017-03-18T00:36:46+01:00	"See these resources:
https://wiki.mozilla.org/Thunderbird:Autoconfiguration
https://wiki.mozilla.org/Thunderbird:Autoconfiguration:ConfigFileFormat"	landauf
477	Redirection in mailman	IT		minor	task	closed	landauf	closed	2016-12-11T11:04:28+01:00	2017-03-20T10:14:16+01:00	"lists.orxonox.net should redirect to /mailman
pipermail should redirect to pipermail/."	landauf
478	Fix cron jobs in the backup server	IT		major	defect	closed	lferran	closed	2017-02-28T09:54:55+01:00	2017-03-12T08:13:15+01:00	"Certbot-renewal and backup cron tasks in the backup server stopped working.

== Backup

1488243601
Stopping services...
Creating the LVM snapshot...
  Logical volume ""snap_lv"" created.
Starting services again...
/mnt/snap is a mountpoint
Creating an incremental backup on 28Feb...
/bin/tar: Removing leading `/' from member names
Removing the LVM snapshot...
  Logical volume ""snap_lv"" successfully removed
6
Execution time is 591 seconds

== Certbot

/bin/sh: 1: /home/lferran/certbot-auto: not found"	lferran
479	Find all configuration files containing backup-domain data	IT		minor	task	closed	lferran	closed	2017-02-28T11:59:57+01:00	2017-02-28T12:10:06+01:00	After a new snapshot has been installed in the backup server, we need to change all configuration files of all servers from .net to .info. 	lferran
480	Search for email forwardings to migrate	IT		major	task	closed	lferran	closed	2017-02-28T18:51:16+01:00	2017-03-02T11:51:53+01:00	Search where email forwardings are configured in the old server, to migrate them too!	lferran
481	Configure mailAlias for old orxonox users	IT		minor	task	closed	lferran	closed	2017-03-07T10:09:44+01:00	2017-03-20T14:52:44+01:00	We should make sure old aliases are configured in the new system: postmaster, admin, and user-defined ones (x3n, etc)	lferran
482	Configure mail system in the main server correctly	IT		blocker	task	closed	lferran	closed	2017-03-08T18:57:21+01:00	2017-03-20T21:08:38+01:00	"When I was trying to migrate a mailbox, I want to use roundcube to check if the mailbox has been copied and whether there are any problems.

However, the roundcube client doesn't seem to allow logins, since there is a connection error:

{{{#!sh
Unable to negotiate TLS in /usr/share/roundcube/program/lib/Roundcube/rcube_imap.php on line 193 (POST /roundcube/?_task=login?_task=login&_action=login)
}}}

That's possibly due to the fact that the SSL certificates are not yet configured to use the orxonox.net domain?
"	lferran
483	Improve and clean logging system	IT		major	task	closed	lferran	closed	2017-03-09T17:21:19+01:00	2017-03-18T18:56:09+01:00	"Sort out the log folder (/var/log). Currently there are logs with very long rotations that pile up there.

Also some log files are huge! Maybe we should consider setting the verbosity of some applications a bit lower!"	lferran
484	Migrate mailing lists	IT		major	task	closed	lferran	closed	2017-03-18T12:39:23+01:00	2017-03-20T10:22:02+01:00	"From the old server, the following mailing lists must be migrated (according to #458):

Contact 
Orxonox-announce
Orxonox-commit
Orxonox-dev
Tickets

The procedure to migrate mailing lists is described in wiki:IT/Migration/Mailman"	lferran
485	Configure mail forwardings for contributors	IT		major	task	closed	lferran	closed	2017-03-18T13:11:59+01:00	2017-03-20T14:50:58+01:00	"In order to have all users be able to change their LDAP passwords, they all need to have a orxonox mailbox, since SSP (change password tool) requires a password for that effect.

Since we can't migrate old passwords, everyone will get a random password and has to reset it with ssp->send mail tool

Contributor X gets email address X.at.orxonox.net, which is forwarded to x.at.students.ethz.ch by default (maybe some exceptions can be handled), which means that everyone can use ssp to get a new pass, and some mail features in trac and jenkins will also work because they will send notifications to <user>.at.orxonox.net

Check the following links to configure the email forwardings wiki:/IT/Email#Emailredirects"	lferran
486	Migrate WebIRC	IT		minor	task	closed	landauf	closed	2017-03-20T23:08:40+01:00	2017-04-16T14:53:48+02:00		landauf
487	Increase mailserver SSL rating	IT		minor	task	closed	landauf	closed	2017-03-25T17:37:50+01:00	2017-03-25T17:38:05+01:00	"e.g. here:

* http://www.checktls.com/perl/TestReceiver.pl
* https://de.ssl-tools.net/mailservers/orxonox.net"	landauf
488	svn.orxonox.net redirects HTTP to HTTPS	IT		critical	defect	closed		closed	2017-04-10T22:59:10+02:00	2017-04-10T23:29:22+02:00	"In general it seems to be possible to access http://svn.orxonox.net/ (i.e. without HTTPS and without login) but once the Webbrowser has accessed https://svn.orxonox.net/ (i.e. with HTTPS and login) all subsequent calls to HTTP are forwarded to HTTPS.

It might be due to the ""improved"" SSL-Settings (see #475) which include  HSTS ([https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security]) but this is just a wild guess."	landauf
489	Docker slaves don't work anymore in Jenkins	IT		minor	defect	closed		closed	2017-05-26T15:36:24+02:00	2017-05-26T15:38:24+02:00	"{{{
[05/26/17 15:27:06] [SSH] Checking java version of java
[05/26/17 15:27:06] [SSH] java -version returned 1.7.0_131.
[05/26/17 15:27:06] [SSH] Starting sftp client.
[05/26/17 15:27:06] [SSH] Copying latest slave.jar...
[05/26/17 15:27:06] [SSH] Copied 719,269 bytes.
Expanded the channel window size to 4MB
[05/26/17 15:27:06] [SSH] Starting slave process: cd ""/home/jenkins"" && java  -jar slave.jar
<===[JENKINS REMOTING CAPACITY]===>channel started
Slave JVM has not reported exit code. Is it still running?
[05/26/17 15:27:10] Launch failed - cleaning up connection
[05/26/17 15:27:10] [SSH] Connection closed.
ERROR: Connection terminated
java.io.EOFException
	at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2638)
	at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3113)
	at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:853)
	at java.io.ObjectInputStream.<init>(ObjectInputStream.java:349)
	at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:48)
	at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34)
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:59)
Caused: java.io.IOException: Unexpected termination of the channel
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:73)
}}}"	landauf
490	Improve OrxoBros	AI		minor	enhancement	new	nobody	new	2017-10-09T15:48:23+02:00	2019-02-28T15:43:18+01:00	"During a previous PPS, students created their own version of Super Mario Bros. It is a great MiniGame with a lot of potential.

Possible enhancements:[[BR]]
-Growing Orxo when collecting mushrooms[[BR]]
-Using tunnels[[BR]]
-Collecting bonus lifes[[BR]]
-Creating new levels[[BR]]
etc.

[[Image(http://svn.orxonox.net/game/data/trunk/images/levelpreviews/SOB.png, 600px)]]"	patricwi
491	Enhance Towerdefense	misc		minor	enhancement	new	nobody	new	2018-03-15T13:31:30+01:00	2019-02-28T15:42:22+01:00	"The tower defense minigames is really basic and shows many opportunities to improve. 
The UI is rudimentary and should be prettyfied. 
The attack radius of the towers should be displayed. 
The upgrade system is unclear. 
Maybe add different attacker types or more types of towers. 
Overhaul the controlscheme for mouse use.
Play with your imagination."	merholzl
492	Pacman Ghost AI	AI	0.1	minor	enhancement	new	nobody	new	2019-02-21T15:30:21+01:00	2019-02-28T15:41:22+01:00	"At the moment the ghosts move randomly. Create new controllers, simmilar to the original game. Namely Blinky, Pinky, Inky, Clyde.

Additionally try to improve the controls.

The code of the current controller can be found under:
[https://www.orxonox.net/browser/code/branches/trunk/src/modules/pacman src/modules/pacman]

Helpful link:
[https://dev.to/code2bits/pac-man-patterns--ghost-movement-strategy-pattern-1k1a]

[[Image(pacman_ghosts.png, 600px)]]

"	wiesep
493	Pacman Ghost AI	AI		minor	enhancement	closed	nobody	closed	2019-02-21T15:35:28+01:00	2019-02-21T15:43:38+01:00	"At the moment the ghost move mostly random. Create a new controller which controls the ghosts similar to the original game.

The current code can be found under:
[https://www.orxonox.net/browser/code/trunk/src/modules/pacman /code/trunk/src/modules/pacman]

Useful Link:
https://dev.to/code2bits/pac-man-patterns--ghost-movement-strategy-pattern-1k1a

"	wiesep
494	Spaceship with BumpMap	AI	0.1	minor	new feature	new	nobody	new	2019-02-21T16:16:34+01:00	2019-02-28T15:41:08+01:00	"Use the new implemented wiki:content/BumpMapping feature to enhance the quality of the models.
You can create your own model or use an existing one, eg.:

[http://svn.orxonox.net/game/data/contentcreation/orx_artists/SimonWenner/human_transporter/ SpaceShip Transporter] by Simon Wenner  

[[Image(SpaceShip.png, 600px)]]


[http://svn.orxonox.net/game/data/contentcreation/orx_artists/SimonWenner/noxon_scout/ Noxon Scout] by Simon Wenner


[[Image(Noxon-Scout.png, 600px)]]"	wiesep
