Готова ли Игра?
227 subscribers
87 photos
12 videos
6 links
Мы пытаемся делать игры
Download Telegram
#АП

Картинку к предыдущему посту я сгенерировал в нейронке. А вот референсы от сценаристов к персонажу!
#DR

Немного инфы по рабочему проекту. Мне развязали руки и теперь я могу заваливать вас кучей спойлеров.

На данный момент мы с командой сделали кор геймплей и начинаем делать менюшку. Вот как-то так, пока что:
#DR

Из фигмы переношу. Знали бы вы, как это долго)

Был один плагин для этого. Но он сдулся...
#DR

Вот такую красоту нарисовал наш художник)
Как думаете, в чем смысл игры?
Если угадаете основной референс - расскажу в чем наша фишка:)
#DR

Мы делаем клон Pocket Champs.
Наша главная фишка: мини-карта будет так или иначе модернизироваться. Например, часть карты будут закрывать облака, что добавит стратегической нотки в достаточно примитивный геймплей.
Только что я столкнулся с одной интересной особенностью. Если вы хотите удалить все объекты у родительского, это нужно делать обязательно через DestroyImmediate()
Иначе цикл никогда не остановится.

Суть в том, что методу Destroy() нужно некоторое время чтобы обработать запрос, а значит - в этом же кадре объект не будет удален, что приведет к бесконечному циклу
Но есть одно но. Так корректно делать только для тех вещей, которые не будут оповещать о своей смерти. Иначе нужно использовать другой цикл с методом Destroy()
#DR

Недавно наш художник предложил такой вариант скина. Выглядит круто!
Немного нелогично у меня навигация получилась в этом канале. Так как параллельно два проекта..

Решил разделять все по хештегам.

#АП - апокалипсис, наша новелка. Команда энтузиастов.

#DR - Dynamic Racer, тестовое название для клона Pocket Champs. Рабочий проект.
Хотите посмотреть нашу первую демку по DR? (К пн она скорее всего будет)
Anonymous Poll
100%
Да, скидывай
0%
Не интересно
Сидеть всю ночь и прогать с любимой девушкой - как смысл жизни 💖
Очень интересная и полезная фича: если вы хотите взять последний элемент массива, вы можете написать вот так "array[^1]"

так же будет работать с любым элементом с конца: "array[^2]" - предпоследний

Работает в последних версиях .NET
Пишите в комментах под этим постом любой вопрос связанный с Unity и C#.
Я выберу самые интересные и напишу посты с ответами.

Добавим немного интерактива!
Delegate VS Action

1. Delegate более гибкий. Ему можно задавать как возвращаемый тип, так и входные.
Например:

public delegate int Action(float x);

В Action можно задавать только входные данные:
public event Action<int> NewAction;

2. Простота написания.

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

public delegate int Action(float x);
public Action NewAction;

private void Start()
{
NewAction += Test;
NewAction(0.1f);
}

private int Test(float x)
{
return (int)x;
}

Для Action объявление по проще:

public event Action<int> NewAction;

private void Start()
{
NewAction += Test;
NewAction?.Invoke(1);
}

private void Test(int x)
{
print(x)
}

3. Так же существует UnityAction.
Он отличается от обычного Action только тем, что отображается в инспекторе достаточно удобным образом с возможностью подписывать методы там.
Но у него ограничение на 4 подписанных на него метода, в отличии от Action у которого 16 максимум.

В общем случае я практически всегда использую Action. Он проще и удобнее в использовании)
#DR

Нужна ваша помощь!

Помогите придумать, как можно реализовать механику.

Суть такая: перед началом забега запускается мини игра, после которой персонаж получает ускорение (или замедление)

Мини игра должна быть не дольше 5 секунд и достаточно простой для мобилок.

Персонажа будут оттягивать рогаткой и выпускать его.
#DR

https://drive.google.com/drive/folders/1GQxwDhKblK0OJBELFH7rg_j5_V1F_glW?usp=sharing

Самая первая, самая сырая демка. Принимаются отзывы!)

(Сборка на Windows)
Иногда бывают недопонимания в команде. Что нужно сделать, чтобы избежать конфликтов:

1. Старайтесь объяснять остальным очевидные для вас вещи, но непонятные для других.
2. Не стоит влезать в чужую сферу. Если есть предложение - можно обсудить. Но говорить, что человек не шарит в своей специализации - неэтично.
3. Если вы взаимодействуете не только напрямую с геймдизайнером, но и с другими участниками, старайтесь делать максимально удобно и понятно то, что от вас просят. (Хороший редактор уровня, правильно ориентированные модельки и т.д.)
4. Не стоит считать себя центром команды. Решения принимаются либо совместно, либо руководителем. Делать по-своему - подводить всех.

Конечно же, я это пишу не просто так. Скажем так, произошла неприятная ситуация, и я решил поделиться своими мыслями.

Будьте вежливы и уважайте других людей!