← Все записи
← →

Space War 3: третья версия, уже на Unity

2012–2017

Первый Space War я написал на Паскале в 1999 году: два кораблика, которые стреляют друг в друга. В 2000-м был Space War 2K, один движок на три игры. А в декабре 2012-го, когда я уже работал в Unity, я взялся за третью версию.

Space War 3 в браузере: корабль, планеты с воздушными шарами и астероиды

Space War 3, WebGL-сборка 2017 года. Запустил её снова для этого поста.

С чего началось. Первый коммит, 15 декабря 2012: «Ship fly 2D polygons». Вторым коммитом я перенёс ресурсы из Space War 2K. За первые две недели в игре появились:

  • пушка, пули, два корабля и полоска здоровья;
  • двигатели, урон от столкновений и случайный респаун;
  • миникарта;
  • замкнутый космос.

Космос был как в старых играх: вылетел за правый край — появился слева. Чтобы корабль у края было видно с обеих сторон, я поставил восемь дополнительных камер вокруг основной. Под Новый год добавились ракеты с уроном по площади и самонаведением.

В январе 2013-го появились AI, режим Bot Wars, где боты дерутся друг с другом, очки и главное меню. 13 января я пометил это как версию 0.1. Весной собрал версию под Flash. В меню на фоне до сих пор крутится заставка «Загрузка…», которую я рендерил в 3ds Max для Space War 2K в 2000 году.

Главное меню Space War 3 на фоне заставки из Space War 2K

Режимы: HotSeat — двое за одной клавиатурой, Single — против ботов (до пяти), и Bot Wars.

Команда на энтузиазме. В 2014 году Unity получил нормальный 2D. Я переписал игру на 2D-коллайдеры, а восемь камер заменил на границу космоса. Добавил экранный джойстик для Android. В марте ко мне присоединился Павел: он делал системы частиц, астероиды с картами нормалей и новые корабли. Корабли, астероиды и летающий завод на шарах рисовала Лиза.

Договорились мы в скайпе. Я написал короткий договор:

  • разработчик не распространяет исходники;
  • он имеет право быть в титрах, на доступ к репозиторию и на то, чтобы уйти в любой момент;
  • весь контент принадлежит автору проекта;
  • оплата не гарантируется, пока проект не окупится.

Павел ответил: «я так и представлял, чистый энтузиазм и ничего более в процессе». В мае 2014 года игра уже стояла на spacewar.kindex.lv.

Наброски кораблей, летающий завод и карандашный эскиз платформы

Арт 2014 года: наброски кораблей, завод на воздушных шарах и эскиз платформы на бумаге.

Второй заход. Потом проект два года только переезжал на новые версии Unity. В ноябре 2016-го я снова за него сел и за два месяца добавил:

  • новые взрывы и HUD;
  • снайперскую пулю, рикошеты, дробовик;
  • аптечки и случайные ящики с боеприпасами;
  • банан и супербанан — привет Worms;
  • ракету с дистанционным управлением, мини-ракеты, атомную бомбу.

Боты научились стратегии: подбирали боеприпасы, запоминали, кто их атаковал, и мстили. В январе 2017-го у кораблей появились способности на энергии: закрылки для резких поворотов, невидимость, щит и телепорт. Появился и новый корабль «Гриша». Последний коммит — 14 января 2017: «Teleport. Energy». Перед ним была заглушка сетевой игры, до которой дело так и не дошло.

Бой против пяти ботов: ракеты, взрыв, ящики с боеприпасами.

Взрыв ракеты возле астероида

Игру я не доделал: нет ни уровней, ни сети. Но летать, стрелять и драться с ботами в ней можно. Три версии одной игры за 18 лет: Turbo Pascal, свой движок на Free Pascal и Unity. В каждой я заново решал одни и те же задачи: поворот корабля, столкновения, бесконечный космос. И каждый раз — лучшими инструментами, чем в прошлый.