Готова ли Игра?
254 subscribers
122 photos
20 videos
9 files
31 links
Научу делать игры ПРАВИЛЬНО!

Для связи со мной: @ArtemiZ_GD
Download Telegram
Первая моделька героя готова. Вот такой вот у нас планируется стиль)

Мне кажется, получилось круто.

Вчера созванивались, обсуждали идеи для геймплея. Набросали несколько, теперь нужно их расписать и протестировать…

Мы остановились на 2х основных направлениях:
1. Классический геймплей с экономикой, как в доте, но без механики копилки.
2. Экономика из хардстоуна, то есть, каждый раунд сгорает то, что осталось на предыдущем.
Вот что значит реалистичные сроки:

Сказал команде, что завтра днем надо будет протестировать багфиксы, которые должен сделать сегодня.
Через час понял, что фиксить придется ооочень много и написал, что переношу созвон на некст недели….

Еще через час: пишу, что все сделал и созвон все таки будет:)

Причем я сам удивился, как быстро и эффективно все сделал))) еще и лучше чем планировал.

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

Я же в это время начинаю продумывать экономику и доп фишки игры, сразу же все идеи стараюсь внедрять для тестов.

А как дела у вас, учитесь или уже начинаете создавать свои игры? Может кто-то уже работает или даже свою студию пробует создавать?)
Please open Telegram to view this post
VIEW IN TELEGRAM
Открылось новое дыхание в контексте развития этого канала. Прошу глянуть сторис, все таки я старался:)
А еще, пишите в комментах темы, на которые вы бы хотели видеть мои истории.
Подгон от нашего 3Дшника, игра постепенно набирает краски!
This media is not supported in your browser
VIEW IN TELEGRAM
Вроде бы простая домашка, а получилось очень неплохо)
Я, кстати, постепенно продвигаюсь по прогрессу)
Я вот сижу и думаю, конец года, надо бы цель на новый год поставить.

Меня привлекает идея хакатонов. А точнее геймджемов.

Хотели бы посмотреть, как я соберу небольшую команду и мы вместе постараемся создать что нибудь прекрасное за небольшое время?)
Я смог
Ошибка, которая стоила мне 3 полных рабочих дня…

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

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

1. Повторить ошибку и изучить данные, которые выдает Юнити
2. Найти причину путем несложные проставлений меток (обычно я использую обычный дебаг вывод, просто и быстро)
3. Исправить

Вот только, проблемы появились еще до 1 пункта.

Если вдруг вы работали с Photon Quantum, вы знаете ошибку расхождения состояний (Halting Error). Во время ее появления Юнити не выводит причину ошибки, а все из-за того, что расхождение состояний фиксируется в конце кадра (иногда даже через несколько кадров после совершения расхождения). Это специфика детерминированной системы)

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

В этот раз такого не было. Меня это немного напрягло

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

Изначально я думал что проблема в том, что я не понимаю как работает переподключение и искал проьлему там. Около 8-10 часов я рылся в коде, написанном в самом плагине, но все вроде было хорошо. Реконнект работал. Вот только через некоторое время в игре все равно появлялась эта ошибка.

* прошло 2 дня

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

И тут я решил проверить, если я уберу реконект и повторю все те же операции, что то поменяется? И знаете что?…

НЕТ!!! Проблема осталась. Все же ошибка происходила в другом месте…

Пошел третий день.

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

Я отчаялся. И начал комментировать весь код. Постепенно…

Раз за разом я комментировал все больше и больше кода. Но ошибка не пропадала. И вот в я наконец-то нашел строку, которая вызывает ошибку.. Это был момент освобождения массива (f.FreeList)

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

Алилуя! Заработало. Ошибки не стало. Но остался один нюанс.

Я не верил, что так топорно решать проблему - это правильное решение.

Я решил обратиться к истокам и перечитал документацию по динамическим массивам. И вдруг я нашел роковую строчку: после освобождения массива его необходимо обнулить (= default). В первый раз, когда я читал документацию, я достаточно торопился и пытался успеть сделать задачу в срок. Но в итоге, оно стоило мне очень много времени и нервов. Я 3 дня подряд ложился после 1-2 ночи (мой режим был 23-8)

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

#ЖизньArtemiZ
Как же все таки приятно поменять версию на 0.2, понимая, что все проблемные баги исправлены)

P.s. Я уверен, что на некст тестах мы найдем еще столько же. Но это другое)
Я попробовал снимать сториз, вроде неплохо получается, но хочется развиваться дальше в этом направлении.

Что бы вы хотели видеть у меня в историях?
Anonymous Poll
36%
Моменты из личной жизни
24%
Места, в которых я бываю
84%
Моменты с работы и обучения (Unity)
72%
Обучающих контент (полезные советы)
Vector3Extensions.cs
331 B
Полезная находка!

Не всегда, когда сравниваешь расстояния, нужно знать конкретное значение. Иногда достаточно информации, какой вектор длиннее.

Для этого очень хорошо подойдет расширения методов для Vector3.

Чтобы его использовать, просто добавляете файл в проект игры и пишете:
transform.position.IsEnoughClose()
или
transform.position.SqrDistance()

#Фишки
Я немного приболел, видимо в поликлинике недавно заразился. Вроде уже поправляюсь, но сил пока что то делать нет)

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

Сейчас я готовлю идеи на следующий год.

Мы продолжим работу над авточесом, я буду скидывать вам спойлеры)

Я наконец-то подобрал для себя подходящий темп обучения, поэтому периодически буду делиться результатами.

Тень - мой пет проект, который я планирую активно развивать в следующем году. Если все пойдет по плану, то контента будет много)

Еще в планах поучаствовать в геймджемах.

В общем, идей много, все хочется сделать.

Рассказывайте свои планы в комментариях, а я пойду лечиться)

#ЖизньArtemiZ
Близится новый год. Очень хочется добавить интерактива для вас, поэтому самый важный опрос в истории канала!

В чем бы вы с удовольствием поучаствовали
Anonymous Poll
60%
Геймджемы, организованные мной
60%
Марафоны с определенной тематикой по Unity с победителями в конце
47%
Интенсивы от меня, с возможностью купить личное менторство
47%
Ничего не хочу, выпускайте игры, наконец!
Это все будет позже, но я хочу понимать куда стоит развиваться)
Моя девушка создала канал, если есть любители визуала, подпишитесь, пожалуйста:)
(Она иллюстратор, будет рисовать для моих игр, в том числе)

https://tttttt.me/nastyaschaos

#ЖизньArtemiZ