Процедурные планеты на WebGL

После ряда обсуждений, с ребятами, проекта Dreams Gate на WebGL. Пришел к выводу, что периодически возникает сложность в понимании. Особенно, если это касается размеров, процедурной генерации, форматов файлов, сетевой части и других весьма важных моментов. И один из таких «весьма важных» элементов это как раз процедурные планеты в проекте. Планеты создаются на лету, им не требуется перекачка десятков, а то и сотен файлов, передаются лишь базовые данные для построения поверхности планеты. На данный момент, реализация основана на использовании классического шума Перлина. И для реализации используется лишь один метод, по этому планеты похожи, но, у каждой планеты своя уникальная текстура. Добиться с ходу, реалистичного и качественного вида планет, очень сложно, по этому всё будет создаваться поэтапно.

Протестировать:
Dreams Gate WebGL [Procedural Planets]

Стоит еще раз отметить, что это «очень ранний», но уже результат.

Dreams Gate WebGL обновление

После нескольких бессонных ночей подряд, вышло в свет, очередное обновление проекта.

WebGL Dreams Gate (alpha 3)

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

webgl-dreamsgate-starmap

Появилось меню выбора планет. Чтобы перейти к интересующей вас планете, достаточно выбрать её из списка, который находится в правой части экрана. При нажатии на название планеты, камера автоматически переместится к выбранной вами планете. На данный момент, все планеты идентичны и выглядят как самая обычная планета «Земля». Но хочется сразу уточнить, то что сейчас я называю «планетой» в следующем обновлении будет уже «солнечной» системой с планетами. И если успею реализовать, то и поверхность каждой из них будет уникальной.

Переместил в левую часть (вертикально) выбор между «Карта», «Планета», «База», «Ангар», «Битва». Это позволило на мобильных устройствах увеличить область просмотра.

webgl-dreamsgate-planet

В режиме «Планета» можно создавать базы. Для этого, необходимо выбрать участок на планете, и двойным нажатием левой кнопки мыши задать позицию новой базы. Откроется диалоговое окно, в котором следует указать название для создаваемой вами базы. После принятия, у вас появится доступ к новой базе. Чтобы открыть базу, то для этого нужно будет перейти в режим «База» (кнопка в левой части экрана).

webgl-dreamsgate-base

В режиме «База» можно строить сооружения. Двойным щелчком мыши производится установка здания в место где находится зеленый курсор.

После создания базы, каждые 3 минуты, будут даваться ресурсы. Число баз не ограничивал, а также нет и ограничения на число зданий. В этой версии исправлен ряд ошибок, которые, были обнаружены за время тестирования.

[WebGL] Dreams Gate. Продолжение.

Прошло несколько дней над усовершенствованием прототипа игры. На этот раз решил далеко не ходить и сразу сделать космические битвы. Но этот путь оказался не из легких.
И первое с чем пришлось столкнуться это невозможность использования логарифмического буфера. Почему? Все очень просто — не все устройства хорошо справляются с такой задачей, но и самое проблемное это поддержка теней с логарифмическим буфером. В итоге пришлось от него отказаться до лучших времен. Так же до лучших времен пришлось отложить и создание собственного формата моделей, так как формат моделей в текущем виде — громоздкий. Чем это грозит? Например у нас зашло 50 игроков, каждый скачивает по 10 моделей (например 1Мб на модель) в итоге мы получим 500Мб, которые сервер должен отправить. А теперь представим, что у нас уже 5000 игроков и 200 моделей. По этому мне еще придется вернуться к этой задаче.

Теперь поговорим о новой версии. В новой версии из изменений был новый режим «Битва», остальное на данный момент не изменилось.

webgl-dreamsgate-alpha-2-001

Посмотреть новую версию: WebGL Dreams Gate Alpha 2

Для приятных полетов разработал противников.
Логика работы проста: после появления, бот выбирает себе цель и атакует её. Если бот приблизился слишком близко, он меняет временно меняет цель чтобы совершить маневр разворота, после выполнения этого маневра, он продолжит атаковать свою цель.

Корабль игрока управляется клавиатурой и мышкой (чтобы сменить направления надо нажать на экран левой кнопкой мыши и двигать).
Клавиши управления на клавиатуре:
«Пробел» — стрелять
«Q» / «E» — вращение вокруг оси движения
«W» / «A» / «S» / «D» — управление
Так же можно управлять стрелками на клавиатуре

Dreams Gate на WebGL

Мысли в голове на эту тему были много раз, но всё ни как не решался. И вот, в один прекрасный день, работа началась. После нескольких успешных попыток, решил полностью освоить трехмерные просторы на браузерном пространстве и для этого выбрал Dreams Gate.
Читать дальше

Dreams Gate Art

Уже давно был нарисован прототип двух рас для Dreams Gate, большая часть участников проекта смогли их оценить. Но в общий доступ они так и не выкладывались. Прототипы рисовались без проработки это обычные 3D эскизы.

Первые у нас на очереди это киборги:


Кибернетические организмы отличаются от того представления, к которому многие привыкли. По плану в нашем проекте они могут производить импланты из найденных форм жизни и ассимилировать чужие технологии. Это раса, которая может развиваться похищением и объединением чужих технологий, ей не обязательно иметь технические сооружения для развития. Но скорость развития медленнее, чем у всех остальных рас.
Читать дальше

1 2