Index: code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.cc
===================================================================
--- code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.cc	(revision 8881)
+++ code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.cc	(revision 8898)
@@ -34,4 +34,6 @@
 #include "util/Math.h"
 
+#include "items/Engine.h"
+
 namespace orxonox
 {
@@ -44,5 +46,10 @@
         this->bTimeIsUp_ = false;
         this->numberOfBots_ = 0;
+        
     }
+    
+  // void SpaceRace::SetConfigValues(){
+    //SUPER(Gametype,setConfigValues);
+    //this->Gametype::SetConfigValue(initialStartCountdown_, 3.0f);}
 
     void SpaceRace::end()
@@ -81,11 +88,54 @@
 
     void SpaceRace::start()
-    {
-        Gametype::start();
-
+    {	int i=0;
+        for(ObjectList<Engine>::iterator it = ObjectList<Engine>::begin(); it; ++it)
+        {this->maxSpeedBack_[i]=it->getMaxSpeedBack();
+        this->maxSpeedFront_[i]=it->getMaxSpeedFront();
+        this->maxSpeedLeftRight_[i]=it->getMaxSpeedLeftRight();
+        this->maxSpeedUpDown_[i]=(it->getMaxSpeedUpDown());
+        
+        it->setMaxSpeedBack(0);
+        it->setMaxSpeedFront(0);
+        it->setMaxSpeedLeftRight(0);
+        it->setMaxSpeedUpDown(0);
+        
+        i++;
+        }
+        //Gametype::start();
+        this->addBots(this->numberOfBots_);
+   this->spawnPlayersIfRequested();
+   
+   	
+       Gametype::checkStart();
+	
+	i=0;
+     for(ObjectList<Engine>::iterator it = ObjectList<Engine>::begin(); it; ++it)
+        {
+        it->setMaxSpeedBack(this->maxSpeedBack_[i]);
+         it->setMaxSpeedFront(this->maxSpeedFront_[i]);
+         it->setMaxSpeedLeftRight(this->maxSpeedLeftRight_[i]);
+         it->setMaxSpeedUpDown(this->maxSpeedUpDown_[i]);
+         i++;
+         
+      
+        }
+		delete &this->maxSpeedBack_;
+		delete &this->maxSpeedFront_;
+		delete &this->maxSpeedLeftRight_;
+		delete &this->maxSpeedUpDown_;
         std::string message("The match has started! Reach the check points as quickly as possible!");
         const_cast<GametypeInfo*>(this->getGametypeInfo())->sendAnnounceMessage(message);
         ChatManager::message(message);
+      
     }
+
+	void SpaceRace::tick(float dt)
+	{SUPER(SpaceRace,tick,dt);
+	
+	
+		//if(const_cast<GametypeInfo*>(this->getGametypeInfo())->isStartCountdownRunning()){
+		//const_cast<GametypeInfo*>(this->getGametypeInfo())->start();}
+	}
+	
 
     void SpaceRace::newCheckpointReached()
Index: code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.h
===================================================================
--- code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.h	(revision 8881)
+++ code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.h	(revision 8898)
@@ -34,4 +34,5 @@
 #include <set>
 #include <string>
+#include <vector>
 
 #include <util/Clock.h>
@@ -57,5 +58,5 @@
             virtual void start();
             virtual void end();
-
+		
             virtual void newCheckpointReached();
 
@@ -66,8 +67,9 @@
             inline void timeIsUp()
                 { this->bTimeIsUp_ = true;}
-
+	void tick(float dt);
         protected:
 
         private:
+	std::vector<float> maxSpeedBack_; std::vector<float> maxSpeedFront_; std::vector<float> maxSpeedLeftRight_; std::vector<float> maxSpeedUpDown_;
             int checkpointsReached_; //The current number of check points reached by the player.
             std::set<float> scores_; //The times of the players are saved in a set.
Index: code/branches/spaceraceTwo/src/orxonox/gametypes/Gametype.cc
===================================================================
--- code/branches/spaceraceTwo/src/orxonox/gametypes/Gametype.cc	(revision 8881)
+++ code/branches/spaceraceTwo/src/orxonox/gametypes/Gametype.cc	(revision 8898)
@@ -123,5 +123,5 @@
         if (this->gtinfo_->isStartCountdownRunning() && !this->gtinfo_->hasStarted())
             this->gtinfo_->countdownStartCountdown(dt);
-
+			
         if (!this->gtinfo_->hasStarted())
         {
@@ -129,14 +129,16 @@
             {
                 // Inform the GametypeInfo that the player is ready to spawn.
-                if(it->first->isHumanPlayer() && it->first->isReadyToSpawn())
+                if(it->first->isHumanPlayer() && it->first->isReadyToSpawn()){
                     this->gtinfo_->playerReadyToSpawn(it->first);
-            }
-                    
-            this->checkStart();
+                   
+                }
+            }
+                 
+           	this->checkStart();
         }
         else if (!this->gtinfo_->hasEnded())
-            this->spawnDeadPlayersIfRequested();
-
-        this->assignDefaultPawnsIfNeeded();
+           { this->spawnDeadPlayersIfRequested();
+
+        this->assignDefaultPawnsIfNeeded();}
     }
 
Index: code/branches/spaceraceTwo/src/orxonox/gametypes/Gametype.h
===================================================================
--- code/branches/spaceraceTwo/src/orxonox/gametypes/Gametype.h	(revision 8881)
+++ code/branches/spaceraceTwo/src/orxonox/gametypes/Gametype.h	(revision 8898)
@@ -156,4 +156,6 @@
             virtual void resetTimer(float t);
 
+	
+
         protected:
             virtual SpawnPoint* getBestSpawnPoint(PlayerInfo* player) const;
Index: code/branches/spaceraceTwo/src/orxonox/infos/GametypeInfo.cc
===================================================================
--- code/branches/spaceraceTwo/src/orxonox/infos/GametypeInfo.cc	(revision 8881)
+++ code/branches/spaceraceTwo/src/orxonox/infos/GametypeInfo.cc	(revision 8898)
@@ -71,7 +71,7 @@
         this->bStarted_ = false;
         this->bEnded_ = false;
-        this->startCountdown_ = 0.0f;
+        this->startCountdown_ = 10.0f;
         this->bStartCountdownRunning_ = false;
-        this->counter_ = 0;
+        this->counter_ = 10;
         this->spawned_ = false;
         this->readyToSpawn_ = false;
