Парень разрабатывает игру с 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/

Лига Разработчиков Видеоигр

6.6K постов22.1K подписчиков

Добавить пост

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

ЗАПРЕЩЕНО:

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

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

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


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

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

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

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

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

Вы смотрите срез комментариев. Показать все
33
Автор поста оценил этот комментарий

Все говорят про No Man's Sky, хотя с 2013 года есть Space Engeneers, в которой уже есть все то, что NMS только обещают.

раскрыть ветку (40)
44
Автор поста оценил этот комментарий
Так там всего пара планет, нет рандомной генерации мира и существ в отличае от ская
раскрыть ветку (28)
33
Автор поста оценил этот комментарий

и планеты лагают

ещё комментарии
5
Автор поста оценил этот комментарий

Рандомная генерация в планах. Та пара стоковых планет (4 шт) были сгенерены рандомно, но после этого подправлены людьми ради живописности и они охрененные. Астеройды, кстати, уже генерятся рандомно и они тоже охрененные. В модах, кстати, еще куча сделанных людьми планет, но большинство мододелов ждут тулкит для создания оных(в планах). С каждым обновлением (по четвергам) у меня становится выше ФПС. Загляни как-нить в игру. Будешь приятно удивлен) И существа там тоже есть) Пока не рандомные и на каждой планете свои.


Кстати, вангую что 2 рандомные планеты в скае будут не сильно отличаться друг от друга (ибо рандомиться там может только рельеф в каких-то пределах, цвет атмосферы и обитатели)

раскрыть ветку (15)
1
Автор поста оценил этот комментарий
Астеройды, кстати, уже генерятся рандомно

Как давно они были не рандомными, и были ли вообще?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

25 Декабря 2014 вышло обновление с процедурной генерацией астероидов.

Версия 1.062

https://www.youtube.com/watch?v=ZF9Wnyss69k

Автор поста оценил этот комментарий
Ну хз я рандомные планеты видел ток в spor и там все было збц хотя раундом был полный
раскрыть ветку (12)
1
Автор поста оценил этот комментарий

В Spore планеты не рандомные. Они изначально прописаны авторами игры. Единственное, что меняется - это название твоей родной планеты.

раскрыть ветку (11)
1
Автор поста оценил этот комментарий

> В Spore планеты не рандомные. Они изначально прописаны авторами игры.
И не заеблись авторы "прописывать" 100+ тысяч планет?

> Единственное, что меняется - это название твоей родной планеты.
Это не означает, что оно не было рандомно сгенерировано заранее.

раскрыть ветку (9)
Автор поста оценил этот комментарий
Не заеблись, учитывая что через пару часов ненапряжной игры начинаешь замечать, что планет-то на самом деле нихуя не 100+ тысяч, а в пределах сотни, просто разного цвета.

А генерируется имя не рандомно, а из фонем и по правилам.
раскрыть ветку (8)
Автор поста оценил этот комментарий

> планет-то на самом деле нихуя не 100+ тысяч, а в пределах сотни, просто разного цвета
Нет, у них у всех разная поверхность и другие параметры сгенерированные специальными алгоритмами.

> А генерируется имя не рандомно, а из фонем и по правилам
Поиграю в капитана.
1) Все рандомы во всех играх на сам деле являются псевдорандомными, и реализуются в основном несложными функциями от ключа/предыдущего значения. В общем - по простым правилам.
2) Весь "рандомно" генерируемый контент во всех играх генерируется по правилам на основе предзаданных настроек.
3) Разработчики Spore не прописывали эти самые настройки генерации имен/поверхностей/положения/прочего вручную каждой из 100+ тысяч планет. Если смотреть по стеку правил дающих конечный результат, среди них все равно встретится те самые правила "рандома", выше или ниже.

раскрыть ветку (7)
Автор поста оценил этот комментарий

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

Разумеется спустя некоторое время игрок начинает встречать одни и те же виды планет, просто раскрашенные иначе, но обычно этого не замечает, ибо с орбиты разглядывать нечего, а на поверхности он каждый раз летает летает:
1) С другой стороны
2) Под другим углом


Вот вы сами и уточнили, что генерируются не рандомно, а по шаблону. Есть всё же отличие, м?)

раскрыть ветку (6)
Автор поста оценил этот комментарий

> Планеты генерируются довольно просто.
> Есть определённая пачка пресетов поверхности
В код смотрел?
> нельзя встетить на "рандомных" планетах характерный круглый паттерн плоской поверхности
То то города не стоят на искусственных равнинах не значит что их позиция не является псевдослучайной. Это лишь значит что при выборе позиции отсеиваются неподходящие территории.
> Вот вы сами и уточнили, что генерируются не рандомно
Рандом каким он подразумевается в любой другой игре в Spore есть. Настоящего рандома нет вообще нигде, даже в разбросе при стрельбе в шутерах.
> не рандомно, а по шаблону
По правилам, а не по шаблону. В том же майнкрафте карта генерируется по правилам. А параллель "уникальных инструментов терраформирования" - те же деревни и другие структуры.

раскрыть ветку (5)
Автор поста оценил этот комментарий

>В код смотрел?

Играл много. И сам немножко технарь.


>отсеиваются неподходящие территории

Ага, значит довольно сложную отсеивалку встраивать и идеально отлаживать для миллиардов потенциально рандомных планет не трудно, а просто наклепать сотню поверхностей - непосильный труд. Про бритву Оккама слышали?


>Настоящего рандома нет вообще нигде

Ну хз, у меня в /dev/random живёт немножко.


>По правилам, а не по шаблону

По шаблону. Есть карта высот, на ней размечены области под леса и прочую срань. Всё что рандомно - расположение растений, существ и материал/цвет.
По правилам - это несколько другое. Это если бы генератор знал, что нужно 38% воды, 62% суши, 44% суши покрыто лесами, расстояние от города до леса не менее 100 юнитов и так далее.
Разница заметна?

раскрыть ветку (4)
Автор поста оценил этот комментарий
Оу не знал
2
Автор поста оценил этот комментарий

Посмотри Space Engine, там есть вселенная со своими галактиками, звездами и планетами на которых можно высадиться и осмотреться(правда они ещё немного пустоваты пока нету корованов)

раскрыть ветку (3)
2
Автор поста оценил этот комментарий
Ну это ведь симулятор генерации космоса, из него игру не будут делать, но так да виды там захватывают до мурашек
раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Будут. Когда автору накапает ещё 35 тысяч президентов, будет полноценная игра. Кстати разрабатывается тоже одним человеком, он ради этого дела уже бросил основную работу и живёт на донат. http://www.spaceengine.org/index/donate/0-36

раскрыть ветку (1)
Автор поста оценил этот комментарий
Как-бы он там с голоду копыта не откинул :(
8
Автор поста оценил этот комментарий

"Галактика" маловата в SE, много раздельных серверов. (нет общего) и в целом лютая нагрузка на хост. Даже мощные сервера расчитанны на 16 игроков, ибо все любят мастерить ктулху утыканные сотней турелей.

раскрыть ветку (7)
2
Автор поста оценил этот комментарий

Турели пофиксили. Но проблема тем не менее осталась. Все хотят чтобы их Грендайзеры автоматически собирали ценную руду, потом отправляли на переработку, и потом сами строили армаду (а то и 10 ) и вешают кучу датчиков, блоков с говнокодом и прочего наукоемкого барахла. Если особо не заморачивать процесс, то все ок. на 20 игроков спокойно и фаново делали TDM на 2 платформы в формате 15/15 (время на постройку/время на уничтожение). Это было охрененно.


Галактика - да. По объему куб как до Юпитера, кстати, это дохрена. Из центра до предела на релятивистских скоростях не долететь (летишь медленно - уйдет больше нескольких лет. Летишь быстро - вляпаешься в какой-нить астеройд) Это уже потом добавили джамп драйв...

раскрыть ветку (6)
1
Автор поста оценил этот комментарий

Я что-то пропустил? в последний раз я включал SE в начале 2015, и тогда там не было кораблей (точнее были, но управлялись через жопу), генерация всего была процедурной, а размер галактики соответствовал реальной.


Или теперь туда добавили помимо классического мира еще и уменьшенный "игровой" с кораблями и прочими радостями?

раскрыть ветку (5)
1
Автор поста оценил этот комментарий

Там всегда были миры с начальными кораблями. Но теперь с осени там еще есть и планеты. Можешь кстати  проверить, что там, хотя роторы и поршни по-прежнему опаснее боеголовки хД

1
Автор поста оценил этот комментарий

Игровой мир раньше ограничивался на выбор 5 10 20... км. Сейчас он не ограничен, вернее физически радиус ограничен 6.6 астрономическими единицами. Связано это с ограничениями работы физического движка (прим. 1 астрономическая единица = расстояние от земли до солнца, т.е. дохрена.)

И да, из одной части системы можно запустить кинетический снаряд в противоположный на релятивистской скорости и если тот не столкнется с препятствием, то спокойно долетит туда через несколько десятков лет...

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

pashenka говорит про SE(Space Engineers) а Lerosh про SE(Space Engine)

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Получается да)

Автор поста оценил этот комментарий
Стоп, то есть в SE есть и второй мир, помимо процедурного? А скачивать его отдельно надо, или он заранее есть? Короче, ушел качать.

На счет расстояния что-то не сходится. 6 ае на релятивистской скорости преодолевается за 108 минут, а никак не за несколько десятков лет. Даже наши спутники на своих ничтожных кораблях пролетают это расстояние лет за пять.
1
Автор поста оценил этот комментарий

Да потому что у людей больше одного названия в голову не помещается. Все запомнили no man's sky, и теперь каждый раз, когда видят игру про космос, говорят "ЭТО КАК NO MAN'S SKY!!1!".

Таких игр много уже выходило.

раскрыть ветку (2)
Автор поста оценил этот комментарий
Потому что с рандомной генерацией планет новых игр кроме no man's sky нету
раскрыть ветку (1)
Автор поста оценил этот комментарий
Pulsar, Rodina, Empyrion. Это только то, что сразу вспомнил.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку