• Вычисления на видеокарте, руководство, лёгкий уровень
    0
    Я этого не знал, но вы вероятно правы. Хотя, иногда нет другого выхода, кроме как делать примерно так:
    var = buffer[id.x * height + id.y]
    потому что буфферы одномерные, а данные частенько двумерные, а структуру потоков делать одномерной вроде бы тоже не очень эффективно, да и лимиты есть по каждой оси.
  • Вычисления на видеокарте, руководство, лёгкий уровень
    0
    Фрактал Мандельброта ограничен координатами от -1 до 1 по х и у. А у пикселей координаты от 0 до 1023. Нужно проецировать, чтоб фрактал на весь экран был.

    Программа перерисовывает фрактал каждый раз, как пользователь изменит масштаб или позицию выводящего прямоугольника. Так что можно путешествовать по красочным прядям фрактала.
  • Физическое моделирование на GPU с использованием compute shader в среде Unity3D
    0
    CUDA — это просто другое API. Методы передачи данных в видеопамять похожи. Если у вас были массивы в структурах, значит там был не сам массив, а четырёхбайтный адрес. То есть, следовало записать данные массивов в буффер тоже.
  • Физическое моделирование на GPU с использованием compute shader в среде Unity3D
    0
    Волосы в модели друг с другом не взаимодействуют. Это для простоты, чтобы не объяснять слишком много.
  • Физическое моделирование на GPU с использованием compute shader в среде Unity3D
    +4
    Для параллельного вычисления больше подходят простые операции, равно применяемые к каждому из моделируемых объектов.

    Если добавить эвристику на стороне GPU, она будет потреблять вычислительные такты, и её добавление должно будет окупаться. Но окупаться оно не будет, потому что если каким-то образом для медленных частиц снизить объём вычислений, то всегда найдётся одна быстрая частица, требующая всего объёма вычислений. И получится, что 1023 ядра ждут одно, которое обрабатывает эту одну частицу, и время выполенения операции над одной частицей не будет меньше, чем над всеми.
  • Доделал игру, работающую на видеокарте
    0
    Я не пробовал, но юнити билдит в webGL и HTML5, и если эти форматы подерживают компьют шейдеры, то будет и в браузере работать.
  • Доделал игру, работающую на видеокарте
    0
    Спасибо за ссылки, посмотрю. Хотя, мне скорей интересно делать всё самому. Наверное, ради возможности предельной оптимизации движка под конкретную задачу.
  • Доделал игру, работающую на видеокарте
    0
    Я не рассматривал эту возможность потому, что был в начале не опытен, и использовал первый попавшийся инструмент.
  • Доделал игру, работающую на видеокарте
    0
    Согласен, сделаю мышку по умолчанию. Сделаю ею ещё движение и переключение оружия, должно быть удобно играть исключительно мышью.

    А для существующих отзывов я пишу ответы, предлагаю попробовать исправленную версию, но, похоже, у стима нет оповещения об ответах на отзывы, так что люди не возвращаются.
  • Доделал игру, работающую на видеокарте
    +1
    Да, есть.
  • Доделал игру, работающую на видеокарте
    0
    Гибрид частиц и тел сложней реализовать, а чистые частицы быстрей на видеокарте считать, потому что производятся простые и одинаковые для всех частиц операции.

    Это был экспермент с чистыми частицами, я не хотел усложнять, а хотел проверить практичность метода. Если бы я начал делать такую игру с моим сегодняшним опытом, я бы скорее всего взялся именно за гибрид.
  • Доделал игру, работающую на видеокарте
    0
    Возможно, моя игра соответствует стандарту directx10, я помню, что компилятор предупреждал о выходе за границы directx10, и я их соблюдал. Так что игра работает и на восьмёрке и на 32 битных версиях.
  • Доделал игру, работающую на видеокарте
    0
    Кое-что изложено здесь. А для более детального изложения я решил сделать отдельную детальную статью-руководство, которая помогла бы войти в мир компьют шейдеров. Там будет объяснено, как всё настроить в Юнити, и как на HLSL накодить простеньку физ-симуляцию.
  • Доделал игру, работающую на видеокарте
    0
    Согласен, музыка в трейлере совершенно не подходит к содержимому ролика. Но на уровне эмоций и энергетики мне эта песня показалась близкой к тому, что я хотел бы роликом передать.
  • Доделал игру, работающую на видеокарте
    0
    С музыкой в игре ситуация такая: я переписывался с несколькими композиторами, слушал их музыку, но мне ничего не понравилось настолько, чтобы сотрудничать. У меня очень высокие требования к эмоциональному содержимому музыки. А в трейлере — просто хорошая песня.
  • Доделал игру, работающую на видеокарте
    0
    Звуки в игре проигрываются стандартными средствами юнити. А сами звуки я частично приобрёл в ассет сторе, частично взял из бесплатных библиотек.
  • Доделал игру, работающую на видеокарте
    0
    Если tensorflow их использует, значит есть какой-то инерфейс, значит и для физики сгодится. Но всё равно, очень сложно загрузить современный GPU под завязку одной только графикой. Там всегда останется место для физики.
  • Доделал игру, работающую на видеокарте
    +1
    Редактор собираюсь прикрутить. Он уже есть, но для него остаётся интерфейс сделать, чтоб было удобно пользоваться, а то сам я всё хоткеями делаю. Редактора юнитов пока нет, но в принципе можно создать, даже интересно было бы. Я подумаю, сколько это времени займёт, может и займусь.
  • Доделал игру, работающую на видеокарте
    +1
    Cortex Command — это игра, которую чаще всего вспоминают, когда видят мою игру. Один из её разработчиков, кстати, на реддите отписывался в моей ветке, хвалил задумку. Но идти к кому-то в команду что-то не хочется, больше нравится самому свои идеи воплощать.
  • Доделал игру, работающую на видеокарте
    0
    Пробовал писать ютуберам-обзорщикам, из десятков писем ответ был только один, с предолжением заплатить за обзор сумму, которую я не счёл способной окупиться.

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

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

    Но с другой стороны, гибрид сложней программировать. Например, в каменты в ветке про мою игру на реддите приходил один из разработчиков Red Faction и говорил, что они страшно задолбались с разрушаемостью.

    В общем, у каждого подхода есть достоинства и недостатки. Но если грезить об идеальном универсальном физическом движке для 2д-игр, то гибрид кажется более плодотворным подходом.

    Хотя, я исхожу из своего нынешнего опыта с игрой. Может, если пойти дальше в разработке варианта с частицами, то и там можно прийти к идеальному универсальному движку.
  • Доделал игру, работающую на видеокарте
    +2
    Не думал, так что спасибо за идею, рассмотрю эту возможность.
  • Доделал игру, работающую на видеокарте
    0
    Спасибо, согласен, надо было видосами ставить, учту на будущее.
  • Доделал игру, работающую на видеокарте
    +1
    Ок, мод называется «Mines and Magic». Найти его можно в батлнете в разделе «Arcade» (не знаю, как по-русски называется), в общем, там где все пользовательские игры находятся. Старкрафт 2, действительно, бесплатный, и моды тоже бесплатные, заходи-играй. Жанр моего мода — Tower Defense, но с большим экономическим уклоном. Это жанровый наследник довольно ивестного мода из Warcraft3 — LegionTD, но я сильно переработал идею, например, добавил контроль над территориями. Если есть любители залипнуть над неторопливой, но стратегичной игрой — рекомендую поиграть, игра реально очень интересная, удовольствие получите. Она уже четыре года держится в топ5 батлнета, у некоторых игроков больше тысячи сыгранных игр, хотя одна игра может и час длиться.
  • Доделал игру, работающую на видеокарте
    0
    Знаете, сейчас я бы пошёл по указанному вами пути. У гибрида «разрушаемые твёрдые тела + частицы» есть свои сложности, но есть и достоинства. И хотя начинал я с принципа «только частицы, только хардкор», но оказалось, что превратить такую симуляцию в хорошую игру сложней, чем гибрид.
  • Доделал игру, работающую на видеокарте
    0
    Признаться, я изначально планировал именно создать свой движок, потому что ничего сложного в этом не было. А полный контроль над содержимым и отсутствие необходимости разбираться с чжим кодом были весомым доводом в пользу написания всего с нуля.

    А свой движок я выложил в ассет стор. Он пока платный, но скоро сделаю бесплатным, он скорее хорош как туториал, потому что слишком специфичен для мой конкретной задачи. К примеру, в нём нет ни следа взаимодействия со статичным объектами, так что не просто будет его встроить в другую игру в качестве источника частиц. Но я откомментил важные вещи, так что будет такой пример для новичков.
  • Доделал игру, работающую на видеокарте
    +3
    В игре нет музыки Аргонова, она звучит только в трейлере. В начале, ещё до релиза, я предлагал ему сочинить музыку для игры, он сказал, что подумает. С тех пор мы больше не разговаривали, но так как игра не принесла дохода, и не обещает, я решил, что не буду привлекать других людей, так как не смогу им заплатить.
  • Доделал игру, работающую на видеокарте
    +1
    Моя цель в том, чтоб разработчики задумались об использовании видеокарты в качестве мощного вычислителя. Благодаря этому можно интересные вещи вычислять в реальном времени. Мне кажется, развитие компьютерной техники идёт именно в этом направлении, и хотелось инициировать дискуссию. На хабре много специалистов, дающих ценные советы, мне, как непрофессионалу, это важно.
  • Доделал игру, работающую на видеокарте
    0
    Вроде можно писать компьют шейдер из-под С++, Используя api dirctx. Но так вышло, что я писал его из-под юнити.
  • Доделал игру, работающую на видеокарте
    +1
    Коммерческий результат таков, что если заработанное разделить на затраченное на разработку время, получится что-то около прожиточного минимума :)
  • Доделал игру, работающую на видеокарте
    0
  • Доделал игру, работающую на видеокарте
    +1
    Я больше физикой занимался, поставил статичный фон, руки не дошли запараллаксить пару слоёв. Хотя, я предусмотрел ещё слой фона из частиц, например, снег на первых уровнях. Можно будет привязать их к движению камеры.
  • Доделал игру, работающую на видеокарте
    +1
    Продажи от игры есть, но скромные. И они не идут естественным потоком. Когда я рассказываю об игре на реддите, кто-то покупает. Кроме того, слишком много отрицательных отзывов, для среднестатистической игры на стиме рейтинг очень низкий. И вроде я исправляю всё, на что игроки жалуются, но оценки не исправляются, и появляются новые минусы. И из-за низких оценок её не покупают случайные посетители. Так что коммерческая судьба игры не завидна.
  • Доделал игру, работающую на видеокарте
    0
    А насчёт устройств — это машины на Windows, с видеокарточками поддерживающими shader model 5, и в которых как минимум 256 вычислительных ядер.
  • Доделал игру, работающую на видеокарте
    +1
    Дебажить посложней, чем на cpu. Я кодировал интересующую меня информацию в цвете пикселей. Хотя, вроде бы есть более традиционные методы, но мне лень было изучать вопрос, и так слишком много информации впитывал, когда начинал, так что по-простому всё делал: чуть что-то не работает — начинаю последовательно проверять содержимое буфферов и кодировать его цветом пикселей.
  • Доделал игру, работающую на видеокарте
    0
  • Доделал игру, работающую на видеокарте
    +2
    Я рассчитывал именно на уровне геймплея задействовать физичность, проявить её уникальные стороны, чтобы игроки почувствовали: «о, это что-то новенькое, я такого раньше не встречал». Хотел, чтоб игрока не заботала технология, чтобы он просто получал уникальные впечатления. Не уверен, что у меня это получилось, некоторые признаются, что это именно то, о чём они мечтали, но есть и те, кто качает головой: — ничего нового.
  • Доделал игру, работающую на видеокарте
    0
    В Titan V есть дополнительные вычислительные мощности, заточенные на определённые задачи? Если к ним доступ через API, значит их можно использовать. Основной тренд состоит в том, что видеокарты больше не графическое железо, а параллельный вычислитель общего назначения. Уверен, новые мощности будут легко доступны в первую очередь для вычислений.

    А насчёт многомерных массивов — это две разные особенности: одна связана с интерфейсом с видеопамятью а вторая — с привычкой. Сейчас мы в видеопамять передаём одномерный массив, на стороне видеопамяти — это одномерный буффер. А работа с массивами любой размерности — это вопрос перехода с привычных циклов на множество потоков.
  • Доделал игру, работающую на видеокарте
    0
    Изначально я ориентировался на Scorched Earth, а там клавой управлялось. Я попробовал и привык.

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