Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе

Проект длиною в жизнь

Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе Geektimes, Pegwars, Перфекционизм, Длиннопост

Как показал недавний пример Voxel Quest, создание некоторых компьютерных игр может затянуться надолго. Какой ни установить дедлайн — он обязательно будет просрочен. Особенно если проектом занимается единственный разработчик, очень увлечённый своим делом. Фанатичный автор хочет довести игру до идеала, уделяет внимание каждой мелочи. Такие игры или становятся шедеврами, или не выходят никогда. Обычно второе.

Австралийский разработчик по имени Фил уже 18 с лишним лет тратит свободное время на любимое хобби: создание Самой Лучшей Игры всех времён и народов под названием Pegwars (Political Economic and Galactic Warfare) — политический, экономический и галактический боевой симулятор.


Игроки со стажем должны помнить космический симулятор с элементами космической стратегии под названием Elite. Та игра вышла в 1984 году и стала родоначальником нового игрового жанра, где космические битвы сочетаются с торговыми отношениями.

Маленький Фил впервые увидел Elite, когда ему было 11 лет, и сразу «подсел».

Целых восемь галактик, множество инопланетных рас, миссий, бои в реальном 3D. Настоящая фантастика для компьютеров ZX Spectrum с 48 КБ памяти. Другие игры рядом не стояли рядом с этим шедевром (пока не появился Star Control, конечно, но там уже был немного другой жанр и боевой режим 2D).


Игра навсегда запала в душу парня, и как только он научился программировать по окончании университета, то сразу засел за создание Pegwars. Это было примерно в октябре 1997 года. С годами он всё больше погружался в аспекты гейм-разработки, освоил дизайн, художественное искусство, музыку, научился более профессионально программировать. Спустя много лет недоделанная демка Pegwars помогла ему устроиться на работу в компанию, которая занимается разработкой компьютерных игр. Фил говорит, что даже новое увлечение сочинением электронной музыки появилось во время разработки игрового сопровождения для Pegwars.


Разработка несколько затянулась, мягко говоря. Последние шесть лет Фил ведёт блог, рассказывает о прогрессе и новых фичах, которые внедрил за последние несколько месяцев или год. Новая версия Pegwars раньше выходила примерно раз в два года. Игру постоянно приходится дорабатывать, потому что технологии не стоят на месте, а автор ещё не реализовал все свои задумки.


Например, вот так выглядела первая версия PEGWARS, ещё в режиме 2D, написанная на DirectDraw 2.

Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе Geektimes, Pegwars, Перфекционизм, Длиннопост

Уже в первой версии Фил реализовал примитивный ИИ в боевом режиме, который обучался с использованием генетического алгоритма. У каждого корабля противника был коротенький «фрагмент ДНК», который реагировал на покадровый ввод и выдавал команду для действий корабля. После работы с генетическими алгоритмами Фил вынес урок, что тестирование эволюционирующих генетических алгоритмов следует проводить в модели игры, а не в полной версии, потому что тесты 100 поколений для 100 пилотов занимают слишком много времени.


В версии Pegwars 2.0 автор впервые реализовал трёхмерное игровое пространство в боевом режиме.

Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе Geektimes, Pegwars, Перфекционизм, Длиннопост

В новой версии автор прикрутил слой 3D поверх старого движка 2D и сделал модульные корабли с drag-n-drop редактором, в котором можно было перетаскивать и заменять основной двигатель, подруливающие двигатели, импульсные лазеры и другое оснащение кораблей перед битвой. Если вы забыли добавить двигатели к кораблю, то он вообще никуда не полетит. Со второй версии Фил сконцентрировался на создании полностью модульных кораблей с настраиваемой конфигурацией.


Pegwars 3.0 стала первой версией с 3D-ускорением, сначала с GLIDE, а потом DirectX. Здесь разбитые корабли сразу разлетались на осколки, вплоть до исходных полигонов.

Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе Geektimes, Pegwars, Перфекционизм, Длиннопост

Именно эта версия легла в основу демки, которую Фил показал рекрутерам из компании BigWorld Technology — и они пригласили его на работу. Так мечта парня о работе в индустрии игровой разработки воплотилась в жизнь.


Фил продолжал совершенствовать модульный реактор кораблей, а в четвёртой версии реализовал многое из того, чему научился у коллег в BigWorld Technology, в том числе движок гравитации и более реалистичную космическую графику.

Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе Geektimes, Pegwars, Перфекционизм, Длиннопост

Фил говорил, что на этом этапе у него появилось ощущение, что проект может оказаться слишком сложным для одного человека… Но останавливаться было уже поздно.


В пятой версии Pegwars впервые стало возможным спуститься и приземлиться на поверхность любой планеты в галактике, пересесть на какой-нибудь мотоцикл или автомобиль — и покататься по окрестностям! Реализована высадка на космических станциях, сражения внутри них и повышение собственного уровня в случае побед.

Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе Geektimes, Pegwars, Перфекционизм, Длиннопост

Ещё одна интересная фича — реализация восхода и заката солнца на любой планете. Если вы летите в атмосфере планеты против её вращения, то вскоре увидите восход солнца, при этом воздух проясняется, а небо расцвечивается в цвета восхода. При продолжении движения в том же направлении солнце поднимается дальше вверх, а затем опускается позади корабля.


Создание пятой версии заняло несколько лет. Фил продолжал писать на C++. Он говорит, что из-за этого разработка продвигалась более медленно, чем могла бы при использовании сценарных языков. С каждым новым модулем игра разрасталась, её становилось всё труднее поддерживать.


Фил понял, что движок надо переписывать с нуля — и в 2010 году приступил к созданию принципиально новой версии Pegwars

Новая версия

За пять с лишним лет движок почти полностью готов, на прошлой неделе автор поделился последними новостями проекта. В последнее время он уделил больше всего времени совершенствованию шаблонных планет и атмосфер, добавил процедуры для туманностей и искусственный интеллект. Фил говорит, что сейчас игра почти достигла той стадии, когда он готов опубликовать видео. Наверное, в ближайшие год-два он решится на это.


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



Например, так выглядит одна из планет с пустынным ландшафтом, похожим на Австралию.

Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе Geektimes, Pegwars, Перфекционизм, Длиннопост

А вот результат работы прототипа движка по рендерингу облаков.

Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе Geektimes, Pegwars, Перфекционизм, Длиннопост

Облака раньше отображались по картинкам, но автор хочет использовать систему рендеринга частиц или клеточный автомат на GPU для генерации реальных процедурных облаков на каждой планете, в соответствии с физическими условиями этого мира. Облака встроены в шейдер рассеивания атмосферы, так что они тоже подсвечиваются при закатах и рассветах и отбрасывают тени. Такой подход выгоден тем, что можно внедрять туда произвольные объекты и пролетать сквозь облака.

Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе Geektimes, Pegwars, Перфекционизм, Длиннопост

Вот ещё несколько скриншотов из последней версии игры.


Планета с тёмным солнцем

Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе Geektimes, Pegwars, Перфекционизм, Длиннопост

Вид на солнце из кратера на луне

Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе Geektimes, Pegwars, Перфекционизм, Длиннопост

Взлёт с поверхности планеты с какими-то розовыми кристаллами

Парень разрабатывает игру с 1997 года и регулярно отчитывается о прогрессе Geektimes, Pegwars, Перфекционизм, Длиннопост

Источник оригинальной статьи: https://geektimes.ru/post/277502/

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"