Game Development | YeaHub
376 subscribers
151 photos
192 videos
529 links
Теория, подготовка к интервью и курсы для Game Dev разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #shaderlab #material #fragment_shader
🤔 Как создать и использовать пользовательский шейдер в Unity?

💬 Кратко:

Для создания пользовательского шейдера нужно создать новый файл шейдера, используя язык ShaderLab, и прописать необходимые свойства. После этого создайте материал с этим шейдером и примените его к объекту через компонент Mesh Renderer.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#Собес #authorization #auth #access_control
🤔 Что такое авторизация?

💬 Кратко:

Авторизация — это процесс, который определяет, какие ресурсы и действия доступны пользователю после успешной аутентификации. Она используется для применения политик безопасности, чтобы ограничить доступ к сетевым ресурсам на основе прав пользователя.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#course #ооп #case
📚 Практический анализ ПО с моделированием на UML

Целью курса является обучение слушателей теоретическим основам объектно-ориентированного подхода, практическим методам визуального проектирования и технологии разработки программного обеспечения с использованием компьютеризированных систем разработки (CASE

Перейти к материалу

👉 База вопросов 👉 Новости
Forwarded from YeaHub
🚀 В январе перед нами стояли три ключевые задачи.

1. Миграция на Next.js
Мы перевели публичную часть проекта на Next.js, а дашборд оставили на React.js. Основные работы почти завершены — сейчас занимаемся тестированием и финальными правками.
В процессе столкнулись с рядом инфраструктурных вызовов: текущих ресурсов сервера оказалось недостаточно под новые проекты, поэтому пришлось масштабироваться. Впереди также большая работа по настройке SEO.

2. Сервис для лайвкодинга
Мы разрабатываем сервис лайвкодинга — аналог LeetCode с задачами российских компаний с реальных собеседований. У проекта большие планы:

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

Базовая версия сервиса уже готова и проходит тестирование. Совсем скоро — релиз.

3. Сервис уведомлений
Мы начали разработку сервиса уведомлений, который объединит всю нашу экосистему: платформу, Telegram-каналы и бота.

В Telegram будут публиковаться:

— новые собеседования,
— вопросы и задачи,
— статьи и подборки,
— анонсы,
— вакансии,
— статистика с HH.

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

Дополнительно
В работе также находится сервис тестов с вариантами ответов и системой разделения вопросов по темам — для будущего роадмапа. Пока эти направления развиваются в «лайт»-режиме.

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

P.S. Новогодние скидки продолжают действовать до запуска сервиса лайвкодинга. После релиза цены увеличатся в 2 раза — сейчас самое выгодное время подключиться и поддержать нас.

👉 Членство YeaHub

Впереди много интересного. Спасибо, что вы с нами.✊🏻🚀💪
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #blueprint #input_action #movement
🤔 Напишите простой Blueprint скрипт для движения объекта вперед при нажатии на клавишу "W".

💬 Кратко:

В Blueprint нужно создать класс Actor, добавить в Event Graph узел для нажатия клавиши "W" и подключить его к узлу, который перемещает объект вперед по вектору.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Update vs FixedUpdate — где двигать объект? + Time.deltaTime

Продолжаем разбор Update.

Вопрос с подвохом: где вызывать такой код — в Update или FixedUpdate?

private void Update()
{
transform.position += Vector3.forward * 10f;
}


Опытные разработчики уже чувствуют проблему

Если оставить код как есть и вызывать его в Update, скорость движения напрямую зависит от FPS:

• 30 FPS → объект едет медленно
• 120 FPS → объект летит быстрее

И FixedUpdate тоже не решение

Кажется логичным перенести код в FixedUpdate, но тут другая проблема: FixedUpdate вызывается реже, чем кадры
• между вызовами нет отрисовки
• визуально движение становится дёрганным

Решение — использовать Time.deltaTime

Нам нужно учитывать время между кадрами. Time.deltaTime — это количество секунд, прошедших с предыдущего кадра до текущего.

• Кадр 1 выполнился → прошло 0.008 секунд → Кадр 2 начался → Time.deltaTime = 0.008

Исправляем код:

private void Update()
{
transform.position += Vector3.forward * 10f * Time.deltaTime;
}


Теперь:
• скорость одинакова при любом FPS
• движение плавное

🤔 Тогда зачем вообще FixedUpdate?

Логичный вопрос:
если есть Time.deltaTime, зачем нужен FixedUpdate?

Коротко:

• Update — визуал и логика
• FixedUpdate — физика

Почему так:

Update вызывается между физическими тиками, он не синхронизирован с физическим движком
FixedUpdate вызывается строго перед физическим шагом

Последовательность такая:

1. FixedUpdate у всех объектов
2. Unity считает физику
• коллизии
• силы
• OnCollisionEnter, OnTriggerEnter и т.д.

Если считать физику в Update (даже с Time.deltaTime), начинаются проблемы:

• туннелирование (объект «пролетает» сквозь коллайдеры)
• нестабильное и непредсказуемое поведение

Итог

Плавное движение, позиция, визуал → Update + Time.deltaTime
Физика, Rigidbody, силы, коллизии → FixedUpdate

🚀 Пост Guru Unity: @Minerope
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
#Собес #csharp #unity #asset_loading
🤔 Есть неактивный GameObject со ссылками на ассеты, располагающихся в Addressables. Что произойдёт с ассетами при старте сцены?

💬 Кратко:

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

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#Собес #github
🤔 Что такое Git и GitHub?

💬 Кратко:

Git — это система контроля версий, которая позволяет отслеживать изменения в коде, возвращаться к старым версиям и работать над проектом совместно с другими разработчиками. GitHub — это платформа, где можно хранить код в облаке, делиться им и управлять проектами с помощью Git. Вместе они помогают эффективно работать над проектом в команде.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#video #csharp
📚 C# УРОКИ | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ

Этот YouTube-плейлист представляет собой серию уроков по программированию на C# — от базовых понятий для новичков до более продвинутых тем, таких как работа с массивами, создание проектов в Visual Studio и практические примеры кода, что делает его удобным бесплатным курсом «от новичка к профессионалу» для тех, кто хочет освоить C# и начать разработку приложений.

Перейти к материалу

👉 База вопросов 👉 Новости
#Собес #ai #blueprints
🤔 Каковы преимущества использования встроенного физического движка Unreal Engine?

💬 Кратко:

Встроенный физический движок Unreal Engine обеспечивает реалистичные симуляции и взаимодействия, что улучшает атмосферу игры. Его интеграция с другими функциями Unreal Engine, такими как Blueprints и AI, позволяет оптимизировать производительность и ускорить процесс разработки.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
1
#Собес #garbage_collection #performance #object_pooling
🤔 Как Unity обрабатывает сборку мусора и какие стратегии можно использовать для минимизации ее влияния на производительность?

💬 Кратко:

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

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#Собес #git_branch
🤔 Перечислите команды для удаления ветки git

💬 Кратко:

Для удаления локальной ветки:
git branch -d <branch_name>

Если ветка содержит незавершённые изменения:
git branch -D <branch_name>

Для удаления удалённой ветки:
git push origin --delete <branch_name>


📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#roadmap #unrealengine #cplus #roadmap
📚 Roadmap Unreal Engine / C++ developer

Эта статья представляет собой дорожную карту (roadmap) для разработчиков, желающих освоить Unreal Engine и C++. Она предлагает разные пути обучения в зависимости от исходного опыта читателя: для начинающих без опыта, для опытных программистов не из геймдева и для тех, кто уже работает в игровой индустрии. В материале подробно разбираются ключевые компоненты и сущности движка, такие как акторы (Actors), компоненты (Components), управляющие сущности (PlayerController, GameMode и др.), события (Delegates, Events), репликация для мультиплеера и многое другое, что составляет основу для собеседований и практической работы с Unreal Engine

Перейти к материалу

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #strategy #factory #decorator
🤔 Какие паттерны проектирования вы применяли в реальных проектах?

💬 Кратко:

В проектах часто применял Strategy для выбора алгоритма отправки уведомлений (Email, SMS, Push), Factory для создания репозиториев в зависимости от конфигурации, Decorator для динамического добавления логирования и проверок, Repository + Unit of Work для абстракции доступа к данным, а также Observer для событийной обработки (кэш-инвалидация при изменении сущностей).

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
Продолжаем разбирать разные Update.
Сегодня - коротко про Time.fixedDeltaTime.

Time.fixedDeltaTime - это значение фиксированного шага физики (Fixed Timestep). По умолчанию - 0.02, то есть FixedUpdate вызывается 50 раз в секунду.
Логично подумать, что в FixedUpdate нужно использовать именно Time.fixedDeltaTime.
Но это не обязательно.

Time.deltaTime достаточно умный. Документация говорит:
When this is called from inside MonoBehaviour.FixedUpdate, it returns Time.fixedDeltaTime.


То есть внутри FixedUpdate: Time.deltaTime и Time.fixedDeltaTime вернут одно и то же значение. Разница - только в читаемости кода.

Тогда зачем вообще Time.fixedDeltaTime?

1️⃣ Чтобы изменить частоту FixedUpdate

Time.fixedDeltaTime = 0.01f;


Было 0.02 → 50 вызовов в секунду.
Стало 0.01 → 100 вызовов в секунду.

Меняем шаг физики - меняется частота FixedUpdate.

2️⃣ Если нужно получить фиксированный шаг вне FixedUpdate

Например, в специфических расчетах, где важно знать именно физический timestep.
Во всех остальных случаях можно спокойно использовать Time.deltaTime.

Чаще всего Time.fixedDeltaTime вам пригодится:

• либо при тонкой настройке физики
• либо чтобы блеснуть знанием на собеседовании 🙂

В следующем посте разберём, что происходит с Update и FixedUpdate, когда игра подвисает.

🚀 Пост Guru Unity: @Minerope
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#Собес #csharp #dispose #garbage_collector
🤔 Что произойдёт, если не вызвать Dispose вручную? Можно ли сделать так, чтобы он вызывался автоматически?

💬 Кратко:

Если не вызвать Dispose, ресурсы (файлы, соединения) останутся занятыми до сборки мусора. Автоматический вызов возможен через using или финализатор (но финализатор ненадежен).

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #replication #high_availability #failover
🤔 Что такое PostgreSQL replication?

💬 Кратко:

Репликация в PostgreSQL — это процесс создания копий данных из основной базы данных на другие серверы. Это повышает отказоустойчивость, позволяет балансировать нагрузку и обеспечивает резервное копирование. Существует несколько типов репликации: синхронная и асинхронная.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#video #unity
📚 FREE Complete Unity Game Development Courses

Полный бесплатный курс по разработке игр на Unity — от базовых уроков для начинающих до продвинутых тем, охватывающий основы интерфейса, C#-скрипты, 2D/3D-разработку и практические проекты, чтобы помочь вам освоить Unity и создать собственные игры шаг за шагом

Перейти к материалу

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
Forwarded from YeaHub
👨🏻‍💻 Сервис лайвкодинга в YeaHub

Фактически — релиз уже состоялся.
Но честно: мы не успели загрузить ту огромную базу задач, которую планировали, и ещё не всё успели полноценно протестировать.

Поэтому до 23 февраля работаем в режиме «вместе доделываем продукт»:
— мы активно добавляем задачи и чиним баги, все
— пока тестируем, все задачи открыты, после этого примерно 50% закроем для членов
— вы решаете, находите проблемы, пишете в поддержку и даёте фидбек
— ну и оформляете подписку 😜

Что уже есть:
• база реальных задач с собеседований
• JavaScript / Python / Java / Go
• удобный редактор и проверка решений

Что скоро:
• связь задач с компаниями и коллекциями собеседований (не успели в этот релиз)
• другие языки
• контесты
• обучающие модули и курс по алгоритмам
• AI-разбор решений построчно
• челленджи и соревнования

👉 Задачи: https://yeahub.ru/dashboard/tasks

👉 Членство: https://yeahub.ru/dashboard/settings#select-tariff

Новогодние цены действуют только до полноценного запуска. После — x2.
Сейчас лучший момент подключиться и поддержать проект.


Спасибо, что помогаете нам запустить это правильно✊🏻🚀💪
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2