TyapLyapDev - Разработка игр | Движуха Сакутина
225 subscribers
127 photos
77 videos
13 files
26 links
Download Telegram
Всем привет! Т.к. у нас шутер с водяными пистолетами, партиклы струи воды должны дамажить игроков. И если с коллизиями все ок, то получать взаимодействие партиклов с триггерами оказалось излишне замороченно. Так что на игроках будут колладеры, а не триггеры. Только вот если несколько коллайдеров, которые между собой по слоям не взаимодействуют, но пересекается, всё равно будут грузить систему. Пока думаю на это забить, так как лучше неоптимизированная, но уже играбельная игра, чем оптимизированный кусок игры, в который всё ещё нельзя поиграть.

Вчера прилично успел сделать. Сегодня времени на разработку будет не так много.
У ботов своя атмосфера - стратосферная )
Media is too big
VIEW IN TELEGRAM
А вообще это баг, который фича, т.к. тема - гравитационные аномалии 😅

Но я всё же его пофиксил )
Сутки промучался над простой задачей: бросать рейкаст вперёд, получать массив пересечений, а затем исключить ненужные и взять первый подходящий. Ничего не получалось, как я только ни пытался. Я и слои настраивал, и маски менял, но луч отказывался детектить ботов.

И что бы вы подумали? Оказывается, массив надо отсортировать по расстоянию. Очень неочивидный факт.
Не мог понять, почему при спавне стартовые позиции ботов и игрока иногда сбоят. Оказалось, CharacterController не парится и не проверяет, в каком месте персонаж. Он перехватывает инфу в кадре и затирает на своё усмотрение. Решение: отключить контроллер, сменить положение, включить контроллер 😉
Вариант 1:
private void UpdateLayoutComponents()
{
if (_verticalLayoutGroup != null)
{
LayoutRebuilder.ForceRebuildLayoutImmediate(_layout.content);
Canvas.ForceUpdateCanvases();
_verticalLayoutGroup.CalculateLayoutInputVertical();
_verticalLayoutGroup.SetLayoutVertical();
}
}

Вариант 2:
private void UpdateLayoutComponents()
{
if (_verticalLayoutGroup == null)
return;

LayoutRebuilder.ForceRebuildLayoutImmediate(_layout.content);
Canvas.ForceUpdateCanvases();
_verticalLayoutGroup.CalculateLayoutInputVertical();
_verticalLayoutGroup.SetLayoutVertical();
}


Ниже публикну опрос. Интересно, какой вариант записи предпочли бы вы. Буду благодарен, если ещё и напишете почему 🙂
Какая запись приятнее и читабельнее?
Anonymous Poll
42%
Первая
58%
Вторая
TyapLyapDev - Разработка игр | Движуха Сакутина
Какая запись приятнее и читабельнее?
Вижу, что большинство (61%), как и я, за второй вариант. На самом деле это просто вопрос удобства. Мне, например, не нравятся ступеньки (этажи) из фигурных скобок. Второй момент, сразу ясно, что если условие не выполнено, то дальше логики нет. А если она нужна, то надо просто подробить метод на более мелкие составляющие. Тогда будет так же простой выход при невыполнении условия. Понятно, что каждый выбирает стиль под себя, но раз большинство выбрало так же, как и я, наверно это действительно удобнее
Media is too big
VIEW IN TELEGRAM
Как по мне, офигенно получается. Тема - "Шутер". Доп тема - "Гравитационные аномалии".

На видео результат 4 недель кодинга 😎

Спасибо 3-дшнику @TrutnevI за подготовленный ассет пистолета-обливалки 🔫
🔥5
Выше вы могли видеть нашу игру по типу Counter-Strike, но с обливалками вместо стрельбы из оружия. Похоже, что это сейчас плавно переходит в новый проект, который будет работать по сети. За историей разработки можно следить вот тут https://t.me/hydrohavoc

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

Команду, с которой мы начали делать на джеме, я не забываю, вот они:

@EpickTime - геймдиз
@TrutnevI - 3D-художник
@Zenderpro1610 - кодер

К проекту присоединился отличный кодер @i1ssaacc

Мы начинаем разработку 🙂
👍2❤‍🔥1🔥1
Наша команда расширилась до 4-х человек. Примем в команду ещё норм кодера, 3d моделлера, звукаря. Настрой вроде как серьёзный. А, ну и да, стартуем на энтузиазме, так что сейчас без выплат.
Пока в процессе создания кастомного SplineMesh для своего проекта, расковыриваю редактор Unity и периодически ловлю себя на мысли, что делать удобный редактор уровней для лвл-дизайнеров мне интереснее, чем даже пилить игру.

Все, кто ещё не успел покинуть канал, примерно через неделю смогут одним глазком взглянуть на процесс настройки уровня с помощью собственноручно написанных инструментов 🙂
🔥4
Знаю, что лучше бы публиковать пост со скринами того, что сделано. Только вот когда дома, я предпочитаю покодить, а не публиковать что-то. А когда в пути, как сейчас, я рад поделиться новостями, но нет при себе материалов )

Итак, что сделано:

1. Сплайны собственного производства, по которым выстраиваются маршуты авто.

2. Тестовая сцена с временным оформлением города и расставленными сплайнами. Сделал @Aleksey_Pivnyak

3. Система поиска кратчайшего пути с помощью алгоритма A*.

4. Появляющиеся на карте города иконки ожидающих пассажиров и возможность подбирать их и везти к пункту назначения.

5. Заработок сейчас зависит от расстояния пути, где начало - точка посадки пассажира, а конец - точка высадки. В дальнейшем добавиться коэффициент, зависимый от качества авто.

6. Возможность переключаться между авто. Выбирать конкретное и самостоятельно отправлять в любую точку города. В будущем можно будет нанимать диспетчеров, чтобы играть вообще на дзене.

В процессе создание автосалона, где можно будет покупать новые авто.

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

Могу сегодня публикнуть, как это выглядит на данный момент. Только напишите, что вам интересно взглянуть.
🔥4👍3
Народ, через знакомого кодера сконнектился с людьми, которые ищут разраба для своих проектов, причём, с приличной оплатой за выполненную работу. Я сам погряз в проектах, поэтому не вывезу ещё один, но вы можете списаться, пообщаться и возможно ударить по рукам и пойти пилить игруху.

Пишите Игорю @goldappru или сюда http://goldapp.dev
😭1
Media is too big
VIEW IN TELEGRAM
В видео говорил, что по скриптам пробежимся, но забыл. Если интересно, пишите, опубликую второе видео. А так же с радостью отвечу на все вопросы, если есть. Я бы даже стрим запилил с процессом разработки, но, как стало понятно из видео, микрофон говно, да и кому это вообще интересно?!
🎉3
Всем привет! По традиции пишу когда еду в транспорте и заняться больше нечем.

Затестил на сайте яндекс игр игру TaxiBusiness и понял, что на моём телефоне тормозит. Дело оказалось в большом количестве батчей (и стареньком телефоне), поэтому надо просто разобраться с 3d моделями (и выкинуть телефон в топку), но я хапнул демотивации и уже какое-то время обхожу проект стороной.

В то же время участвую в проектах другого разработчика и вписался в рефакторинг ещё одного проекта от новых участников Инди Мельницы.

А вчера вообще ни к селу ни к городу начал писать код для 3d игры в космосе. Все планеты, астероиды, космический мусор и даже игрок наследуются от класса GravityObject. На сцене так же есть класс, который хранит ссылки на все объекты с гравитационными свойствами. По запросу он передаёт топ-N объектов, которые сильнее всего на данный момент гравитационно воздействуют на текущий объект. Я даже подофигел, когда выставил условно планету и её спутник, запульнул луну чуть в сторону и она вышла на стабильную эллиптическую орбиту. Но такой проект за счёт даже оптимизированных рассчётов есть смысл делать только под ПК. Вернусь домой и продолжу пилить 🙂
👍3🔥2
Вопрос космическим знатокам.

У нас есть две планеты. Если одна из них с положительной массой, а вторая с отрицательной, то первая притягивается ко второй, но вторая отталкивается от первой (как WARP-двигатель). Но как гравитационно должны влиять друг на друга две планеты с отрицательной массой?

(да, в нашей игре возможно будет экзотическая материя)
🔥2