GigaChat.unitypackage
4.7 KB
Все, что вам нужно сделать, зарегаться на сайте и получить ключ авторизации (вставить его в ScriptableObject). Теперь на сцене выбираем камеру, на ней весит скрипт, куда нужно вводить запрос и все!
Фрэймворки переоценены
В последнее время меня часто спрашивают, пользуюсь ли я какими-то фреймворкими, и меня возникает вопрос, почему вокруг них такой хайп?
Лично я не пользуюсь практически ничем. Единственное, сейчас делаем мультиплеер, следовательно изучил Photon. Но в остальном, я считаю, что они практически бесполезны…
Не торопитесь кидаться тапками, есть пару но!
В каких случаях сторонние ресурсы бесполезны:
1. Вы новичок!
Если у вас нет базы, вы не понимаете как составляется архитектура базовых приложений и не уверены в языке, на котором пишете: фреймворки вам не помогут
2. Вы делаете типичный проект:
Фреймворки, как правило, решают специфические проблемы, которые вы не встретите в 50% проектов.
В каких случаях они нужны:
1. Если вам нужно решить специфическую задачу (мультиплеер, сторонный сервер, нейронка и тд)
2. Вы много лет работаете, на 100% уверены в том, что пишете и вам хочется развиваться.
В остальных случаях я не советую из использовать. Почему?
Неопытный программист может не просто не получить никакой пользы, а еще и привыкнуть к неправильным практикам и загубить себе несколько лет работы.
В Unity встроено достаточно функций, чтобы реализовать практически все, что угодно. И лучше сделать это самому, чем использовать сторонний код. Так вы будете быстрее развиваться и углублять знания.
#Мнение
В последнее время меня часто спрашивают, пользуюсь ли я какими-то фреймворкими, и меня возникает вопрос, почему вокруг них такой хайп?
Лично я не пользуюсь практически ничем. Единственное, сейчас делаем мультиплеер, следовательно изучил Photon. Но в остальном, я считаю, что они практически бесполезны…
Не торопитесь кидаться тапками, есть пару но!
В каких случаях сторонние ресурсы бесполезны:
1. Вы новичок!
Если у вас нет базы, вы не понимаете как составляется архитектура базовых приложений и не уверены в языке, на котором пишете: фреймворки вам не помогут
2. Вы делаете типичный проект:
Фреймворки, как правило, решают специфические проблемы, которые вы не встретите в 50% проектов.
В каких случаях они нужны:
1. Если вам нужно решить специфическую задачу (мультиплеер, сторонный сервер, нейронка и тд)
2. Вы много лет работаете, на 100% уверены в том, что пишете и вам хочется развиваться.
В остальных случаях я не советую из использовать. Почему?
Неопытный программист может не просто не получить никакой пользы, а еще и привыкнуть к неправильным практикам и загубить себе несколько лет работы.
В Unity встроено достаточно функций, чтобы реализовать практически все, что угодно. И лучше сделать это самому, чем использовать сторонний код. Так вы будете быстрее развиваться и углублять знания.
#Мнение
🎮Чистый код в Unity для начинающих
Привет! Сегодня поговорим об основах архитектуры кода в Unity. Это то, что отличает начинающего разработчика от профессионала.
📝 Основные принципы чистого кода:
1. Правильное именование
2. Один скрипт - одна задача
3. Кэширование компонентов
💡 Полезные советы:
- Используйте [SerializeField] вместо public для инспектора
- Группируйте похожие переменные
- Добавляйте XML-комментарии к публичным методам
🎯 Простой пример правильной структуры:
📚 Что изучать дальше:
- SOLID принципы
- Паттерны проектирования
- Dependency Injection
- Событийно-ориентированная архитектура
⚡️ Совет: Начните применять эти принципы в маленьких проектах. Со временем чистый код войдет в привычку.
#Фишки
Привет! Сегодня поговорим об основах архитектуры кода в Unity. Это то, что отличает начинающего разработчика от профессионала.
📝 Основные принципы чистого кода:
1. Правильное именование
// ❌ Плохо
public class plController : MonoBehaviour
{
private float spd = 5f;
public void mv() { }
}
// ✅ Хорошо
public class PlayerController : MonoBehaviour
{
private float _moveSpeed = 5f;
public void Move() { }
}
2. Один скрипт - одна задача
// ❌ Плохо
public class Player : MonoBehaviour
{
public void Move() { }
public void Attack() { }
public void UpdateUI() { }
public void SaveGame() { }
}
// ✅ Хорошо
public class PlayerMovement : MonoBehaviour
{
[SerializeField] private float _moveSpeed = 5f;
private Rigidbody2D _rb;
private void Awake()
{
_rb = GetComponent<Rigidbody2D>();
}
public void Move(Vector2 direction)
{
_rb.velocity = direction * _moveSpeed;
}
}
3. Кэширование компонентов
// ❌ Плохо
private void Update()
{
GetComponent<Rigidbody2D>().velocity = Vector2.right;
}
// ✅ Хорошо
private Rigidbody2D _rb;
private void Awake()
{
_rb = GetComponent<Rigidbody2D>();
}
private void FixedUpdate()
{
_rb.velocity = Vector2.right;
}
💡 Полезные советы:
- Используйте [SerializeField] вместо public для инспектора
- Группируйте похожие переменные
- Добавляйте XML-комментарии к публичным методам
/// <summary>
/// Наносит урон игроку.
/// </summary>
/// <param name="damage">Количество урона.</param>
/// <returns>Оставшееся здоровье.</returns>
public float TakeDamage(float damage)
{
_currentHealth -= damage;
return _currentHealth;
}
🎯 Простой пример правильной структуры:
public class PlayerHealth : MonoBehaviour
{
[SerializeField] private float _maxHealth = 100f;
private float _currentHealth;
public event System.Action<float> OnHealthChanged;
private void Awake()
{
_currentHealth = _maxHealth;
}
public void TakeDamage(float damage)
{
_currentHealth = Mathf.Max(0f, _currentHealth - damage);
OnHealthChanged?.Invoke(_currentHealth);
}
public void Heal(float amount)
{
_currentHealth = Mathf.Min(_maxHealth, _currentHealth + amount);
OnHealthChanged?.Invoke(_currentHealth);
}
}
📚 Что изучать дальше:
- SOLID принципы
- Паттерны проектирования
- Dependency Injection
- Событийно-ориентированная архитектура
⚡️ Совет: Начните применять эти принципы в маленьких проектах. Со временем чистый код войдет в привычку.
#Фишки
Странная ситуация получается, вроде и опыта у меня много и над проектами крупными работал, а ни одной игры в сторе нет…
Надо бы исправлять это)
Как вы относитесь к ритм играм?)
Надо бы исправлять это)
Как вы относитесь к ритм играм?)
Книги.
Привет. Сейчас прохожу обучение в школе Ромы, до этого учил шарп на Юлерне, до этого просто по видосам на Ютубе, а начал знакомство с программированием по книгам. И книги для меня показали себя как наименее эффективный способ получения информации. Даже супер базовые вещи завались тяжело или вовсе были не понятны. Пробовал читать нескольких авторов, но эффект тот же.
Читал ли ты какую-либо литературу в процессе обучения или в настоящее время? Как считаешь - книги это свет, или это что-то, с чем нужно знакомится когда уже есть определённая база, и за основу обучения сейчас брать их не очень целесообразно сейчас? Может можешь посоветовать какое-нибудь чтиво?
В своей статье я уже затрагивал эту тему. Я все так же считаю, что техническая литература максимально бесполезна в современных реалиях. Технологии меняются, подходы тоже. Но если сильно хочется почитать что-нибудь на бумажном носителе, советую прочитать книгу «Экстремальное программирование: разработка через тестирование | Бек Кент»
Наверное единственная книга, которая мне зашла из десятка прочитанных по теме программирования.
This media is not supported in your browser
VIEW IN TELEGRAM
За пару дней сделал вот такой вот детектор битов. Работает не идеально, нужно настраивать чувствительность и другие параметры. Но все же, меня устраивает)
Audio
А еще, я для этой игры буду генерировать музыку с помощью нейронки. Сейчас сижу, пробую и знаете что?
Уже десятые раз переслушиваю одну песню... Никогда не верил в то, что нейронка сможет такое сделать, но это случилось)
На слова не обращайте внимания)
Уже десятые раз переслушиваю одну песню... Никогда не верил в то, что нейронка сможет такое сделать, но это случилось)
Приветствую всех новеньких в канале)
Как вы понимаете, я - создаю игры и сейчас нахожусь на небольшом распутье.
Хочу понять, в каком направлении будет развиваться этот канал и сейчас я хочу спросить у всех неравнодушных к моему творчеству, какой контент хотите видеть вы.
Естественно, финальное решение за мной и опираться я буду впервую очередь на свои желания, но узнать ваше мнение мне тоже важно)
Когда канал только создавался, я планировал его сделать информационным мостом между мной, моими работами и заинтересованным сообществом.
Позже, когда прошел марафон Ромы Сакутина, я решил попробовать развиваться в направлении обучения, в это время я набрал основную часть активных людей, которые пишут мне сейчас комментарии, за что вам огромное спасибо!
Но в конечном счете, идея никогда не менялась. Я хочу создавать и делиться этим, а обучающая часть забирает немало времени, а результата особо не приносит (того, которого хочу я)
Как вы понимаете, я - создаю игры и сейчас нахожусь на небольшом распутье.
Хочу понять, в каком направлении будет развиваться этот канал и сейчас я хочу спросить у всех неравнодушных к моему творчеству, какой контент хотите видеть вы.
Естественно, финальное решение за мной и опираться я буду впервую очередь на свои желания, но узнать ваше мнение мне тоже важно)
Когда канал только создавался, я планировал его сделать информационным мостом между мной, моими работами и заинтересованным сообществом.
Позже, когда прошел марафон Ромы Сакутина, я решил попробовать развиваться в направлении обучения, в это время я набрал основную часть активных людей, которые пишут мне сейчас комментарии, за что вам огромное спасибо!
Но в конечном счете, идея никогда не менялась. Я хочу создавать и делиться этим, а обучающая часть забирает немало времени, а результата особо не приносит (того, которого хочу я)
Поэтому стоит вопрос: Что вы хотите видеть в этом канале
Anonymous Poll
12%
Только мое творчество (проекты, над которыми я работаю)
12%
Только обучающий контент (я делаю упор на создание полезных постов)
54%
Гибрид (я опираюсь все таки на творчество и периодически выпускаю полезные статьи)
23%
И последнее - я как личность. Контент будет всякий, но все будет связано со мной (игры, быт и тд)
Процесс разработки игры + Git
Я, как и все в начале, всегда разрабатывал проекты по схеме: пришла в голову идея - сделал, захотел исправить баг, исправил. Все хаотично, а когда дело доходит до коммита на гит, не знаешь как его назвать и что вообще туда написать.
Недавно мне пришла идея, как решить сразу две проблемы: структуризация гита и постепенная прогрессия по разработке.
Все достаточно просто: прежде чем делать, запишите все идеи в блокнот, назначте одну и сделайте ее до конца. Затем коммит и возвращаемся к выбору идеи.
Максимально тривиально, но очень эффективно:)
Возможно кто-то уже говорил про такой подход) но я для себя его от крыл сам
#Фишки
Я, как и все в начале, всегда разрабатывал проекты по схеме: пришла в голову идея - сделал, захотел исправить баг, исправил. Все хаотично, а когда дело доходит до коммита на гит, не знаешь как его назвать и что вообще туда написать.
Недавно мне пришла идея, как решить сразу две проблемы: структуризация гита и постепенная прогрессия по разработке.
Все достаточно просто: прежде чем делать, запишите все идеи в блокнот, назначте одну и сделайте ее до конца. Затем коммит и возвращаемся к выбору идеи.
Максимально тривиально, но очень эффективно:)
#Фишки
Как думаете, сколько проектов одновременно стоит делать разработчику?
Казалось бы очевидно: один. Быстрее и качественнее.
Но это не всегда правильно. Я, например, большую часть времени работаю, не умею особо отдыхать. Для меня отдых - та же работа.
Поэтому для себя я определил такую стратегию:
Рабочее время я разделяю на 3 части.
Основная: для самого крупного проекта. Он должен идти долго, скорее всего это будет работа.
Вторая: средний проект. Это время я могу тратить как на свой пет проект, так и на сторонний заказ. Это будет что-то не сильно сложное, где я смогу отдохнуть от сложных решений основного проекта. Если это ваш проект, постарайтесь сделать его максимально простым в механиках и уровнях. Скажем так: это второй коммерческий проект для вашего портфолио.
И третье: проект для души. Он не обязательно должен когда нибудь релизнуться. В нем вы воплощаете все свои любимые механики. Все, чего вам не хватает в предыдущих пунктах. Времени на это будет уходить сильно меньше чем на предыдущие, и расписание по этому пункту строить не нужно. Это ваш защитный механизм от выгорания.
Казалось бы очевидно: один. Быстрее и качественнее.
Но это не всегда правильно. Я, например, большую часть времени работаю, не умею особо отдыхать. Для меня отдых - та же работа.
Поэтому для себя я определил такую стратегию:
Рабочее время я разделяю на 3 части.
Основная: для самого крупного проекта. Он должен идти долго, скорее всего это будет работа.
Вторая: средний проект. Это время я могу тратить как на свой пет проект, так и на сторонний заказ. Это будет что-то не сильно сложное, где я смогу отдохнуть от сложных решений основного проекта. Если это ваш проект, постарайтесь сделать его максимально простым в механиках и уровнях. Скажем так: это второй коммерческий проект для вашего портфолио.
И третье: проект для души. Он не обязательно должен когда нибудь релизнуться. В нем вы воплощаете все свои любимые механики. Все, чего вам не хватает в предыдущих пунктах. Времени на это будет уходить сильно меньше чем на предыдущие, и расписание по этому пункту строить не нужно. Это ваш защитный механизм от выгорания.
Copilot спасает от выгорания.
Понимаю, что многие не могут оплатить его или просто достаточно дорого. Но в моем случае это просто спасение.
Мне его оплачивает отдельно руководитель и благодаря этому я могу работать практически без перерывов
Основная проблема программистов - работа сложная, думать нужно постоянно. Иногда появляется монотонная работа, но и тут нельзя отвлекаться. Что-нибудь не так напишешь, а потом будешь целый день искать проблему...
Копилот решает 100% монотонных задач, во время которых я могу спокойно отвлечься просто проверяя его в конце и давая ему правки. Такой своеобразный личный джун, который может сделать что угодно. Еще и моментально:)
Понимаю, что многие не могут оплатить его или просто достаточно дорого. Но в моем случае это просто спасение.
Мне его оплачивает отдельно руководитель и благодаря этому я могу работать практически без перерывов
Основная проблема программистов - работа сложная, думать нужно постоянно. Иногда появляется монотонная работа, но и тут нельзя отвлекаться. Что-нибудь не так напишешь, а потом будешь целый день искать проблему...
Копилот решает 100% монотонных задач, во время которых я могу спокойно отвлечься просто проверяя его в конце и давая ему правки. Такой своеобразный личный джун, который может сделать что угодно. Еще и моментально:)
Весь геймдев держится на инди разработчиках!
Когда ты попадаешь в большую компанию, скорее всего у тебя будет много однотипных задач. Если ты работаешь со звуком, скорее всего все задачи будут так или иначе связаны с этим….
В таких условиях очень сложно развиваться дальше. Ты не развиваешь новые навыки, а просто выполняешь рутинные задачи.
В отличии от инди разработчиков! Они - мультиинструменталы! Могут и анимации настроить и апи интегрировать и геймдизайн уровня проработать. В общем, все аскпекты игры от идеи до релиза. И я искренне восхищаюсь ими.
Сейчас я сам прохожу такой путь. У меня есть работа, где я единственный разработчик, должен не только хорошо сделать механики, но и с другими специалистами коннект найти. Пет проекты у меня тоже соло, естественно. И везде нужно пройти все этапы разработки со всеми трудностями….
Почему же я восхищаюсь такими людьми? У них большая сила воли. Не каждый способен заставить себя пройти через все эти этапы с учетом того, что тебе за это никто не платит. Да, возможно, потом у тебя будет приносить прибыль игра, которую ты сделал, но и то не факт.
Каждый мой проект содержит (где-то после 20-30% готовности) момент, где хочется все бросить, потому что ты понимаешь, делать еще дофига, а время идет. Самому нужно уровни построить, самому все баги пофиксить, баланс настроить и тд. Когда об этом думаешь, немного опускаются руки.
Хочется все и сразу, но так не бывает)
К чему я это все? Сам не знаю:) Но захотелось поделиться. Возможно, кому-нибудь станет немного спокойнее, что он не один такой:)
Когда ты попадаешь в большую компанию, скорее всего у тебя будет много однотипных задач. Если ты работаешь со звуком, скорее всего все задачи будут так или иначе связаны с этим….
В таких условиях очень сложно развиваться дальше. Ты не развиваешь новые навыки, а просто выполняешь рутинные задачи.
В отличии от инди разработчиков! Они - мультиинструменталы! Могут и анимации настроить и апи интегрировать и геймдизайн уровня проработать. В общем, все аскпекты игры от идеи до релиза. И я искренне восхищаюсь ими.
Сейчас я сам прохожу такой путь. У меня есть работа, где я единственный разработчик, должен не только хорошо сделать механики, но и с другими специалистами коннект найти. Пет проекты у меня тоже соло, естественно. И везде нужно пройти все этапы разработки со всеми трудностями….
Почему же я восхищаюсь такими людьми? У них большая сила воли. Не каждый способен заставить себя пройти через все эти этапы с учетом того, что тебе за это никто не платит. Да, возможно, потом у тебя будет приносить прибыль игра, которую ты сделал, но и то не факт.
Каждый мой проект содержит (где-то после 20-30% готовности) момент, где хочется все бросить, потому что ты понимаешь, делать еще дофига, а время идет. Самому нужно уровни построить, самому все баги пофиксить, баланс настроить и тд. Когда об этом думаешь, немного опускаются руки.
Хочется все и сразу, но так не бывает)
К чему я это все? Сам не знаю:) Но захотелось поделиться. Возможно, кому-нибудь станет немного спокойнее, что он не один такой:)
7 9 5 3