Index: code/branches/surfaceraceHS14/src/modules/dodgerace2/CMakeLists.txt
===================================================================
--- code/branches/surfaceraceHS14/src/modules/dodgerace2/CMakeLists.txt	(revision 10135)
+++ code/branches/surfaceraceHS14/src/modules/dodgerace2/CMakeLists.txt	(revision 10152)
@@ -3,4 +3,5 @@
 DodgeRaceCenterPoint.cc
 DodgeRaceShip.cc
+DodgeRaceCube.cc
 DodgeRaceHUDinfo.cc
 )
Index: code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRace.cc
===================================================================
--- code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRace.cc	(revision 10135)
+++ code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRace.cc	(revision 10152)
@@ -34,4 +34,5 @@
 #include "DodgeRace.h"
 #include "DodgeRaceShip.h" // Necessary for getPlayer function. Do NOT include this in Header!
+#include "DodgeRaceCube.h"
 
 namespace orxonox
@@ -59,4 +60,5 @@
         b_combo = false;
         counter = 0;
+        pattern = 1;
         lastPosition = 0;
         // spawn enemy every 3.5 seconds
@@ -94,14 +96,40 @@
 			lastPosition = currentPosition;
 
-			if(counter >= 5000)
+			for(int i=0; i< cubeList.size();i++)
+			{
+				if(cubeList.at(i)->getPosition().x < currentPosition-3000)
+				{
+					cubeList.at(i)->destroy();
+					cubeList.erase(cubeList.begin()+i);
+				}
+			}
+
+			if(counter >= 3000)
 			{
 				counter = 0;
 
-				WeakPtr<StaticEntity> stentity = new StaticEntity(this->center_->getContext()); //this->center_->getContext()
-				stentity->addTemplate("DodgeRaceCube01");
-
-				stentity->setPosition(getPlayer()->getWorldPosition() + Vector3(5000, 0, 0));
-				//stentity->setScale3D(50,50,50);
+				for(int i = 0; i<6; i++)
+				{
+					WeakPtr<DodgeRaceCube> cube = new DodgeRaceCube(this->center_->getContext());
+					cubeList.push_back(cube);
+					switch(pattern)
+					{
+					case 1: cube->addTemplate("DodgeRaceCube01");
+					break;
+					case 2:	cube->addTemplate("DodgeRaceCube02");
+					break;
+
+					}
+
+					cube->setPosition(getPlayer()->getWorldPosition() + Vector3(5000, 0, -3600 + (i*1200)));
+					//stEntity->setScale3D(50,50,50);
+				}
+
+
+				pattern %= 2;
+				pattern ++;
+
 			}
+
     	}
     	SUPER(DodgeRace, tick, dt);
@@ -166,5 +194,13 @@
     void DodgeRace::start()
     {
+    	orxout() << "start function called." << endl;
         init();
+		for(int i=0; i< cubeList.size();i++)
+		{
+			cubeList.at(i)->destroy();
+			cubeList.erase(cubeList.begin()+i);
+
+		}
+        cubeList.clear();
         // Set variable to temporarily force the player to spawn.
         this->bForceSpawn_ = true;
Index: code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRace.h
===================================================================
--- code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRace.h	(revision 10135)
+++ code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRace.h	(revision 10152)
@@ -51,4 +51,5 @@
 #include "gamestates/GSLevel.h"
 #include "chat/ChatManager.h"
+#include <vector>
 
 // ! HACK
@@ -96,4 +97,5 @@
             int multiplier;
             int counter;
+            int pattern;
             int currentPosition;
             int lastPosition;
@@ -102,4 +104,5 @@
             WeakPtr<DodgeRaceShip> getPlayer();
             WeakPtr<DodgeRaceShip> player;
+            std::vector<DodgeRaceCube*> cubeList;
             void toggleShowLevel(){bShowLevel = !bShowLevel;}
             void addPoints(int numPoints);
Index: code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRaceCube.cc
===================================================================
--- code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRaceCube.cc	(revision 10152)
+++ code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRaceCube.cc	(revision 10152)
@@ -0,0 +1,46 @@
+/*   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Samuel Riedel
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DodgeRace.cc
+    @brief Implementation of the DodgeRace class.
+*/
+
+#include "DodgeRaceCube.h"
+#include "DodgeRace.h"
+
+namespace orxonox
+{
+	RegisterClass(DodgeRaceCube);
+
+	DodgeRaceCube::DodgeRaceCube(Context* context) : MovableEntity(context)
+	{
+		RegisterObject(DodgeRaceCube);
+	}
+
+
+}
Index: code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRaceCube.h
===================================================================
--- code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRaceCube.h	(revision 10152)
+++ code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRaceCube.h	(revision 10152)
@@ -0,0 +1,54 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Samuel Riedel
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file DodgeRace.h
+    @brief Gametype.
+    @ingroup DodgeRace
+*/
+
+#ifndef _DodgeRaceCube_H__
+#define _DodgeRaceCube_H__
+
+#include "dodgerace2/DodgeRacePrereqs.h"
+
+#include "worldentities/MovableEntity.h"
+
+
+namespace orxonox
+{
+    class _DodgeRaceExport DodgeRaceCube : public MovableEntity
+    {
+       public:
+            DodgeRaceCube(Context* context);
+
+       private:
+    };
+}
+
+#endif /* _DodgeRaceCube_H__ */
Index: code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRacePrereqs.h
===================================================================
--- code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRacePrereqs.h	(revision 10135)
+++ code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRacePrereqs.h	(revision 10152)
@@ -71,4 +71,5 @@
     class DodgeRaceCenterPoint;
     class DodgeRaceShip;
+    class DodgeRaceCube;
     //class DodgeRaceEnemy;
     //class DodgeRaceEnemyShooter;
Index: code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRaceShip.cc
===================================================================
--- code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRaceShip.cc	(revision 10135)
+++ code/branches/surfaceraceHS14/src/modules/dodgerace2/DodgeRaceShip.cc	(revision 10152)
@@ -75,4 +75,5 @@
                 velocity.y = 0;
                 // restart if game ended
+                /*
                 if (getGame())
                     if (getGame()->bEndGame)
@@ -80,5 +81,5 @@
                         getGame()->start();
                         return;
-                    }
+                    }*/
             }
             /*
