Добавить в корзинуПозвонить
Найти в Дзене
Мусин Михаил

Март 2021. Unity C#. Мусин Михаил

Перенос с другого сайта. Сегодня ко мне обратились по объявлению.
И спросили, могу ли я сделать мультиплеерную игру. К примеру "Камень ножницы бумага"
А я не могу...
Но пошло 2 часа и я могу. :)
для таких игр нужен сервер. Я научился делать на сервисе Photon.
Там бесплатная версия поддерживает 20 пользователей.
Но пока научился создавать комнаты и подключатся к ним. Изучаю дальше.
Снова хотели со мной созвонится. В этот раз я сразу отказал. Я не понимаю зачем.
Пусть пишут.
---
Установил новую цветовую палитру для Visual Stodio Code
И добавил расширение которое показывает больше вариантов при начале набора кода.
И добавляет линии между началом и концом блока. ---
Появилась задача сделать рисовалку.
В процессе изучения создал физические линии.
это конечно совсем другое. Тут создаются физические объекты, а мне нужно рисовать на материале. ---
Вроде начинаю разбираться. Хотел сначала рисовать на материале. Но для мобильной игры этот процесс очень тяжёлый.
Как я понимаю каждый раз происходи

Перенос с другого сайта.

Сегодня ко мне обратились по объявлению.
И спросили, могу ли я сделать мультиплеерную игру. К примеру "Камень ножницы бумага"
А я не могу...
Но пошло 2 часа и я могу. :)
для таких игр нужен сервер. Я научился делать на сервисе Photon.
Там бесплатная версия поддерживает 20 пользователей.
Но пока научился создавать комнаты и подключатся к ним. Изучаю дальше.
Снова хотели со мной созвонится. В этот раз я сразу отказал. Я не понимаю зачем.
Пусть пишут.
---
Установил новую цветовую палитру для Visual Stodio Code
И добавил расширение которое показывает больше вариантов при начале набора кода.
И добавляет линии между началом и концом блока.

-2
-3
-4
-5

---
Появилась задача сделать рисовалку.
В процессе изучения создал физические линии.
это конечно совсем другое. Тут создаются физические объекты, а мне нужно рисовать на материале.

---
Вроде начинаю разбираться. Хотел сначала рисовать на материале. Но для мобильной игры этот процесс очень тяжёлый.
Как я понимаю каждый раз происходить перерисовка материала.
Поэтому за место этого будут создаваться тысячи объектов с кляксами. Это в итоге более производительно..
Сейчас я использую просто синие круги. И научится создавать маски. Чтобы каждый кусок закрашивался отдельно.
Следующий этап это делать сплошные линии. Я пробовал через line renderer, но криво получается.

-6
-7
-8

И line renderer не умеет работать с масками.
---
Собрал ещё 3 уровня.
Во время очередного обсуждения логики уровня, у меня в мозгу "щёлкнуло".
Я перемудрил с кодом. Я почему то пытаюсь всегда писать код с возможность увеличения функционала. И разделяю код по разным скриптом, по логике работы.
Но на таких маленьких проектах этого не нужно.
Сейчас у меня на каждом предмете висит. два скрипта, А на главном управляющем объекте 5 скриптов.
В середина разработке я один скрипт убрал с главного объекта. Но всё равно много.
Для удобства, я создаю статические списки. Но чтобы их наполнить, я сначала создаю обычный, в редакторе его наполняю и через скрипт копирую в статический.
И у меня уже начинала голова пухнуть от взаимоотношений разных скриптов. Такую логику дольше придумывать и писать.
Сейчас я решил делать всё в одном скрипте. При этом не нужно создавать статические списки и переменные.
Скрипт получается большой, но всё равно он разделён на те же методы, только всё в одном месте. И у меня исчезает взаимосвязь между скриптами, а это дополнительный код, который не нужно писать.

-9
-10
-11
-12
-13
-14

---
Захотелось поделится маленьким кусочком разработки уровня.

-15
-16
-17

---
Доделал основу одиннадцатого уровня
Примерно за 2 часа.
Жду корректировок и материалы для двенадцатого.
И дальше я даже не знаю что будет.
В теории, он будет как то продавать эту игру. Но каким способом я не представляю.
Или целиком, или я закрою часть уровней, которые откроются после оплаты.
---
Сидел думал, как увеличивать и уменьшать размер у рандомных объектов. Ничего путного не получалось.
В итоге всё сделал через анимацию. Нет рандома, но зато всё ровно.

-18
-19

В итоге на реализацию уровня пришлось написать 10 срок кода. :)
---
Решил создать программу для подсчёта потраченного времени на работу.
В частности на платных проектах. Как сейчас игра для детей.
Запустил Visual Studio. Он попросил обновится.
Пока обновлялась программа для обновления. Я писал код.
Потом он попросил всё сохранить и выключить, и начал обновляться.
В итоге старую версию он удалил, а новую отказывается скачивать...
Печалька...
Пока это печатал, скачалось всего 8 мегабайт...
---
Перезапустил интернет и ничего не поменялось...
---
Удалил приложение полностью. Устанавливаю по новой. Ничего не изменилось. Только сейчас скачивать нужно больше...
---
У меня в целом сайт microsoft.com открывается кое-как...
Отключил антивирус. Без изменений.
Видимо придётся продолжить завтра.
---
Добавлял в hosts два DNS сервера в доверенные. Тоже не помогло.
---
Центр обновления Windows тоже глючит.
---
Обновление я перезапустил. Все обновления установились.
Но Visual Studio не хочет скачиваться.
---
Хотя через время скорость появилась.

-20

---
Перезапустил заглючивший Центр обновления Window
Установил все обновления. Перезагрузился.
И Visual Studio начал скачиваться.
При условии, что всё это время интернет был в норме. Другие файлы скачивались на обычной скорости.
---
Прототип программы готов.
Даже решил поработать над игрой ради тестов.
Реализовывал анимацию рыб сверху, в конце игре.
Программа проверяет физические изменения в файлах. Каждую минуту.
Если я просто тестирую игру и ничего не меняю, то программа этого не посчитает.
В итоге за разработкой я сидел 30 минут. Программа насчитала 20.
Получается 10 минут я ничего в игре не менял.
Думаю даже такая статистика будет мне полезна, чтобы оценивать сколько я трачу времени на разработку.
---
Потом перенесу консольную программу в форму и сделаю сохранение времени в файл.
---
И если я буду работать и не сохранять долго данные, то и программа этой работы не посчитает.
Но сохраняю я почти каждый свой шаг.
Наверно интервал увеличу до пяти минут. И если я в этот период сделал хоть одно изменение, эти 5 минут пойдут в зачёт.
---
Хотя судя по текущим цифрам, достаточно ограничить до 3. Но принципиальной разницы не вижу.

-21
-22

---
Попробовал сборщик статистики wakatime.com, не понравилось. Это нужно устанавливать 2 плагина. Один в студию, второй в юнити.
Мне нужно только общее время работы на одним проектом. Всё остальное для меня бесполезно.
Это прикольно посмотреть, но это мне не нужно.
И есть вероятность, что в Unity этот плагин добавлять дополнительную нагрузку во время работы.
Понимаю что незначительно. Но зачем?
И не понятно как он считает статистику. В скрипте я провёл меньше времени. А он написал 18 минут.
Продолжу писать свою программу.
---
Ощущение времени конечно субъективно, но всё же. Мне нужна статистика. В своей программе я буду вести Log со всеми отметками.
А тут только график. Не нашёл пока таблицы со статистикой.
---
Указанно, что всего я работал 1 час 11 минут.
Но это 46 минут со скриптами. Хотя я столько там не работал
И 24 минут Unity.
При условии, что я работал с ними одновременно.
---
Я отключил, чтобы она писала в дебах хоть что-то, а то там было куча сообщений о передаче данных.
А он всё ровно продолжает...
Точно пользоваться не буду.
---
Во время компиляции ещё 20 таких предупреждений.

-23
-24

---
Доделал основу программы.
Сохраняю общее время, и лог программы.
Осталось перевести этот код в форму программы и запустить в фоновом режиме.
---
И немного файлы изменю. Чтобы я могу одну и туже программу использовать в разных проектах.
Меняя только путь в текстовом файле.
Не хочу делать одну программу для всех проектов. Хотя может и сделаю. Ещё не решил.
---
Пока не получается перенести программу. Но и консольная пока работает.
Только ещё нужно добавить время текущей сессии. И уменьшить количество информации.

-25
-26

---
Закончил детскую игру в 12 уровней. Сейчас отправил готовый файл на тестирование.
Что же я получил за это время...
Во первых 7500 рублей. Может будет ещё премия.
Немного изучил систему частиц. И разобрался с аниматором.
Намного быстрее, проще и красивее сделать анимацию, чем писать код для движения.
Для этого даже и не грех поменять логику игры.
Это моя первая мобильная разработка. Хотя она не отличается от обычной. Только управление в конце сменил под сенсор.
Хотя были проблемы сделать адаптивные сцена под разные расширения экрана. Некоторые моменты не смог решить.
В коде я глобально ничего не изучил нового. Немного упростил разработку, перестал писать сложный код без надобности.
Но и всё вроде. Если ещё что-нибудь вспомню, допишу
---
У меня не получается рисовать спрайты для своих игр. Фантазии не хватает, но я подумал...
Я же могу обводить чужие спрайты, перерисовывать.
Сейчас я разобрался как работает аниматор и частицы. Попробую что-нибудь добавить в Recycling the World.
---
Ещё хочу в свою программу для подсчёта времени разработки добавить полную проверку всех файлов.
Чтобы в лог добавлялся какой файл и как изменился.
Логику я придумал, просто лень писать код. Но я его напишу.
---
Мне нужно работать с двумерными массивами, чтобы хранить в них путь и размер файла. Но очень не охота возится с массивами...
---
Промежуточный результат. Сделал систему проверки всех файлов на совпадение.
Сейчас собираю все файлы в массив.
Потом все значения из массива перевожу в значения в списке, с разделителем между путём и размером.
И при проверки делю эти значения на отдельные переменные с помощью разделителя и работаю сними.
По сути осталось добавить пункт со временем. Общим и одной сессии.
И оформить программу.

-27
-28
-29
-30

---
Основу сделал. Со временем может намудрил нужно перепроверить.
Но в целом работает. Забыл сделать скриншот, когда время текущей сессии было больше нуля.
Тут я удалял лишние строки в коде.
---
Хотя я не нашёл создание файла. Видимо есть что исправлять.
---
Исправил ошибки, но тестировать буду в следующий раз.
---
Я добавил задержку на 120 секунд await Task.Delay(12000)
Оказывается это на 12 секунд. Нолик забыл. await Task.Delay(120000)
Получается он сканировал изменения почти в реальном времени.
Из-за этого у меня время считалось не правильно. После каждого изменения я добавлял 120 секунд к общему времени. А он проверял каждые 12 секунд.

-31
-32

---
Мне понравилось как на моё "обучающее" видео реагируют люди. Решил продолжить.
Для пробы создал ещё такое же по сути видео. Но вижу что можно было сделать короче. И хочу нацелится на поисковики.
Типа когда люди ищут. Unity Vector3. И подобное.
И делать много коротких видео о каждом компоненте.

---
Переделал видео. И появилась идея сделать игру с демонстрационными комнатами.
Где за стеклом будет действие, а на табличке написан код.
Как в зоопарках.

---
Собрал базовый куб для демонстраций.

-33
-34
-35

---
Начал создавать "Обучающую игру". Где будут стоять демонстрационные комнаты.
Сейчас собрал одну комнату для примера.
В итоге это будет огромная территория с кучей подобных кубов.
И позже добавлю игру на сайте
musinmihail.itch.io

---
Чего-то мне не хватает. Скорей всего фантазии.
Пока просто продублировал куб. Но мне почему-то нравится их вид.
Я даже задумался свою комнату перекрасить в оранжевый.
Сейчас я наверно начну изучать Blender. Буду там создавать и красить объекты.

-36
-37

---
У меня уже давно была идея, брать чужие обучающие видео и оформлять их в своём стиле.
Сейчас я примерно понял как я хочу подавать информацию.
Но чужие обучающие ролики очень скучные...
Но их нужно смотреть.
Сейчас случайно встретилось видео на 30 минут о Transform. Не знаю что там, но там врят ли есть информации на 30 минут.
Посмотрю и переделаю.
---
Поиграл немного на сайте
https://www.geoguessr.com/
Там нужно по ориентирам определить в какой части мира ты находишься.
Но там нет соревновательного духа. И там есть читеры.
Я же тоже программист. :) Я тоже научился вытаскивать из игры координаты местности.
И стало совсем неинтересно.

-38

---
Освободился от других дел. Можно вернутся к своей игре.
Сейчас добавил индикаторы энергии и вместимости над дроном.
Теперь можно немного разгрузить интерфейс. И формировать новую версию игры для сайта.

-39

Ещё начал формировать документ со всеми задачами и мыслями.
Для примера последняя задача в детской игре(которые я уже выполнил).

-40

---
Пробую подключить статистику
А у них там какие-то ошибки уже 3 года...
Подключил, отправил несколько отчётов, подожду несколько часов. Может появятся.
---
Дошли до монетизации, тоже свои заморочки. Пишет ошибки доступа, приходится использовать обходные пути.

-41
-42
-43