Obstacle Object_movement(Obstacle obst, vec3 obj_pos, float force, vec3 direction) { float moved_X = obst.getPostion().x + direction.x * force * 0.01f; float moved_Z = obst.getPostion().z + direction.z * force * 0.01f; obst.setPosition(vec3(moved_X, ypos, moved_Z)); float force2 = force; force2 -= 0.01f; force2 = clamp(force2, 0.0f, 10.0f); obst.setForce(force2); if (force > 0.0f) { cout << force << endl; cout << "direction " << direction.x << ", " << direction.z << endl; cout << "position " << obj_pos.x << ", " << obj_pos.z << endl; } return obst; }