public void run() {

        // Сначала нужно проинициализировть данные откуда то
        // Создать мир
        this.init();

        long startTime;
        long currentTime;
        startTime = System.currentTimeMillis();

        while (true) {
            // Допустим, я не хочу чтобы игра просчитывалась чаще чем 60 раз в секунду.
            // Вообщем 17 миллисекунд на проход
            currentTime = System.currentTimeMillis();
            if ((currentTime - startTime) < MIN_ITERATION_TIME) {
                try {
                    Thread.sleep(MIN_ITERATION_TIME - (currentTime - startTime));
                } catch (Exception ex) {
                }
            }
            startTime = System.currentTimeMillis();
            gameTime = startTime;


            // Тут выполняется цикл обсчёта игры
            // Игра в целом состоит из ряда игровых зон
            // Так же из объектов перемещающихся между игорвыми зонами
            // Происходящее в одной игровой зоне МОЖЕТ влиять на происходящее в другой.
            // Напрмер - потерян ретранслятор, тогда в другой системе корабли теряют управление.

            // Каждая игровая зона обсчитывается в своём потоке.(?)


            Iterator it = areas.entrySet().iterator();
            while (it.hasNext()) {
                Map.Entry m = (Map.Entry) it.next();
                GameArea area = (GameArea) m.getValue();
                area.update();
            }

        }




    }