Сделал игру, работающую на видеокарте

Достоинства и недостатки вычислений на GPU.

Сделал игру, работающую на видеокарте
6.5K6.5K открытий

Когда сделал игру выполняемую на видеокарте, а все видеокарты исчезли из продажи, или подорожали в три раза...<тут мем "человек с песком" :)>

Ответить

Не благодарите

Ответить

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

Так что через 2-3 года вычисления на видеокарте перестанут быть проблемой, а станут инструментом для повышения конкурентоспособности игр, и все начнут их использовать.

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

Ответить

Как же приятно что есть такие извращенцы как Вы, сударь:)

Ответить

Ставлю лайк за трек аргонова в стима.

Ответить

Комментарий недоступен

Ответить

Комментарий недоступен

Ответить

Спасибо за критику, для меня она — самый полезный результат публикации, всё учту.

Ответить

правда было интересно! а еще интересная идея реализации в любом случае это выгодно отличается самоизданых игр в стиме. и вообще я не в праве раздавать советы это дело вкуса однако для меня музыка в трейлере ну вообще не в тему(в стиме вообще атас). и геймпад геймпад прикрутииииить огонь. anyway good luck!

Ответить

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

нынче любая игра должна мочь в геймпад.

Ответить

Комментарий недоступен

Ответить

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

Ответить

Я связался с сотрудником nvidia, он показывал проект ещё кому-то, но больше реакции не было, видимо, не очень заинтересовались.

Ответить

Насколько я знаю, HLSL - язык, работающий и на картах AMD, и на картах NVIDIA. Была бы игра написана на той же CUDA (платформа для параллельных вычислений от NVIDIA), то можно было бы попробовать

Ответить

Почесал голову. Я явно вижу что игра явно 2х мерная. А в статье говориться о 3х мерных массивах и потоках...это очепятка или я чего то не понял?

Ответить

Лол, трёхмерные массивы - это несколько про другое.

Ответить

Да, речь о данных. В данном случае, например, так: пространство разбито на квадратики, и в каждом хранится список ближайших частиц. Чтобы каждая частица вычисляла взаимоействие не со всеми частицами, а только соседями. И это уже 3д-массив.

А в одной из внешне простых 2д игр (гибриде 2048 и тетриса) у меня были 12-ти мерные массивы.

Ответить

чудовищная производительность видеокартНе хочу сильно придираться, но это звучит как нечто чудовищно плохое)

А вообще было очень интересно и здорово увидеть что-то действительно новое)

Ответить

Ага :)

Ответить

Василий, отредактировали чутка текст и переместили его в геймдев. Спасибо!

Ответить

Отлично, спасибо.

Ответить

Комментарий недоступен

Ответить

Ох, как же ты мне напомнил про него. Наверное окунусь снова на вечерок.

Ответить

Кортекс к червям вроде ближе - ландшафт не падает, в лучшем случае песочком "осыпается". Или я уже всё забыл?

Ответить

А видеокарты, работающей на играх, нет? А то апгрейдиться не хочу, дорого. :(

Ответить

Это отличная идея для стартапа. Написать игру, которая будет шерить вычислительные ресурсы. Если у человека мощный компьютер, для игры всё не требуется, но избыток мощностей не простаивает, а вычисляет запросы, получаемые по сети, а эти запросы посылает слабый компьютер другого игрока. В итоге у обоих 60 fps.

Ответить

А как работает та же .kkrieger? Там вообще 3д шутан процедурно генерируемый. Тоже только на видеокарте?

Ответить

Ну, "Vangers", "Hammerfight" и т.д. свидетельствует о том, что делать подобные проекты можно было еще на 486х. Просто автор говорит о том, что у него существует "внутриигровая материя" т.е. все объекты состоят из виртуальных пикселей-атомов со своими физическими свойствами. Грубо говоря это такой микроаналог нашего мира (есть материя и есть физические законы ее взаимодействия).

Ответить

У них основная фича - процедурная генерация контента. Это не слишком тяжёлые алгоритмы, которые быть выполнены один раз на процессоре при загрузке игры. А дальше всё как у всех, на видеокарте - только графика.

Ответить

А есть тут какие-нибудь альтернативные способы вынести вычисления на GPU, кроме как использовать шейдеры? И как вообще в данной ситуации CPU был задействован?
Сам только CUDA да OpenCL использовал, интересно что на той стороне реки, в геймдеве.

Ответить

Да вот эти способы и есть, на любом нативном API можно вычислять в GPU — CUDA, OpenCL, DirectX, Metal, Vulkan.

Юнити умеет код компьют шейдера переводить в один из этих API, в зависимости от платформы.

А в моей игре CPU задействован только для управления танком и vfx/sfx. Ну и код шейдера на каждом цикле запускается со стороны процессора.

Ответить

О, автор - разработчик! Я помню, когда гифки постились на реддит, эти посты занимали главную страницу и все были были так взолнованы. Что случилось? Что пошло не так, Почему только 67 отзывов, да еще и Смешанные. Где онлайн мультиплеер?

Ответить

В статье написано, где мультиплеер.

Ответить

В основном минусы ставят те, кому управление не нравится. Кроме того, у многих карточка либо слишком медленная, и игра тормозит, либо слишком быстрая, и игра слишком быстро работает, из-за чего управлять сложнее. Ещё один фактор - игра не работает ни на чём, кроме виндоус, поскольку я придерживался directx api, так что много игроков отсечены. Ну и интерфейс не всем нравится. Так что в сумме получились смшаные отзывы, при том, что есть люди, которым очень зашло, они в восторге от физического мира и наиграли десятки часов.

Ответить

Отличный материал ) и очень прикольные эксперименты. Если честно, как я начинаю представлять что игру надо сделать на шейдерах, начинает голова болеть )

ЗЫ но это в принципе сложно назвать игрой.

Ответить

Интересно. Геймплей не без недостатков, но выглядит неплохо. Не говоря уже про саму концепцию.

Ответить

Левелдизайн неплох

Ответить

Интересная статья. Спасибо

Ответить

Комментарий недоступен

Ответить

Это из техно-перы Виктора Аргонова "2032": http://argonov.ru/2032.html

Ответить

Комментарий недоступен

Ответить

Спасибо.

Ответить

Комментарий недоступен

Ответить

Да, Liero частенько вспоминают, когда видят мою игру. Ещё Cortex Command. Хотя я ни в одну из них не играл.

Ответить

отличный материал, спасибо!)

Ответить

Да, там тоже симуляция жидкости с помощью частиц используется.

Ответить