Готова ли Игра?
246 subscribers
130 photos
20 videos
9 files
31 links
Download Telegram
Так как в закрытом чате сейчас мало человек, делюсь с вами одним полезным постом оттуда)

🎮 Путь Unity-разработчика: Как построить портфолио, которое реально работает

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

1️⃣ Начните с трех маленьких, но законченных проектов:

Простой 2D платформер (1-2 уровня)
Мини-головоломка
Аркада с простой механикой

Каждый проект должен быть полностью играбельным и отполированным!

2️⃣ Что должно быть в каждом проекте:

Базовое меню
Сохранение прогресса
Звуки и простые эффекты
Хотя бы минимальный UI

3️⃣ Главное правило: лучше три маленьких законченных игры, чем одна большая недоделанная.

🎯 Совет: После каждого проекта публикуйте его на itch.io и добавляйте ссылку в резюме. Работодатели ценят возможность сразу поиграть в ваши работы.

#ВИП
6321
Ответ на вопрос: как сделать динамически меняющиеся статы?

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

Суть в том, что вы добавляете в список стат и описываете его (название, начальное значение)

Затем по имени вы сможете к нему обратиться и поменять

Рекомендация: добавьте файл с константами или перечислением статов, чтобы не использовать строки напрямую
7321
Жду новые вопросы под этим постом! В следующую пятницу отвечу на один из них)

Если вы стесняетесь написать лично, можете оставить анонимный вопрос через специального бота
4
Для тех, кто хочет научиться работать с нейронками. Скорее всего сам скоро его полностью пройду)
62211
Forwarded from Bithoven AI
👀 Один из лучших LLM-курсов обновился — разрабы Large Language Model Course дописали его (на момент текущего развития технологий).

Курс представляет собой роадмап по туториалам разной степени сложности. Само собой, всё разбито на три категории:

— LLM Fundamentals: для совсем новичков, тут учим Python, линейную алгебру и устройство LLM;

LLM Scientist: уже для смешариков, тут учимся тренировать свои нейросети, познаём файнтюн и прочее;

LLM Engineer: самый интересный, так как тут учимся превращать наши знания в деньги — строить ИИ-приложения, интегрировать модели в бизнес и так далее.

Очень полезно и бесплатно 👍
6331
Сегодня сделал разгрузочный (во всех смыслах) день для себя. Сходили на прыжковый турнир по ФК (меня кажется завербовали), неплохо отдохнули.

Кажется я созрел на то, чтобы завести канал на YT (рутуб, вк видео). Мне кажется, что контент, который я создаю - достоин чуть большей аудитории. Поэтому будем пытаться расширять ее всеми возможными способами:)
6531
Нейросети в разработке игр на Unity

Статья о моем опыте использования ИИ в контексте разработки игр. От создания идеи до ассетов и баланса!

Если вы никогда не пробовали их использовать или хотите узнать какие на данный момент лучшие - советую прочесть статью!
8421
Как я докатился до жизни такой часть 3

Начало истории

Естественно, с таким багажом никто брать не хотел.

В феврале я все таки нашел вакансию на ХедХантере, где я прошел собеседование и начал работать. Но было один подвох - 20к в месяц. За такие деньги в Питере хватит максимум на еду. А руководство требовало делать невыполнимые задачи.

Как вы поняли, долго я там не задержался. Через неделю уже уволился, даже не рассчитали...

Пошел дальше на hh.ru. Около недели я откликался и неожиданно меня пригласили на ПК проект в стим, еще и с очень интересной идеей!
Прошел собеседование, ответил на вопросы, и дал оценку по времени выполнения проекта - 3 месяца. Это было максимально сжатые сроки, за которые я скорее всего успел.

Но и тут оказался небольшой подвох! Меня попросили сжать сроки еще больше! Мол, 3 месяца для такого проекта слишком много... Естественно, когда ты устраиваешься на первую работу, ты готов демпинговать, лишь бы взяли. Пришлось сказать 1,5 месяца.

В итоге: за первый месяц - я не успел практически ничего. Прошло 2 месяца - я сделал меньше половины, но менеджер сказал, что дает мне еще времени. Прошло 3 месяца - я все еще делал проект...

Если вы думали, что все так просто - не переживайте, все еще впереди! Жду комментарии от вас, если хотите узнать финал истории)

Продолжение

#ЖизньArtemiZ
8332
🚀 Как правильно использовать Update() и не убить производительность

Привет, геймдев! Сегодня разберём самую частую ошибку джунов - неправильное использование Update().

⚡️ Почему это важно?
Update() вызывается КАЖДЫЙ КАДР для КАЖДОГО активного скрипта. На 100 объектах при 60 FPS это уже 6000 вызовов в секунду!

🛠 Три золотых правила оптимизации Update():

1. Кэшируйте компоненты:// Плохо 
void Update() {
GetComponent<Rigidbody>().velocity = Vector3.up;
}

// Хорошо
Rigidbody rb;
void Start() {
rb = GetComponent<Rigidbody>();
}
void Update() {
rb.velocity = Vector3.up;
}


2. Избегайте Find и GetComponent в Update:// Очень плохо

void Update() {
GameObject.Find("Player").transform.position;
}


3. Используйте правильные события:
- FixedUpdate() - для физики
- LateUpdate() - для камеры
- Update() - для инпута и геймплея

💡 Лайфхак: Для редких проверок используйте корутины:// Вместо проверки каждый кадр
IEnumerator CheckEverySecond() {
while (true) {
CheckSomething();
yield return new WaitForSeconds(1f);
}
}

🎯 Результат:
- Стабильный FPS
- Меньше нагрузка на CPU
- Счастливые игроки

#Фишки
532221
Ответ на вопрос:

Как должна выглядеть общая архитектура проекта?
(Включая иерархию папок проекта)

Допустим, если использовать какой нибудь паттерн семейства MV*, должен ли весь проект быть основан на нём (и как это вообще будет выглядеть)? Или можно несколько подобных паттернов применять к одному проекту? Или можно например, чтобы UI был сделал с помощью них, а механики без них?

Теоретически, думаю можно, но будет ли это хорошим решением?


📱 Архитектура Unity проекта: полное руководство

🗂 Базовая структура папок (один из вариантов):
Assets/
* _Project (корневая папка проекта)
* Art/
* Models/
* Textures/
* Materials/
* Animations/
* Audio/
* Music/
* SFX/
* Code/
* Core/ (базовые классы и интерфейсы)
* Features/ (конкретные игровые механики)
* Infrastructure/ (сервисы, менеджеры)
* UI/
* Configs/ (ScriptableObjects)
* Prefabs/
* Scenes/
* Tests/


Подробнее про структуру папок я рассказал в статье, которая вышла в ВИП чате

🏗 Про паттерны и архитектуру:

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

1. UI отлично работает с MVVM или MVC, так как эти паттерны специально заточены под работу с интерфейсами

2. Для игровых механик часто лучше использовать более специализированные подходы:
- Component Pattern (стандартный для Unity)
- Command Pattern (для инпута)
- State Pattern (для состояний персонажа)
- Observer Pattern (для событий)

🎯 Ключевой принцип: выбирайте паттерн под конкретную задачу, а не пытайтесь впихнуть всё в один паттерн.

⚡️ Практические советы:

- Разделяйте слои приложения (UI, геймплей, данные)
- Используйте DI для связи между системами
- Создавайте абстракции через интерфейсы
- Применяйте SOLID принципы
- Не усложняйте архитектуру раньше времени

🔑 Главное: архитектура должна помогать в разработке, а не мешать. Если какой-то паттерн усложняет работу - возможно, он не подходит для данной задачи.

💡 P.S. Всегда документируйте архитектурные решения и причины их принятия - это поможет другим разработчикам (и вам через полгода) понять логику проекта.
654
Жду новые вопросы под этим постом! В следующую пятницу отвечу на один из них)

Если вы стесняетесь написать лично, можете оставить анонимный вопрос через специального бота
652
Усердно готовлюсь к выпуску первого ролика! Техническая часть уже готова - осталось написать сценарий и записать все это)

Сроков никаких не даю, хочу сделать все максимально качественно и интересно:)

Немного контекста: как то давно я вел свой ютуб канал, набрал практически 1000 подписчиков и бросил. Сейчас хочу возобновиться с новым опытом и знаниями!)
1033
Мы продолжаем работу над авто-чесом. Недавно утвердили концепт первой локации, пробуем делать подобную локацию. А в это время я все еще сражаюсь с трудностями мультиплеера.

На прошлом созвоне мы постестили билд, но не без проблем. Минут 30 мы пытались запуститься в одно лобби)))

Однако, несмотря на все страдания, этот билд оказался первым, который не вылетал, не крашился, все работало!!!

Да, были некоторые баги, но это не столь важно. Мы наконец-то перешли на этап фикса визуальных багов, а не геймплейных и логических.

В общем, постепенно продвигаемся))

#Спойлер
76422
Как я докатился до жизни такой часть 4

Начало истории

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

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

Я думаю, вы не сомневаетесь, что я сделал: написал своему работодателю, что увольняюсь... Если бы все было так просто...

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

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

#ЖизньArtemiZ
8331
Режим, планы, все это конечно важно. Но когда приходит вдохновение, я предпочитаю делать до конца:)
722
🎮 Как оптимизировать физику и перестать терять FPS

Сегодня разберём, почему ваша игра может тормозить из-за физики и как это исправить.

🔥 Главная ошибка: использование слишком сложных коллайдеров

Вот что нужно знать:
// Скорость расчётов (от быстрого к медленному):
1. Sphere Collider
2. Box Collider
3. Capsule Collider
4. Mesh Collider (convex)
5. Mesh Collider (non-convex) 💀


⚡️ Золотое правило: используйте составные примитивы вместо Mesh Collider

// Плохо 
- Один сложный Mesh Collider для всего персонажа

// Хорошо
- Capsule Collider для тела
- Box Collider для оружия
- Sphere Collider для головы


🛠 Три быстрых способа оптимизировать физику:

1. Используйте слои столкновений:
// В Physics Settings настройте матрицу
// чтобы враги не проверяли столкновения друг с другом

[SerializeField] private LayerMask _enemyLayer;

private void OnCollisionEnter(Collision other)
{
if (other.gameObject.layer == _enemyLayer)
{
// Do something
}
}


2. Отключайте Rigidbody когда можно:
_rb.isKinematic = true; // для неподвижных объектов


3. Используйте физические материалы с правильными настройками трения:
// Для скользких поверхностей
_physicMaterial.friction = 0;
_physicMaterial.bounciness = 0;


💡 Профи-совет:
Включите Wireframe mode в Scene View (Shading mode -> Wireframe), выделите все объекты и проверьте, нет ли лишних коллайдеров.

🎯 Результат: Стабильный FPS даже при большом количестве объектов

#Фишки
644