Кажется, я избавил многих от мучений, решив не публиковать гифку, в которой его завалило напрочь :)
Выглядит весьма занятно. Прикольно было бы если бы он размораживал из льда древних ящуров и мочился бы с ними ещё.
Рандом возникает естественно, ибо малейшее отличие в действиях игрока приводит к большим изменениям в структуре айсберга. Чуть трещина не в ту сторону пошла - и всё по-другому рушится.
Ну-ну. В посте я увидел powder toy, но с ограничением контроля в виде танка и ограничением материала в виде льдя вместо богатейшего разнообразия упомянутой песочница. ОДИН В ОДИН, но с танком и без 95% контента.
Ммм, свежесть.
Да, это ограничение возможностей, с точки зрения классической песочницы, вроде Powder Toy. Но это попытка выяснить, будет ли интересно в аркадных играх иметь сделанный из частиц мир. Это просто эксперимент. Благодаря таким экспериментам иногда появляются новые жанры компьютерных игр. Возможно, у меня получится хрень, не знаю. Но любопытно было попробовать.
Я это для андроида в принципе могу скомпилить. Но телефоны пока слабоваты для такого боьшого количества частиц. Сделаю отдельную игру для мобил. С меньшим объёмом материи. Может, стелялку в невесмости.
Не, такой геморрой я бы точно сам откапывать не стал бы. Вот если бы там были мины, например, которые взрываются при контакте с воздухом после разрушения их "могилки", то был бы интерес как-то их обойти. А откапывать врага чтобы потом его самому и мочить - ну нелогично как-то. Это чисто мое ИМХО. А вообще за проектом давно смотрю - получается просто отпадно!
Да, аркадок-стрелялок мильон, а физического мира пока ни у кого не было. Были физические элементы, например, блоки в Angry Birds. Но там двадцать тел на уровне, а у меня - 20000 и больше.
Да, я вначале экспериментировал с моделированием воздуха, чтоб он отдельно вычислялся по формулам навье-стокса, но со сжимаемостью и тепловым расширением. Но потом вынужден был отказаться ради экономии вычислительных мощностей, сжираемых материей.
Возможно, я не пробовал. Хотя, корее всего либо обвалится, либо проход будет слишком узкий, потому что оплавленный лёд надо как-то в сторону отбрасывать.
Ошибка: робот погибает при попадании в него гранаты (именно от попадания, а не от взрыва) Д - дизайнер, П - программист.
Д: программисты всё сломали! почему так получается?!
П: естественно так получается! потому, что у гранаты масса 100 кг! зачем вы это сделали?
Д: да?! а чтобы граната в воде тонула!
П: а почему она с нормальной массой не тонет?
Д: а потому что у воды плотность большая! (прим.: больше, чем у ртути)
П: а почему плотность такая большая?!
Д: а чтобы ящики деревянные плавали!
П: а почему они иначе не плавают?!
Д: а потому что у них масса 50 кг!
П: а зачем такая масса?!
Д: а иначе они некрасиво разваливаются!
Изначально я эту игру и хотел разработать как улушенную версию Scorched Earth с физикой. Но сейчас изыскиваю возможности для использования движка для аркадного геймплея. Но есть пошаговый режим, вроде Scorched earth, я показывал недавно:
http://pikabu.ru/story/pikabushnyiy_uroven_v_jelly_in_the_sk...
https://www.youtube.com/watch?v=wPVZcFxNB60 В смысле? Вам про сам уровень говорят, про идею. В Джиме тоже потолок сыпался на пол. Не так много партиклов, конечно, но 20 с лишним лет назад это было..
Самое интересное что пока делаешь подобную хрень, настолько за время тестов придрачиваешься в нее играть, что думаешь что это элементарно и сложность слишком низкая, а обычные игроки потом охреневают, как это вообще можно пройти.
Да, вполне. У меня там разные физические материалы есть. Можно сделать что-то вроде мягкой земли, чтоб в неё танк рисковал утопнуть при движении. Возможно, я использую это на каком-нибудь уровне.
А придётся, потому что они прямо на пути. А в бок ход прожигать опасно. Там на уровне кристалл нужно будет взять, и игрок к нему будет пробираться, так что замурованные враги усложнят задачу.
Не давай этим комментам себя остановить. И подпиши меня в бетатестеры, может, советом помогу. nik.fury в ВК
Касательно разнообразия геймплея:
- Большая Красная Бочка Огнеопасная, БКБ-о42. Встречается в местах закладки шурфов и иногда - в стоянках спелеологов.
- - взрывается. старайтесь прокладывать маршрут подальше от этих обьектов.
- Эхолот портативный спелеологический учебный, ЭПС(у) - немного увеличивает видимость
- Кассета с данными спелеологической экспедиции - подбирайте эти кассеты для того, чтобы открыть области на миникарте
- Мина спелеологическая направленного действия, (МСНД-5, МНСД-8, МНСД-10) - набор мин разной глубины действия, помогают пройти через горную породу. Имеет большую эффективность на камне, известняке, доломите. Осторожно, при использовании против льда порождает большое количество острых осколков, которые могут нанести урон машине!
- Портативная радиостанция мгновенного действия (ПРМД) позволяет дать сигнал на поверхность для получения эхо-сигнала, на короткое время просвечивает любую породу вокруг вас
- Портативная спелеологическая распорка (ПСР-10, ПСР-12, ПСР-15) служит для укрепления завалов и организации безопасных мест для движения
- Спелеолог - аккуратно! В завале остались живые люди. За их эвакуацию вы можете получить Кассету с данными спелеологической экспедиции, МСНД и заряды для ПРМД
- Спелеолог-инженер - при эвакуации поделится схемами улучшений для вашего транспорта. Улучшения можно установить на базе МЧС между миссиями
Что то пишу да пишу, а идеи все идут и идут... Пока пожалуй остановлюсь
Спасибо, интересно. Правда, скрытой карты я не реализовывал, всё сразу видно. А вот над закреплением стен специальными средствами - подумаю.
А огонь каким-то образом ограничен? перегревом оружия, к примеру. Я вот, к чему: что помешает в данном случае просто поднять дуло на 90 градусов и жечь, покуда всё над твоей головой не растает?
Огнемёт ограничен по количеству патронов. А если жечь наверх, то завалит жидким льдом, он застынет и будет сложно выбраться.
Надо подумать, как это лучше сделать. У меня уже готовы летающие враги. Они, видимо, выберутся, отряхнутся, и станут летать и стрелять.
Я вот здесь рассказал:
http://pikabu.ru/story/chto_budet_esli_v_igre_ispolzovat_vid...
Если что-то плохо объяснил - спрашивайте.
Доделаю кампанию для одного игрока, тогда сделаю скидку. Но это ещё месяц работы как минимум.
Пока нет, телефоны не тянут столько вычислений. Но я сделаю на жтом движке отдельную игру, облегчённую.
Какие знания нужны чтобы делать такую игровую физику, какие алгоритмы, какую геометрию, математику, физику?
Вот простой ответ:
есть у тебя две точки, между ними измеряешь расстояние. И есть функция, которая задаёт силу взаимодействия между частицами в зависимости от расстояния. Если близко, то отталкиваться, а если подальше - притягиваться, а если совсем далеко, то и нет никакого взаимодействия. Это в общем-то почти всё, что касается математики. Алгоритмы тоже простые, последовательно пробегать массив точек, и каждую с каждой проверять, не достаточно ли они близки, чтобы взаимодействовать.
Композиция "незбыточный свой путь" из техно-оперы "2032" Виктора Аргонова:
Нишу вправо сделать, чтобы "жить" там и прострелить влево. Ждать пока здоровенный кусок слева не отвалится совсем.
Есть, но от больших и падающих с большой высоты. Я хотел сделать небольшие повреждения от камней, но танк становился слишком хрупким, так что разрушался от езды по кочкам.
Это будет здорово) Я кстати купил твою игруху) моя первая покупка в стим) Но проблема, экран не двигается. Я видел ты в группе кому-то ответил что баг и в курсе. Добавлю, еще не настраивается мощность выстрела на первом уровне карьеры, до тех пор пока не высадишь весь боекомплект..если она там должна регулироваться. А в режиме игры по очереди настраивается. Спасибо, где успел поездить и пострелять-понравилось! Фикси баг с экраном и будет круто)
Пока я в кампании на каждом уровне задаю прогресс. Но это пока первоначальный вариант. А в hot seat можно прокачиваться от игры к игре, всё сохраняется.
Да, как уже ответили, Unity3D и C#. Но сам шейдер, который просчитывает физику, написан на HLSL.
Я купил твою игру.
Мне почему то показалось, будто я должен сообщить тебе об этом.
Прокачка усиливает желание играть и развивает зависимость к игре. Рекомендую тем или иным способом реализовать это.
@ThisIsZolden, можно подробнее про реализацию? было бы интересно посмотреть на исходный код. Он открыт? Если да, то, если не сложно, дайте ссылку на git
Исходный код игры не открывал, но есть версия проекта на ранней стадии, когда не было управления танком, только код земли: http://u3d.as/DS8
В целом, всё просто: частицы взаимодействуют с силой Леннарда-Джонса, которая соединяет притяжение и отталкивание. Есть немного вязкости, за счёт обмена нормальной компонентой относительной скорости. Интегратор - простой Эйлер. Оптимизация O(N*N) -> O(log(N) * N) делана посредством обновляемой на каждом шагу двумерной решётки, ячейки которой хранят ссылки на расположеные на их фоне чатицы, и каждая частица взаимодействует только с частицами из ближайших к ней ячеек, а не со всеми частицами симуляции.
Огнемёт стреляет когда игрок нажимает кнопку. Управление - клавишами. Попробую и мышкой сделать, может, удобней.
Есть ещё повороты пушки, которая крепится к корпусу. Иногда приходится пушкой орудовать как лопатой. Иногда танк переворачивается, и нужно усилием пушки его перевернуть обратно на гусеницы. Так что корпус и пушку тоже пришлось сделать попрочней.
Привет! Эта проблема связана с тем, что на некоторых системах не работают некоторые редкие функции directx. Вскоре я обновлю игру, чтобы это исправить.
Я даже не знаю, где почитать, погугли что-нибудь вроде "particle based simulation". Я делал без чтения, просто прикинул, как должно работать, и оно хаработало.
А касательно вычислений - это compute shaders, позволяют вычислять на видеокарте в параллельном режиме.
В юнити есть возможность написать шейдер на языке HLSL, чтобы код выполнялся на видеокарте. Я весь код написал с нуля. Он просто описанывает взаимодействие между частицами на каждом шагу симуляции.
Ты подумай, подумай... Можно сделать аркаду для мобильных - и тогда не надо никаких сложностей, она и так будет залипательной. НО тогда все сложности плавно перекочуют в продакшен, так как вывести подобное в топ меж куч минимум-эффорт контента в плейсторах будет проблематично
Мне кажется, действительно интересную игру люди начнут друг другу рекомендовать, и это даст преимущество среди других игр.
Он уже есть, но пока нет для него интерфейса. В будущем я его оформлю красиво и открою для игроков.
LS-DYNA — многоцелевая программа конечноэлементного анализа. Как пример https://www.youtube.com/watch?v=p6pSyntdkdg . В ней можно спрогнозировать любое физическое воздействие (термическое, динамическое и т.д.) на материал, элемент, конструкцию и т.д.. Старая программа, оч старая.
А, понятно. Ну, у меня тоже физическая модель, так я прямо в игре создаю новые штуки и экспериментирую.
Ура !) А ты сравниваешь физические явления воздействия своих моделей друг на друга в ls dyna или просто пока ищешь варианты?
просто идея: в качестве повышения уровня сложности / добавления динамики можно в каком-то углу показать температуру. и эта самая температура может иногда колебаться, заставляя некоторые предметы в игре вести себя иначе.
Эту игру чаще всего вспоминают, когда видят мои гифки. Я в неё поиграю, возможно что-то перейму.
В одной из частей Worms был редактор, где почву ты рисовал аки рисунок в MS Paint.
Редактор пока не доступен в текущей версии. Но я его в какой-то момент открою. Пока он весь на хоткеях работает, я сделал себе для удобства. Нужно будет интерфейс сделать, чтоб людям удобно было. А рисую я уровни в фотошопе.
Автор, скажите, каким образом можно отправлять вам багрепорты по игре? Оочень хочу поучаствовать в развитии проекта
В Стиме у каждой игры есть свой форум, там люди постят репорты и предложения, я всё читаю.
Андроид поддерживает эту технологию. По крайней мере, Юнити под него компилит и всё работает. Видеокарты в телефонах слабые, но это вопрос оптимизации. Сделаю меньше частиц на уровне - будет быстро работать.
Добавь еще дроп в виде ящиков с боеприпасами. Чтобы с них пушки выпадали, типа разного оружия, огнемет и т.п.
Следствие использованного метода. Проблема в том, что за твёрдость приходится платить производительностью. А я хотел, чтоб игра работала на многих видеокарта, даже не очень новых. На моей, например.
Я бы просто сделал новый билд и отправил его тем, кто выразил желание потестировать. Вот жаль, на пикабу личных сообщений нет. Дайте что ли адрес вк.
Под openGL компилировал, почему-то не работает под Linux. Под Vulkan не компилируется, немного другой стандарт, надо код переделывать под него. А под Wine виндовская версия рисует один кадр и виснет. Так что в принципе возможно, но что-то идёт не так. Подожду новую версию Юнити, которая выйдет в июле, может она сможет нормально скомпилить.
Один пикабушник уже написал композицию, довольно приятную, она в главной менюшке звучит. И она не восьмибитная. Но я пока не определился по поводу финального вида игры. Так что дай послушать, чего сочиняешь. У меня и другие игры готовятся к выходу.
Память 4 ГБ 1333 МГц DDR3
Графика Графика Intel HD 3000 384 МБ
Вдруг нужно будет.
В release notes к новой версии Unity3D написали, что compute shaders (которые я использовал для вычислений на видеокарте) могут компилиться под Metal (графический интерфейс на маках). Я попробовал, но оно ни у кого не работает. Не знаю, почему. Я оставил отзыв на форуме Юнити. Посмотрим, может исправят в новой версии, которая выйдет в июле.



Лига Геймеров
57.8K постов92.1K подписчиков
Правила сообщества
Ничто не истинно, все дозволено, кроме политоты, за нее пермач, идите на ютуб
Помни!
- Новостные/информационные публикации постим в pikabu GAMES
- Развлекательный контент в Лигу Геймеров
Нельзя:
Попрошайничать;
Рекламировать;
Оскорблять участников сообщества;
Нельзя оценивать Toki Tori ниже чем на 10 баллов из 10;
Выкладывать ваши кулвидосы с только что зареганных акков - пермач
За неэтичное использование сообщества - тоже бан. Если ты выкладываешь пост в наше сообщество и получаешь стартовые плюсы от наших подписчиков, не думай, что вытаскивать потом пост в своё личное сообщество будет умным поступком.