🔥

Тред #10


Сегодня день на расслабоне, поэтому поделюсь всякими капитанскими советами, многие из которых из личной практики. Некоторые из этих ошибок/просчётов стали причиной закрытия нашего стартапа.
notion image

Отсутствие задокументированного плана/родмепа. Если вы как-то свои цели документируете, то потом сложнее их менять. А если вы, всё же, их меняете, то есть тому подтверждение. Когда же это всё только в вашей голове, то вы постоянно будете отклоняться от выбранного курса.

Это очень важно и в геймдеве, и просто у стартапов. Тут ещё можно про MVP рассказать. Но, как по мне, лучше посмотреть одно видео от Майкла (одного из создателей Твича). youtube.com/watch?v=1hHMwL…

Сложность проектов не должна резко скакать. Мы резко переключились с небольших сингловых игр сразу на MOBA с потенциально большим онлайном. Из-за этого прошли через всевозможные ошибки и кучу шишек набили. Нужно было сначала взяться за проект поменьше.

Если же вы взялись за что-то новое и у вас не хватает опыта, то не стесняйтесь найти ментора или того, кто вам на этом пути поможет. Самый глупый вопрос — это незаданный вопрос.
notion image

Не экономьте на специалистах. Если у вас в команде нет бекендщика/девопса, то, вполне вероятно, лучше нанять отдельного человека, чем кому-то из текущих фронтендщиков начинать это дело изучать.

Быстрые итерации и mvp на первых порах. Зачем вам k8s или другая подобная система на первых порах? Вполне возможно, что сервисные инстансы можно запускать ручками. И виртуалки поднимать ручками. А уже потом по мере роста переводить всё на новую инфраструктуру.

Сказал вам человек, который на первых порах все виртуалки настраивал с помощью bash-скриптов. К счастью, через какое-то время я изучил Ansible и, как минимум, процесс диплоя стал куда проще и приятней.

Правильно ли я поступил, что сначала по-быстрому наговнякал скрипты на баше, а должен был взять Ansible или Puppet? Стоил ли Ansible тех время затрат, что я на него потратил? Думаю, да (:

А вот о том, что кучу времени потратил зря, пытаясь прикрутить Apache Mesos или Kubernetes (который на то время был в бете), жалею. Для меня это было полезно в плане расширения кругозора, конечно, но для компании/стартапа никакого толка.

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

Если в инфраструктуре есть какие-то кластерные штуки или мастер-мастер/мастер-слейв сервисы, то не поленитесь провести тесты того, как система себя поведёт, если ноды откажут. Мы так обосрались с Redis'ом и consul'ом, т. к. там фолбек не сработал нормально.

И не забудьте убедиться, что сервисы, которые юзают Редис/Консул и т. п, нормально динамически справятся с тем, что там сменился мастер.

Совет неоднозначный, но возможно вам не нужно всё держать/настраивать самим. К примеру, может не стоит самим поднимать Графит с Графаной у себя, а использовать какой-то готовый сервис для метрик типа Datadog'а.

Дурацкое решение №1: мы в какой-то момент решили разделить игру по регионам. Да, когда у нас там играло полтора рудокопа. В итоге куча времени на настройку, проверку. Потом ещё на написание механизма миграции между регионами.

Дурацкое решение №2: покупки на Твиче. Мы договорились с twitch'ом, чтобы на странице игры можно было совершать внутриигровые покупки. После привязки Твич аккаунта к игровому, игрок мог получить эту награду. Сил и времени потратил дофига, а покупок не было совсем 🤣
notion image

Дурацкое решение №3: Battle Royale режим. Да, на волне хайпа решили запилит такой режим. Но т.к. онлайн в игре небольшой был, то в этом режиме были практически одни боты. Куча времени на этот режим, на AI. Оно того не стоило.
notion image

Почти всё можно свести к двумя вещам: 1 - Итерируйте быстро и не пытайтесь предусмотреть и реализовать всё. 2 - Но закладывайте возможность доработок и модификаций в будущем.

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

Если не получается, просто отпусти, а оставшиеся ресурсы пусти на новый проект. У вас уже есть опыт, да и скил прокачался. Шанс успеха возрастает. Пробуйте снова и снова. Когда-нибудь у вас всё получится.
notion image

Андрей АпанасикАндрей Апанасик