public void start() {
		CountdownTimer.setDELTA_TARGET(Constants.DELTA_TARGET);
		game = Game.getInstance();

		final int DELTA_TARGET_NANOS = Constants.DELTA_TARGET * 1000 * 1000 * TICK_RENDER_RATIO;

		while (true) {
			long timeStart = System.nanoTime();

			BufferStrategy bs = getBufferStrategy();
			if (bs == null) {
				createBufferStrategy(3);
				continue;
			}

			// ##### tick and render #####
			for (int i = 0; i < TICK_RENDER_RATIO; i++)
				tick();
			render(bs.getDrawGraphics());

			if (bs != null)
				bs.show();

			regulateFPS(timeStart, DELTA_TARGET_NANOS);
		}
	}