Лавка Разработчика
3.36K subscribers
396 photos
42 videos
16 files
638 links
Мы тут игры пилить будем, или как?

YouTube: https://youtube.com/@gamedevlavka

Автор: @vavilichev

Все контакты: https://linktr.ee/vavilichev
Download Telegram
Всем здрасти, как вы тут, держитесь?

Слышал дискорд, кое-где заблочили, как вам? Чем пользуетесь? Чего еще заблочили? Какие новости вообще?

Я подразобрался с делами, накопившимися за отпуск и потихоньку вкатываюсь в режим. Как и обещал, следующее видео будет про Flatbuffers, не маленькое, так что нужно время на подготовку.

Всем спасибо за внимание, скучал по вам!
24🔥18🤡3
⚡️Unity 6 релизнулась пока мы спим тут

Что говорят:

Рендеринг:
- Улучшенный рендер, мол перенесли какую-то математику с CPU на GPU, что позволяет рисовать большие сцены быстрее
- URP Render Graph помогает мобилкам не страдать на рендере и экономить батарейку (это круто, кстати)
- Возможность апскейла кадров

Мультиплеер:
- Некий Multiplayer Center, позволющий настраивать мальтиплеер на кончиках пальцев. Надо потыкать, звучит оч прикольно.
- Можно тестить мультиплеер прямо внутри редактора, а не извращаясь с билдами
- Тихое переключение хоста. ХЗ как работает, если честно

Платформы:
- Поддержка мобильных браузеров. Звучит подозрительна|
- Какие-то Addressables для андроида, пока не понял, что улучшает. Вероятно, скорость загрузки ресурсов.

ИИ:
- Как я понял можно юзать в геймплее, оффлайн, на всех платформах, пилить ассеты и даже анимации к ним. Но, насколько я помню за такое надо доплачивать

Другое:
- Улучшения по картинке для крутых поцанов с HDRP - освещение, туманы, смена дня и ночи,
- Что-то там с профайлером улучшения
- Реклама UI Toolkit
- Реклама Cinemachine камеры

Ролик презентация

#новости
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥9
Небольшой апдейт по проекту #пилимигру. Схемки

Я обещал сделать схемки для проекта, но чет забыл совсем про них. Так что вот. Оказалось не просто обрисовать схемками все понятным образом (для меня-то понятно), так что любые вопросы, дополнения, возражения, иски в суд, можно кидать в комменты к посту, или в Таверну, доработаем так, чтобы стало понятно всем.

Возможно нужно видео снять, чтобы дополнить/пояснить, чекаво, чтобы стало максимально понятно. Если так, то навешивайте ⚡️ на этот пост.

Репозиторий (схемки в высоком разрешении уже там)
Please open Telegram to view this post
VIEW IN TELEGRAM
25❤‍🔥7👍4🔥2🤩2
Скриншот-суббота
Vol. 100


Выжали сотку💪

🔠 Приготовил схемки, верхнеуровнево описывающие архитектуру проекта #пилимигру. Глянуть можно прямо в открытом репозитории, и вообще можно копаться там, сколько душе угодно

🔠 ВК предложили монетизировать контент (хоть кто-то предложил), так что потихоньку заливаю старые видео туда. Результаты ожидаю примерно нулевые, но попробую дублировать посты и туда, может труп заведется. Предлагаю подписаться, если в вк еще сидит кто-то в этом мире

🔠 Потихоньку готовлю видео про Flatbuffers, инструмент для хранения и использования больших конфигов (вместо этих ваших жейсонов)

___
Медленно вхожу в лавочные дела (чего не сказать об основном проекте, там времени на расскачку нет). Пока вот не добрался до 100 Days Of Jo-Jo, но и это впереди. У вас как? Что по скринам? Присылайте в комменты!

#скриншотсуббота
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8👍5🔥3
🕹Вопрос с подвохом

Все согласятся, что самые стремные ошибки в программировании - логические. При чем те, что не ломают выполнение программы и не выкидывают исключение.

Давайте проверимся. Есть следующий код, который всегда выполняется без исключений, все работает четко, но результат выдается неверный. Кто скажет, почему и как поправить?

bool hasChanged = doSomeChanges();  // возвращает успех или не успех
hasChanged = hasChanged || doAnotherChanges(); // метод также возвращает успех или не успех

Надо, чтобы выполнился doAnotherChanges() с возвращением результата, и все второе выражение вернуло true если hasChanged было true ИЛИ результат второго метода вернул true

Вам полегче задачка, т.к. вы знаете, что в этих строчках ошибка, а теперь представьте, что просто программа работает неправильно, но никаких проблем нет. Попробуй найти такоэ :)
Please open Telegram to view this post
VIEW IN TELEGRAM
👀11💩7👍5😱3😁2
Мечтаешь попасть в игровую индустрию, но не знаешь, с чего начать? На самом деле, каждый может не только играть в игры, но и создавать их!

Наш курс по гейм-дизайну — это возможность создать собственный игровой прототип на Twine, освоить основы HTML и CSS и попробовать себя в разработке с нуля.

🕹 Разработай собственный прототип!
🎮 Участвуй в нашем гейм-джеме только для студентов и создай игру в команде за три дня!
🎯 Научись работать с игровыми метриками и аналитикой, а также применять теорию вероятностей для расчета баланса.
📚 Учись в удобное время с помощью записанных видеоуроков.

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

За 2 месяца обучения ты получишь навыки, которые помогут влиться в геймдев и начать карьеру с сильным портфолио!

📝Заполняй заявку: тут
📚 Программа курса : тут
14👎8😎6
Российская консоль Эльбрус, убийца PlayStation 6, выйдет в 2028

В общем, новость уже давно не новость, но в рф разрабатывается игровая консоль, и в августе этого года в сеть утекли изображения консоли и даже ее спеки. Консоль разрабатывается на базе процессора Эльбрус-2С3, который поддерживает x86 приложухииии... В списке поддеживаемых (уже) игр Doom 3, CS GO, S.T.A.L.K.E.R., Serious Sam, GTA III... Движки, судя по фоткам поддерживают Nau Engine, Unigine, даже Godot.

По оценкам комплектующих, цена консоли ожидается от 50 тыс. рублей (~$520).

Сомнительно, нууууу, окей. С другой стороны, существует же консоль PlayDate xD
🤣38👍7🤡6😁5💩32🔥1🤮1
Ночной пост из Лавки. Видео не записал, но сделал кое-что важное

Всю неделю полировал шаблон для быстрого разворачивания тех самых FlatBuffers от гугла для использования в связке FlatBuffers + Google Spreadsheets = оптимизированные конфиги в таблицах с импортом по кнопочке. Знаю, мало кому нужны сложности, однако, шаблон я все-таки сделаю открытым.

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

И все равно огорчу, т.к. кренделя к таблицам нельзя шарить в открытый доступ, то классы конфигов скомпилируются через FlatBuffers/Compile FlatBuffers Schemas, а вот заимпортить тестовые таблички не получится. Кренделей в проекте нет.

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

Можно звездочку пока на репозиторий поставить :3
Ну и покопаться, если желание есть.

Пы.Сы. Нужно только в тех проектах, где ожидаются большие таблицы с конфигами. Для мелких проектов можно и на SO на коленке собрать.
👍165🔥3🤡1
Давно про ассеты ничего не было, а за ними следить-то надо!

Поэтому вот ссыль на видео 100+ бесплатных ассетов за сентябрь от SpeedTutor и вот ссыль на видео ТОП 10 ассетов за октябрь от Code Monkey. Смотрите, присматривайтесь, может чего себе добавите. Всякие арт-ассеты там, конечно, ничего такие!

#ассеты
❤‍🔥17👍1
Всем привет! У нас тут это, папка! 👀

Сговорились с ребятами и создали папку авторских каналов, посвященных разработке игр. Каналы хорошие, сам читаю и вам рекомендую

Что в наличие:

🔹 Информацию о геймдеве из первых рук
🔹 Новости игровой индустрии
🔹 Обзоры, разборы, рецензии игр
🔹 Необычные инди-игры, в которые точно стоит сыграть
🔹 Живое общение с геймерами и разработчиками
🔹 Истории людей, работающих в геймдеве
🔹 Полезную информацию о продвижении и вакансиях

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

https://t.iss.one/addlist/OieSIJlrWW42N2My
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🙏2
Скриншот-суббота
Vol. 101


Потихоньку раскачиваемся. Идет туго, в Батуми круглосуточные дожди уже пару недель

🔠 Для того, чтобы сделать хороший материал по FlatBuffers, пришлось попотеть. Не успел сделать видео, но шаблон для использования связки FlatBuffers + Google Sheets для конфигов уже готов. Подробности писал вот в этом посте

🔠 Неделя процедурных анимаций. Вы бы знали, сколько кода для процедурных анимаций я написал на этой неделе.. Наверное, за весь мой опыт столько не писал, так что в отдельный пункт даже выделю :)

___
Приглашаю проследовать в комментарии и поделиться своими успехами и неуспехами за неделю! Традиция такая, что уж тут поделать.

#скриншотсуббота
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥61
✍️Осторожно, аниме! Аниме и игры.

После долгого прогрева кусочками из сериала Ванпанчмен в ТикТок, я все же посмотрел сериал. Оказалось, что в доступе есть всего 2 сезона, которые я благополнучно просмотрел и теперь жду следующий. И у меня возник вопрос: почему, казалось бы, такой весьма наивный, хоть и со значительной долей жестокости мультфильм, так зацепил меня?

Вспомнил еще "кусочки" разных анимешных мульфильмов из ТикТока (правда, названия я не запомнил). Там что-то про школу магии: в школу поступил ученик из бедной семьи и ему очень надо было почему-то там быть. Он был очень сильный и быстрый, поэтому подменял своими навыками работу магии. Ну и несколько других сериалов.

Потом вспомнил тех же покемонов из детства. И Шаман-Кинг.

Я не знаю историю появления комиксов по всем этим франшизам, но всех их объединяет одно: из них легко сделать игры. Настолки, видео - любые. Они словно сделаны по играм, а не наоборот:
- Большое количество персонажей со своими умениями
- Система градации персонажей (как положительных, так и отрицательных), в некоторых случаях буквально обозначенная числом (класс S ранг 10, "его фуриоку 100500" и т.д.)
- Возможность прокачиваться (качать покемонов, шаманов, героев из ассоциации героев, и т.д.)
- Соревновательная система - турниры и подобное
- Ну про главного босса говорить не будем, т.к. это неотъемлемая часть киноиндустрии, а не конкретно этих сериальчиков

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

Прикольно ж.

#заметки
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔15🥴9🔥75
Опять я со своими FlatBuffers и Google Sheets!

В общем, написал доку. Она не маленькая и непонятненькая. Я хотел бы ее обкатать, и если кому-то интересно, с ней можно ознакомиться здесь.

Все, что непонятно, неинтересно, отвратительно, пишите в комментариях, спасибо!

П.С. Я еще видео сниму, ну там вообще понятно все должно быть!
11🔥8
Лавка Разработчика
В другой раз, Дом. Я завалил городской экзамен на водительские права в Грузии
Спустя 5 месяцев, со второй попытки, я сдал на водительские права в Грузии

П.С. На картинке изображено типичное вождение в Грузии

#оффтоп
👍33🎉305🫡2😁1
⚡️Новое видео в Лавке Разработчика!
Flatbuffers и Google таблицы. Как ипортировать конфиги из таблиц и эффективно использовать их в Unity

Что ж, на создание этого видео я потратил недели три. И оно большое. Все предупреждения, кому это может пригодиться (имею ввиду Flatbuffers) вначале видео, так что если оно вам не надо - поймете быстро. А так, получилась большущая, полноценная лекция об этом инструменте, который (спойлер) придуман прямиком для разработки игр. Пошаговое руководство использования с предоставлением свободного доступа к шаблону. В общем, если смотреть не будете, лайк хоть поставьте. Я должен было это сделать.

https://youtu.be/Z40Gvx2jEz4

Версия ВК Видео

#видео #видеоизлавки
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍43🔥162
Скриншот-суббота
Vol. 10
2

Уже лучше, но все еще не идеально

🔠 В новое видео из Лавки Разработчика вложено воистину много сил. На этой неделе в шаблон Flatbuffers Template была добавлена документация, ну и собственно, новое видео целиком и полностью посвязено шаблону и разбору вопроса: как использовать связку Flatbuffers и гугл таблицы.

🔠 Сдал на водительские права, теперь можно даже монетизацию на ютюбе вернуть. Интересно, за месяц пару баксов соберется, как думаете?

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

___
Большая работа завершена, теперь можно возвращаться к проекту #пилимигру и 100 Days Of Jo-Jo (надо наконец доделать его уже). Ну и теперь ваш черед скидывать в комментарии результаты последней недели.

#скриншотсуббота
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍3
🔖История о магическом баге

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

Сегодня будет история про Cocos и TypeScript.
В Cocos, у ноды (аналог GameObject) есть свойство node.active, что в Unity gameObject.activeInHierarchy. В Unity можно установить через метод gameObject.SetActive(value), а в Cocos только через node.active = value.

Так вот, решили мы добавить расширение для класса ноды, чтобы можно было node.setActive(value) пользоваться. Это хотелось сократить записи вида:
if (myNode !== null){
myNode.active = true;
}


до записи вида:
myNode.setActive(true);

ну и внутри всякие проверочки. Сделали, все работает, огонь, удобно.
А спустя почти неделю билд на мобилки надо собирать. А билд на мобилках не работает. Ни андрюха, ни яблос не хочет грузить игру. Она запускается, но видна бесконечная загрузка. Ошибка есть, но говорит, что-то про Promises (аналог async в C#). Полез смотреть, где был добавлен код с асинхронщиной за последнюю неделю. Тогда я еще не знал, что проблема крылась в простом расширении. Но открылось, что подобного кода никто не добавлял в проект, а значит ошибка дает 0 полезной информации. Видимо она случается косвенно, из-за чего-то другого.

Здесь начинается квест сдохни или умри найди поломанный коммит. Напомню, что проблема в мобильных билдах. То есть надо собрать билд, чтобы понять, есть ли ошибка или нет. В Unity попроще, билд андроид собирается прямо из редактора. А в Cocos собирается проект для Android Studio. Потом переходишь в Android Studio и запускаешь билд на андроид.Таким образом, методом двоичного поиска я сидел, собирал билды, проверял работоспособность почти весь день. Раз 25 собрал. Нашел поломанный коммит. А там ничего интересного. Обычная логика, обычное расширение, про которое я написал выше, мы такие уже делали для класса Node.

Наступила стадия кропотливого поиска проблем. Когда инвертируешь коммит и убираешь изменения по одному файлику внутри коммита. И точно также собираешь билд, ведь тебе нужно понять в каком файлике проблема! В общем, выяснилось, что в расширении проблема. Вот в этом простом расширений. Другие расширения работают, а вот это нет, ломает проект.

Мы глубоко в причины не зарывались, но думается, что расширение с возможностью включать и отключать ноду становится доступным в многопотоке, а кокос (как и юнити) на мобилках работает в монопотоке, и видимо там при каких-то проверках выпадало исключение внутри движка, а до лога добиралась какая-то левая инфа.

Так что вот, и такое в геймдеве случается. Если у вас тоже появились магические баги за последнее время, делитесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🤯173❤‍🔥3🆒1