Вчера были на фестивале Конфа https://t.me/igra_konfa, где насобирали новых багов и геймдизайнерских недочётов, и где я понял, насколько всё вылетает из головы, когда что-то говоришь со сцены. Надеюсь, если где-то позже буду аналогично представлять игру, это будет уже получше выглядеть)
Так что пока добавление фич несколько откладывается, но зато будет больше времени на проработку геймдизайна
Так что пока добавление фич несколько откладывается, но зато будет больше времени на проработку геймдизайна
Telegram
IGRA (Initiative Gaming & Russian Awards) КОНФА
IGRA - Initiative Gaming & Russian Awards - сообщество разработчиков игр и геймеров.
Также устраиваем ежегодную номинацию с призами и фестиваль!
Поддержать: https://boosty.to/igra_konfa
Наш VK: vk.com/igra_konfa
Наш YouTube: www.youtube.com/@IGRA_KONFA
Также устраиваем ежегодную номинацию с призами и фестиваль!
Поддержать: https://boosty.to/igra_konfa
Наш VK: vk.com/igra_konfa
Наш YouTube: www.youtube.com/@IGRA_KONFA
🔥6👍1
На этой неделе не очень много времени ушло на собственно программирование (относительно критичный баг был всего один, и был исправлен быстро), больше на сразу несколько параллельных обсуждений, касающихся как внешнего вида игры, так и механик:
во-первых, начали думать над заменой логотипа, так как планируем в этом году подать заявку на регистрацию товарного знака в пределах РФ (надо бы и за пределами, но там пока вообще космические суммы), а текущий логотип был сделан буквально за день до одного из шоукейсов, так как незадолго до него сменили название игры на более узнаваемое (добавили "Нефелия" в начале). С того времени прошло уже больше года, но нет ничего более постоянного, чем временное. Так как сроки поджимали, пришлось использовать стоковую картинку дирижабля, которую теперь планируем нормально перерисовать. Прикладываю изображение более раннего проекта переделки логотипа, который, возможно, пойдёт в дело в итоге.
во-вторых, обсудили и пришли более-менее к общему взгляду на грядущую механику крюка/гарпуна. Ранее моё нежелание дальше множить сущности и хоткеи заставляло меня пытаться натянуть сову на глобус. Я пытался свести понятия швартовочного крюка (а также гарпуна для закрепления там, где нам исходно нельзя закрепиться :вражеский дирижабль, псевдоцет и т.п.) либо к сбору ресурса, как с водой, либо к орудию. Но сбор мы активируем на продолжительное время, а потом деактивируем, а орудия вообще достаточно автономны от игрока. Выстрел же крюком должен быть по нашей команде, когда мы оказались в нужном месте в нужное время. Это не будет челленджем в спокойной ситуации швартовки, однако, например, в бою при абордаже, или при швартовке в ураган (если захотим её куда-то добавить) уже вполне себе.
Помимо этого достаточно рутинно продолжаю добавлять в игру LOD для моделей дирижаблей. После этого единственной моделью без них останется ферма, но её как раз планировали заменить к следующей мажорной версии демки
во-первых, начали думать над заменой логотипа, так как планируем в этом году подать заявку на регистрацию товарного знака в пределах РФ (надо бы и за пределами, но там пока вообще космические суммы), а текущий логотип был сделан буквально за день до одного из шоукейсов, так как незадолго до него сменили название игры на более узнаваемое (добавили "Нефелия" в начале). С того времени прошло уже больше года, но нет ничего более постоянного, чем временное. Так как сроки поджимали, пришлось использовать стоковую картинку дирижабля, которую теперь планируем нормально перерисовать. Прикладываю изображение более раннего проекта переделки логотипа, который, возможно, пойдёт в дело в итоге.
во-вторых, обсудили и пришли более-менее к общему взгляду на грядущую механику крюка/гарпуна. Ранее моё нежелание дальше множить сущности и хоткеи заставляло меня пытаться натянуть сову на глобус. Я пытался свести понятия швартовочного крюка (а также гарпуна для закрепления там, где нам исходно нельзя закрепиться :вражеский дирижабль, псевдоцет и т.п.) либо к сбору ресурса, как с водой, либо к орудию. Но сбор мы активируем на продолжительное время, а потом деактивируем, а орудия вообще достаточно автономны от игрока. Выстрел же крюком должен быть по нашей команде, когда мы оказались в нужном месте в нужное время. Это не будет челленджем в спокойной ситуации швартовки, однако, например, в бою при абордаже, или при швартовке в ураган (если захотим её куда-то добавить) уже вполне себе.
Помимо этого достаточно рутинно продолжаю добавлять в игру LOD для моделей дирижаблей. После этого единственной моделью без них останется ферма, но её как раз планировали заменить к следующей мажорной версии демки
👏8👍7
Большую часть недели занимался внедрением LOD уровней для моделей дирижаблей. Не считая моделей двигателей, с самими дирижаблями, наконец, всё готово.
Следующая цель — рефакторинг звукового кода. Попробовали внедрить написанный ИИ звуковой менеджер, максимально избегающий создания новых инстансов звуков и переиспользующий имеющиеся, но Fmod такой суровый, что сам факт добавления коллбека на окончание проигрыша звука приводит к вылету Unity при воспроизведении чего-либо:) Поэтому отступили назад и пока просто убираем скопированный код в специализированный класс, до чего долгое время не доходили руки. После этого, когда будет готова модель разведывательного коптера для навигатора, перейду к реализации механики разведки.
Следующая цель — рефакторинг звукового кода. Попробовали внедрить написанный ИИ звуковой менеджер, максимально избегающий создания новых инстансов звуков и переиспользующий имеющиеся, но Fmod такой суровый, что сам факт добавления коллбека на окончание проигрыша звука приводит к вылету Unity при воспроизведении чего-либо:) Поэтому отступили назад и пока просто убираем скопированный код в специализированный класс, до чего долгое время не доходили руки. После этого, когда будет готова модель разведывательного коптера для навигатора, перейду к реализации механики разведки.
👍12❤2
В кои веки мне есть что показать в плане скриншота: большую часть недели продолжал заниматься кодом звука, но сегодня успел добавить логику подсветки маркера выбранной цели и написал шейдер для отображения указателя на неё в 3D. Это подготовительный этап перед добавлением полноценного приказа навигации: на плейтестах люди достаточно часто не могут найти направление объекта, несмотря на маркеры на компасе. В случае с результатом приказа навигации это особенно критично, т.к., несмотря на то, что мы сделаем всё от нас зависящее, чтобы направление на найденную (часто ещё невидимую) цель было понятно игроку, сам по себе физический объект-указатель (коптер по умолчанию) может зависнуть достаточно далеко и не быть видимым. Плюс в любом случае встроенный в трёхмерный мир указатель должен считываться лучше, чем 2D маркеры по краям.
Для тех, кому не нравится, когда игра становится похожей на боевой шлем с OSD, такое выделение объекта на компасе всегда можно будет отключить.
В общем, я надеюсь, что до конца осени внедрим приказы навигатору и успеем их первично проверить на каком-нибудь шоукейсе. Может быть, даже глобальную карту тоже успеем добавить
Для тех, кому не нравится, когда игра становится похожей на боевой шлем с OSD, такое выделение объекта на компасе всегда можно будет отключить.
В общем, я надеюсь, что до конца осени внедрим приказы навигатору и успеем их первично проверить на каком-нибудь шоукейсе. Может быть, даже глобальную карту тоже успеем добавить
👍9❤4🔥3
На этой неделе закончил с 3D указателем на объекты в игре, а также начал разбираться с логикой навигации + параллельно наш 3D моделлер Анастасия доделала модель разведывательного дрона.
Теперь осталась "самая малость": реализовать логику поиска нужного объекта среди сотен существующих одновременно в игре (возможно, здесь не обойдётся без использования Job System, которую я не очень давно, наконец, освоил на уровне "могу писать сам с нуля").
А также решить, насколько симуляционный подход к моделированию движения коптера будет более простым в реализации в конечном счёте: честно моделировать противостояние силы тяжести и изменяемого вектора подъёмной силы? Или остановиться на простом перемещении физического тела без силы тяжести, и чисто анимацией + изменением направления и скорости вращения винтов показывать, как манипулирование тангажом и креном меняет расположение? Теперь понимаю, почему пилотирование дрона куда сложнее, чем даже самолёта, не говоря уже о дирижабле (если отбросить аэростатику). Хорошо, что напрямую это на игрока не будет ложиться, но хотелось бы, по крайней мере, избежать явных визуальных ляпов типа синхронного вращения всех винтов в одном направлении, если мы не вращаемся на месте
Теперь осталась "самая малость": реализовать логику поиска нужного объекта среди сотен существующих одновременно в игре (возможно, здесь не обойдётся без использования Job System, которую я не очень давно, наконец, освоил на уровне "могу писать сам с нуля").
А также решить, насколько симуляционный подход к моделированию движения коптера будет более простым в реализации в конечном счёте: честно моделировать противостояние силы тяжести и изменяемого вектора подъёмной силы? Или остановиться на простом перемещении физического тела без силы тяжести, и чисто анимацией + изменением направления и скорости вращения винтов показывать, как манипулирование тангажом и креном меняет расположение? Теперь понимаю, почему пилотирование дрона куда сложнее, чем даже самолёта, не говоря уже о дирижабле (если отбросить аэростатику). Хорошо, что напрямую это на игрока не будет ложиться, но хотелось бы, по крайней мере, избежать явных визуальных ляпов типа синхронного вращения всех винтов в одном направлении, если мы не вращаемся на месте
❤6
Прошлая неделя в основном была заполнена текучкой, задачами по основной работе и пока безуспешными попытками лечения затянувшейся сверх всяких приличий сопливости. Но, по крайней мере, успел доделать логику поиска конкретных объектов + начал в первом приближении добавлять черновой UI глобальной карты, на которой будем выбирать нужное нам направление ветра. После этого нужно будет добавить отображение результатов работы навигатора на компасе и глобальной карте, а потом самое сложное, связанное с визуализацией указания на цель: пока только с коптером
🫡4❤1
Добавил необходимую логику для выбора направления ветра навигатором.
Похоже, именно в этой итерации придётся захватить больший кусок логики карты, чем думал изначально. Помимо показа/скрытия объектов по высоте (сейчас отображается только наш дирижабль и слои ветра), а также секторов неба, нужно будет реализовать обновлённую логику спавна платформ с учётом областей, в которых они могут появляться. Это нужно не только для приказа разведки конкретных координат платформы, но и для её нормального отображения на глобальной карте.
Дело в том, что в момент начала полёта координаты большей части интересующих нас объектов типа больших и малых платформ уже являются устаревшими: у радио есть определённый (достаточно небольшой в наших реалиях) радиус действия, стационарных объектов нет, всё в движении. Но как тогда в принципе планировать полёт, если конкретная конечная точка неизвестна? Именно поэтому на карте будут отображаться области неба, в которых может находиться нужный нам объект, и маршрут имеет смысл строить +/- до центра этой области. А вот уже при приближении к ней будет несколько опций, как превратить примерные координаты в конкретные.
Если радио всё ещё не разрядилось, можно попробовать связаться с диспетчерской платформы с его помощью.
Если на борту есть навигатор, можно поставить ему задачу рассчитать актуальные координаты по последним известным: в итоге он может ошибиться, но может и вывести правильные задолго до радио- и визуальной видимости объекта.
Наконец, есть некоторая вероятность наткнуться на нужную платформу, перемещаясь наугад по нужной области неба. Хотя, конечно, это самый ресурсоёмкий способ.
В дальнейшем также хотим добавить возможность спросить дорогу у дирижабля в нужной области, с которым удалось связаться по радио.
Похоже, именно в этой итерации придётся захватить больший кусок логики карты, чем думал изначально. Помимо показа/скрытия объектов по высоте (сейчас отображается только наш дирижабль и слои ветра), а также секторов неба, нужно будет реализовать обновлённую логику спавна платформ с учётом областей, в которых они могут появляться. Это нужно не только для приказа разведки конкретных координат платформы, но и для её нормального отображения на глобальной карте.
Дело в том, что в момент начала полёта координаты большей части интересующих нас объектов типа больших и малых платформ уже являются устаревшими: у радио есть определённый (достаточно небольшой в наших реалиях) радиус действия, стационарных объектов нет, всё в движении. Но как тогда в принципе планировать полёт, если конкретная конечная точка неизвестна? Именно поэтому на карте будут отображаться области неба, в которых может находиться нужный нам объект, и маршрут имеет смысл строить +/- до центра этой области. А вот уже при приближении к ней будет несколько опций, как превратить примерные координаты в конкретные.
Если радио всё ещё не разрядилось, можно попробовать связаться с диспетчерской платформы с его помощью.
Если на борту есть навигатор, можно поставить ему задачу рассчитать актуальные координаты по последним известным: в итоге он может ошибиться, но может и вывести правильные задолго до радио- и визуальной видимости объекта.
Наконец, есть некоторая вероятность наткнуться на нужную платформу, перемещаясь наугад по нужной области неба. Хотя, конечно, это самый ресурсоёмкий способ.
В дальнейшем также хотим добавить возможность спросить дорогу у дирижабля в нужной области, с которым удалось связаться по радио.
❤6👍4🫡1
Можно сказать , что работа с логикой глобальной карты уже ближе к концу, чем к началу. Немало времени ушло на физически корректное отображение области, до которой сможем добраться с учётом текущего ветра, скорости и запаса топлива, но, кажется, теперь там уже не будет каких-либо больших переделок.
Из мелочей осталось добавить переключение масштаба, возможность устанавливать свои метки на карту и придумать, как нормально обозначать глобальные (т.е. ограниченные только по высоте) постоянные потоки ветра.
Из крупного - нужно будет переделать алгоритм отображения координат платформ на компасе и карте с учётом того, что исходно мы не знаем точных координат и лишь в процессе полёта можем их получить из разных источников (описывал это выше).
Так и получится, что планировавшаяся после логики разведки глобальная карта будет готова до:) Правда, не считая чистового дизайна: пока, всё-таки, на этих скриншотах всё из серии "озвучено профессиональными программистами". Спасибо нейросетям за заглушки для арта.
Хотя и в плане кода тоже помощь весомая. Правда, периодически получается, что рядом с работающей логикой написана дичь, но в процессе такого код ревью приучаешься не зевать: всё-таки здравый смысл как сущность есть только у меня, а с той стороны никакого понимания за пределами чётко обозначенной задачи нет. Однако в процессе выяснения, что пошло не так, нейросети очень хорошо помогают правильно распознать, в чём может быть причина.
Из мелочей осталось добавить переключение масштаба, возможность устанавливать свои метки на карту и придумать, как нормально обозначать глобальные (т.е. ограниченные только по высоте) постоянные потоки ветра.
Из крупного - нужно будет переделать алгоритм отображения координат платформ на компасе и карте с учётом того, что исходно мы не знаем точных координат и лишь в процессе полёта можем их получить из разных источников (описывал это выше).
Так и получится, что планировавшаяся после логики разведки глобальная карта будет готова до:) Правда, не считая чистового дизайна: пока, всё-таки, на этих скриншотах всё из серии "озвучено профессиональными программистами". Спасибо нейросетям за заглушки для арта.
Хотя и в плане кода тоже помощь весомая. Правда, периодически получается, что рядом с работающей логикой написана дичь, но в процессе такого код ревью приучаешься не зевать: всё-таки здравый смысл как сущность есть только у меня, а с той стороны никакого понимания за пределами чётко обозначенной задачи нет. Однако в процессе выяснения, что пошло не так, нейросети очень хорошо помогают правильно распознать, в чём может быть причина.
❤8👍1
Первый этап работы над глобальной картой завершён: сейчас на ней отображаются известные глобальные и окрестные ветра, направление и скорость дирижабля, а также воздушные течения.
Перед переходом ко второму этапу, чтобы 2 раза не вставать, добавил давно планировавшийся экран команды на 3 вкладке. В отличие от отдельных экранов членов экипажа, здесь можно наглядно увидеть, как определяются общие характеристики всей команды. Это тоже не окончательный дизайн: на уровне оформления элементов по нему ещё должна пройтись рука дизайнера, когда мы его найдём и (самое главное) когда у всех, кого это касается (ГД и программист) будет время на UX как основную задачу + позже добавится механика лояльности членов экипажа.
Теперь дело за следующим этапом наполнения глобальной карты: нужно будет поменять принцип работы координат платформ, чтобы в начале полёта отображались только примерные координаты платформ (кроме той, с которой вылетели и от которой ещё не успели отдалиться), а точные мы должны будем тем или иным способом получить уже в полёте.
После этого всё будет готово уже непосредственно к внедрению логики приказов навигатору. На её уточнение на этой неделе потратили ещё вечер жарких текстовых баталий:) Но в итоге стало ясно, что где-то за кадром проваливать бросок на обнаружение чего-то скрытого, а потом при вроде бы успешно проведённой разведке попадать в засаду — так себе идея, поэтому навигатор всегда будет обнаруживать всё, до чего дотягивается. А вот как далеко он дотягивается и с какой скоростью это обнаруживает — уже будет определяться уровнем его подготовки
Перед переходом ко второму этапу, чтобы 2 раза не вставать, добавил давно планировавшийся экран команды на 3 вкладке. В отличие от отдельных экранов членов экипажа, здесь можно наглядно увидеть, как определяются общие характеристики всей команды. Это тоже не окончательный дизайн: на уровне оформления элементов по нему ещё должна пройтись рука дизайнера, когда мы его найдём и (самое главное) когда у всех, кого это касается (ГД и программист) будет время на UX как основную задачу + позже добавится механика лояльности членов экипажа.
Теперь дело за следующим этапом наполнения глобальной карты: нужно будет поменять принцип работы координат платформ, чтобы в начале полёта отображались только примерные координаты платформ (кроме той, с которой вылетели и от которой ещё не успели отдалиться), а точные мы должны будем тем или иным способом получить уже в полёте.
После этого всё будет готово уже непосредственно к внедрению логики приказов навигатору. На её уточнение на этой неделе потратили ещё вечер жарких текстовых баталий:) Но в итоге стало ясно, что где-то за кадром проваливать бросок на обнаружение чего-то скрытого, а потом при вроде бы успешно проведённой разведке попадать в засаду — так себе идея, поэтому навигатор всегда будет обнаруживать всё, до чего дотягивается. А вот как далеко он дотягивается и с какой скоростью это обнаруживает — уже будет определяться уровнем его подготовки
👍11🎉2❤1🔥1
Добавил на карту возможность "перетаскивать" объекты на компас: пока только фрагменты локальных воздушных течений и глобальные слои ветра (общеизвестные и те, которые мы разведали во время полёта).
По сути это аналог установки метки на карте для любых объектов, которые сохраняют своё расположение в течение длительного времени.
В дальнейшем такая же возможность будет для зон платформ и для глобальных восходящих потоков, а также других постоянных объектов на карте, которые мы решим туда добавить.
Кроме того, теперь есть элементы тактической карты, т.е. отображаются все метки, которые в данный момент есть на компасе (ближайший источник ресурсов при активной добыче + противники при активном бое).
Осталось всего 2 недостающие вещи для отображения на карте: линейка для измерения расстояний и зоны примерных координат платформ (+ точные координаты для известных платформ).
Надеюсь, успею это доделать за следующую неделю.
По сути это аналог установки метки на карте для любых объектов, которые сохраняют своё расположение в течение длительного времени.
В дальнейшем такая же возможность будет для зон платформ и для глобальных восходящих потоков, а также других постоянных объектов на карте, которые мы решим туда добавить.
Кроме того, теперь есть элементы тактической карты, т.е. отображаются все метки, которые в данный момент есть на компасе (ближайший источник ресурсов при активной добыче + противники при активном бое).
Осталось всего 2 недостающие вещи для отображения на карте: линейка для измерения расстояний и зоны примерных координат платформ (+ точные координаты для известных платформ).
Надеюсь, успею это доделать за следующую неделю.
🔥11