Готова ли Игра?
246 subscribers
130 photos
20 videos
9 files
31 links
Download Telegram
Ответ на вопрос:

Как ты все это узнал: про создание игр, как вести тг канал, и вообще все?


Базовая насмотренность, большой интерес и желание.

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

Самое главное: делать в удовольствие, развиваться и много раз пробовать. Тогда шанс на успех быстро возрастает. Гарантий, конечно же никогда нет, но на это мы никак повлиять не можем:)

Разработке игр я учился по онлайн курсам, много практиковался. Сейчас я чувствую себя уверенно)

В плане соц. сетей - я пробовал очень много раз и все неудачно. Этот, наверное, десятый)
4321
Жду новые вопросы под этим постом! В следующую пятницу отвечу на один из них)

Если вы стесняетесь написать лично, можете оставить анонимный вопрос через специального бота
532
Я просто решил посмотреть, как устроен метод внутри, а тут такое...

У меня одного возникает вопрос, что здесь происходит?) Почему тут 22 переменные с именами num, num2 и тд
6321
Я просто хотел, чтобы он мне помог...

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

Не ЧСВ
632
Если хотите, могу скинуть исходники (как подключиться и использовать GigaChat).

P.S. Если что, нигде нет инфы как подключиться именно к Unity.
P.P.S. Если спросите, почему именно GigaChat а не что то другое, отвечаю: единственная нейронка, у которой есть бесплатные токены + она официально доступна для РФ (это очень важно для меня, так как я хочу с ее использованием податься на конкурс)
532
GigaChat.unitypackage
4.7 KB
Все, что вам нужно сделать, зарегаться на сайте и получить ключ авторизации (вставить его в ScriptableObject). Теперь на сцене выбираем камеру, на ней весит скрипт, куда нужно вводить запрос и все!
532
Фрэймворки переоценены

В последнее время меня часто спрашивают, пользуюсь ли я какими-то фреймворкими, и меня возникает вопрос, почему вокруг них такой хайп?

Лично я не пользуюсь практически ничем. Единственное, сейчас делаем мультиплеер, следовательно изучил Photon. Но в остальном, я считаю, что они практически бесполезны…

Не торопитесь кидаться тапками, есть пару но!

В каких случаях сторонние ресурсы бесполезны:

1. Вы новичок!

Если у вас нет базы, вы не понимаете как составляется архитектура базовых приложений и не уверены в языке, на котором пишете: фреймворки вам не помогут

2. Вы делаете типичный проект:

Фреймворки, как правило, решают специфические проблемы, которые вы не встретите в 50% проектов.

В каких случаях они нужны:

1. Если вам нужно решить специфическую задачу (мультиплеер, сторонный сервер, нейронка и тд)

2. Вы много лет работаете, на 100% уверены в том, что пишете и вам хочется развиваться.

В остальных случаях я не советую из использовать. Почему?

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

В Unity встроено достаточно функций, чтобы реализовать практически все, что угодно. И лучше сделать это самому, чем использовать сторонний код. Так вы будете быстрее развиваться и углублять знания.

#Мнение
752
🎮Чистый код в Unity для начинающих

Привет! Сегодня поговорим об основах архитектуры кода в 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
- Событийно-ориентированная архитектура

⚡️ Совет: Начните применять эти принципы в маленьких проектах. Со временем чистый код войдет в привычку.

#Фишки
8321
Странная ситуация получается, вроде и опыта у меня много и над проектами крупными работал, а ни одной игры в сторе нет…

Надо бы исправлять это)

Как вы относитесь к ритм играм?)
542
Книги.
Привет. Сейчас прохожу обучение в школе Ромы, до этого учил шарп на Юлерне, до этого просто по видосам на Ютубе, а начал знакомство с программированием по книгам. И книги для меня показали себя как наименее эффективный способ получения информации. Даже супер базовые вещи завались тяжело или вовсе были не понятны. Пробовал читать нескольких авторов, но эффект тот же.
Читал ли ты какую-либо литературу в процессе обучения или в настоящее время? Как считаешь - книги это свет, или это что-то, с чем нужно знакомится когда уже есть определённая база, и за основу обучения сейчас брать их не очень целесообразно сейчас? Может можешь посоветовать какое-нибудь чтиво?


В своей статье я уже затрагивал эту тему. Я все так же считаю, что техническая литература максимально бесполезна в современных реалиях. Технологии меняются, подходы тоже. Но если сильно хочется почитать что-нибудь на бумажном носителе, советую прочитать книгу «Экстремальное программирование: разработка через тестирование | Бек Кент»

Наверное единственная книга, которая мне зашла из десятка прочитанных по теме программирования.
522
This media is not supported in your browser
VIEW IN TELEGRAM
За пару дней сделал вот такой вот детектор битов. Работает не идеально, нужно настраивать чувствительность и другие параметры. Но все же, меня устраивает)
643
Audio
А еще, я для этой игры буду генерировать музыку с помощью нейронки. Сейчас сижу, пробую и знаете что?

Уже десятые раз переслушиваю одну песню... Никогда не верил в то, что нейронка сможет такое сделать, но это случилось)

На слова не обращайте внимания)
643
Мы потратили неделю на настройку освещения нашей локации

2-3 дня я потратил на то, чтобы понять, как можно сохранить запеченый свет в префаб)

В итоге нашел решение, которое работает:)
1032
Что мы делаем в час ночи?

Едим пасту-бургер (необычный рецепт:)
753
Приветствую всех новеньких в канале)

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

Хочу понять, в каком направлении будет развиваться этот канал и сейчас я хочу спросить у всех неравнодушных к моему творчеству, какой контент хотите видеть вы.

Естественно, финальное решение за мной и опираться я буду впервую очередь на свои желания, но узнать ваше мнение мне тоже важно)

Когда канал только создавался, я планировал его сделать информационным мостом между мной, моими работами и заинтересованным сообществом.

Позже, когда прошел марафон Ромы Сакутина, я решил попробовать развиваться в направлении обучения, в это время я набрал основную часть активных людей, которые пишут мне сейчас комментарии, за что вам огромное спасибо!

Но в конечном счете, идея никогда не менялась. Я хочу создавать и делиться этим, а обучающая часть забирает немало времени, а результата особо не приносит (того, которого хочу я)
Рад что мы сошлись во мнениях)

Периодически буду писать про личное и о моих проектах.

Что нибудь полезное - как появится идея
832
Процесс разработки игры + Git

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

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

Все достаточно просто: прежде чем делать, запишите все идеи в блокнот, назначте одну и сделайте ее до конца. Затем коммит и возвращаемся к выбору идеи.
Максимально тривиально, но очень эффективно:)

Возможно кто-то уже говорил про такой подход) но я для себя его открыл сам

#Фишки
732
Как думаете, сколько проектов одновременно стоит делать разработчику?

Казалось бы очевидно: один. Быстрее и качественнее.

Но это не всегда правильно. Я, например, большую часть времени работаю, не умею особо отдыхать. Для меня отдых - та же работа.

Поэтому для себя я определил такую стратегию:

Рабочее время я разделяю на 3 части.

Основная: для самого крупного проекта. Он должен идти долго, скорее всего это будет работа.

Вторая: средний проект. Это время я могу тратить как на свой пет проект, так и на сторонний заказ. Это будет что-то не сильно сложное, где я смогу отдохнуть от сложных решений основного проекта. Если это ваш проект, постарайтесь сделать его максимально простым в механиках и уровнях. Скажем так: это второй коммерческий проект для вашего портфолио.

И третье: проект для души. Он не обязательно должен когда нибудь релизнуться. В нем вы воплощаете все свои любимые механики. Все, чего вам не хватает в предыдущих пунктах. Времени на это будет уходить сильно меньше чем на предыдущие, и расписание по этому пункту строить не нужно. Это ваш защитный механизм от выгорания.
752