Camera::Camera(int width, int height, const Vector<float> *target)
 : target(target), halfWidth(width / 2), halfHeight(height / 2) {
-       assert(target && "construct camera without target");
+
 }
 
 
 void Camera::SetTarget(const Vector<float> *t) {
-       assert(t && "cannot change camera target to 0");
        target = t;
 }
 
 
 Vector<int> Camera::CalculateOffset() const {
-       return Vector<int>(
-                       (target->X() - halfWidth) * -1,
-                       (target->Y() - halfHeight) * -1);
+       if (target) {
+               return Vector<int>(
+                               (target->X() - halfWidth) * -1,
+                               (target->Y() - halfHeight) * -1);
+       } else {
+               return Vector<int>();
+       }
 }
 
 }
 
        Entity *controlled;
        Entity *pushed;
        app::Timer<float> moveTimer;
-       geometry::Vector<float> tempTarget;
        geometry::Vector<int> lastLock;
        graphics::Camera camera;
        std::vector<Entity *> entities;