Как стать автором
Обновить

Комментарии 41

Это гениально, мисье! Oil Rush опять вызвал у меня интерес к game development — спасибо.
Очень даже к месту пришлась статья, сейчас занимаюсь генераторами для своего проекта, что-то подкинуло идей.
Замечательная и довольно обширная статья, приду домой перечитаю подробно!
А что у Вас есть по поводу Android / iOS? На сайте как-то мало про это сказано — ясно что есть что-то, но конкретного перечня возможностей не нахожу…
НЛО прилетело и опубликовало эту надпись здесь
Релиз Oil Rush на Android — в феврале, финальный билд практически готов.
НЛО прилетело и опубликовало эту надпись здесь
Довольно познавательно. Спасибо.

Кстати,
Voxelogic Acropora (к сожалению, судя по отсутствию обновлений новостей на сайте, эта программа более не развивается)

как раз сегодня на сайте появилась очередная новость.
Впервые вижу, чтобы хабраэффект не клал, а наоборот, оживлял.
Спасибо за интересный пост.
Аж гордость за отечественных программистов =)
С программистами у нас все ок, а вот с геймдизайнерами слабовато! :(
Интересные методы у вас там используются. Спасибо за отличную статью!
Отсутствие какого-либо GPU ускорения — все вычисления конечного цвета пикселя осуществляются процессором.

А вы не пробовали производить часть расчетов в шейдерах и извлекать результат из фреймбуфера?
Спасибо всем!

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

Для условий реального производства игрового контента это должно быть универсальное удобное node-based решение наподобие Filter Forge, но с возможностями hardware ускорения (которые с относительно недавнего времени использует Photoshop).
Тогда неплохо было бы добавить поддержку OpenCL.
Не понимаю, почему результат будет зависеть от видеокарты. Он может быть не bit-perfect (с точностью до того, как производители-драйвера оптимизируют свой fp-ливер), но должен быть в итоге визуально идентичным, если делать всё по стандартам.

Кроме того, свое ускоренное node-based решение можно сделать на коленке за неделю, I can tell from making quite a few node-based shader-processors in my time. С учетом того, что вы лапочки, я вас обожаю, и у вас в движке есть скриптуемое всё и UI, это может быть и того быстрее.
Вот здесь Владимир Головин (создатель Filter Forge) на вопрос
I would like to know if a Filter Forge GPU based render engine is in the pipeline

отвечает
Currently no, and I can't say anything about future releases. Look at Aperture's problems with their GPU-based photo editing (or was that Lightroom?) — simply put, you have different results on different cards and different video drivers.

Would be nice for preview purposes though.

Хотя да, пост довольно старый (2006 г.) и всё уже скорее всего изменилось много раз.

Вот здесь большая сборка информации по вопросам и официальным ответам от разработчика на эту тему.

Но к сожалению судя по этому списку feature wishlist, основная проблема всё-таки в том, что архитектура Filter Forge не очень ложится на GPU-based rendering.
Unigine крутой движок. Присматривался к нему, но побоялся выкладывать такую сумму на первый игровой проект. Взял пока C4 Engine Pro.
Желаю вам удачи! Ваши бенчмарки очень впечатляют.
Как это здорово, что процедурное генерирование текстур используется в играх!
Ещё со времён знакомства с Werkkzeug — ожидал увидеть подобное.
Хорошего кода!
Приобрел Oil Rush с первого дня релиза и ни разу не пожалел. Хотелось бы задать вопрос разработчикам не по теме. Планируете ли ещё какие либо проекты (речи о порте на андроид не идет)?
Спасибо на добром слове!
Да, планируем — есть несколько вариантов сейчас.
И еще один нескромный вопрос не по теме.
Купил моментально и не задумываясь, как только узнал о выходе. Испытываю просто поросячий восторг — так на долго игрушки, в которые я в принципе не играюсь не увлекали думаю еще с 90-х (трава… деревья… ну вы в курсе) Каковы шансы увидеть его в стиме под Linux? Нет, ну просто иметь приобретенный под Win и играть в линуксовую пиратку — это как-то уж слишком.
Прямо сейчас доступна standalone версия под Linux.

Steam/Linux версия почти готова — планировали в январе выпустить, но сползло на февраль из-за того, что выпуск бенчмарков пришлось приоритезировать.
У вас природа и окружение выглядят прямо как на фотографии :) а вот корабли заметно «компьютерные»
Разные художники работали, немного по арт-дирекшену разнобой случился. Учли на будущее =)
Photoshop, являясь де-факто стандартом приложения по созданию текстур, к сожалению, остаётся инструментом только для фотографов и ретушеров. До сих пор не было значимых улучшений, направленных на внесение недеструктивности редактирования и параметризации картинки, что очень сильно осложняет работу не только создателям контента для 3D графики, но и дизайнерам интерфейсов, 2D художникам, веб-дизайнерам.

На заметку разработчикам ПО. Назрела вполне реальная проблема. Дайте решение и пользователи наверняка купят ваш продукт.
Возможность формирования изображений в HDR (High Dynamic Range) диапазоне с дальнейшей регулируемой конвертацией его в LDR
Это реально где-то применялось?

Глядя на граф фильтра Filter Forge, создается впечатление, что на его создание и настройку потребовалась не пара часов, а побольше. Сколько времени уходило на ресерч нового материала? Кто этим занимался, художник (любой) или специально обученный человек?
Фильтры с нуля созданы ведущим техническим художником.
Время резерча нового материала прямо зависит от скила и времени работы с подобным софтом. Если первые фильтры делались, например дня 2, то последние 3-4 часа. Все зависит от текущих наработок. Части фильтров можно копировать кусками и затем использовать в других фильтрах. Так что объемность графа связана с тем что группировка и инстанс блоков стали появляться только в 4й бетаверсии FilterForge.
Деморолик движка приятно впечатлил. Спасибо за пост.
Процедурные миры захватывают.

У вас текстуры сгенерированы заранее, в итоге? Или вы генерируете их при старте игры, тем самым минимизируя занимаемый ресурсами объем?
Да конечно, процедурный метод в данном случае использовался скоее как вспомогательный и текстуры сгенерированы заранее. Однако у allegorithmic есть решение Substance Air, позволяющее генерировать текстуры в рантайме.
Ну этот метод обычно в демосцене применяют. Есть там номинация, мелкие игры — игра уровня третьего квейка в 90 кб, допустим, они там при старте все генерят, соответственно стартует долго и в оперативке метров в 300 разворачивается — по тем временам это было немало.
Спасибо за статью. Я для генерации ландшафтов использую World Machine. Удобная нодовая структура, эскпорт всех требуемых карт, 3d просмотр.
Про World Machine — во второй части статьи.
Потрясающе! Сразу .kkrieger вспомнился — почти полноценный 3D-шутер с неплохой графикой размером 97 килобайт. Там вообще весь контент генерируется процедурно, включая модели оружия и врагов, и их анимацию. Я когда понял как оно работает — долго думал: ну почему же такая прекрасная техника почти никем не используется? Оказалась — используется, и очень даже эффективно и эффектно! Еще раз: это потрясающе красиво!
Спасибо, очень красивые скриншоты. Даже несмотря на то, что не имею прямого отношения к геймдеву было очень интересно почитать, как же такая красота делается. У меня вопрос, скорее всего глупый, но все же. Все перечисленное в статье работает под DirectX? И насколько это все, скажем так, урежется или изменится при портировании на OpenGL ES, используемый в Android?
Связь с конкретным графическим API минимальна. Все ресурсы ведь предрассчитаны и поставляются вместе и игрой, а не генерируются на клиентском железе. Т.е. для API и движка эти ресурсы ничем не отличаются от тех, которые создаются художниками вручную.
Статья огромная и сложная, но захватывает :) Обычно такие разбивают на 3-4 части.

P.S. Денис, Александр, рад видеть вас на Хабре! Ждем новых статей и описаний, например, про атмосферу и скеттеринг.
Алексей, добрый вечер! =)
Удивлён, что вы обошлись без фракталов. Сразу заподозрил процедурность в ваших айсбергах и скалах, но показалось, что и фрактальность разглядел там отчётливо.
Очень крутая статья, продолжайте в том же духе!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий