Создание первой игры от начала до раннего доступа в Steam. Субъективное мнение о инди разработки собственными силами. Делюсь личным опытом, проблемами с которыми придется встретится. Затрону будущее обновление своей игры в качестве примера работы над ошибками.

Чтобы вы понимали правильно, разработкой игр я занимаюсь приблизительно 10 месяцев из них 5-6 месяцев это плотное изучение игрового движка по статьям, видео урокам и книгам. Одну даже заказал из Москвы. Живу я в Казахстане г. Капчагай. Оставшиеся 5 месяцев – это разработка игры.

Я занимаюсь веб-разработкой и контекстной рекламой, но в прошлом году решил плавно сменить сферу деятельностью на разработку игр.

Почему!?


Во-первых, надоело.

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

В-третьих, крайне высокая конкуренция, зачастую демпинг цен. Обратите внимание на мой «глубокий» сравнительный анализ веб студий и игровых студий в Алматы.


Веб студии в Алматы


Игровые студии в Алматы

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

В-четвертых, мое мнение у веб-разработчика крайне сомнительное будущее, в котором AI и машинное обучение, дизайн нарисует и сайт напишет. Особенно когда знаешь, что грядёт будущее персонализированных страниц для пользователя под его предпочтения и другим факторам которые «черный ящик» посчитает важными. Это себе могут позволить только очень крупные компании.

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

Поэтому я решил заниматься разработкой игр пока не поздно.

Плюсы:

  • Глобальный рынок;
  • Огромная платежеспособная аудитория;
  • Крупные игровые магазины, у которых, все поделено и есть относительно понятные правила игры;
  • Возможность творить и фантазировать;
  • Входа с хорошей идеей без больших первоначальных вложений;
  • AI доберется туда не так скоро. Он умеет играть в игры, копировать, но не создавать по принципу от идеи до реализации. Но насколько мне известно он отлично используется для увеличения продаж внутри игровых покупок и показе рекламы;
  • Игры связаны с современными трендами VR и AR;
  • Мне просто нравится делать игры!

Минусы:

  • Конкуренция;

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

Моя первая игра


Не буду уделять много времени описанию игры и разработки первого варианта, который вышел в ранний доступ Steam 15 сентября. Пробегусь максимально кратко.



Horde attack — это аркадная стратегия. Существует игровое поле где размещены независимые города с различным количеством воинов в них. Игроку предоставляется армия всадников, которая следует вашим приказами (мишень на карте). Вы не можете управлять конкретным всадником, только всем отрядов. Захват города осуществляется очень просто, если число ваших воинов превосходит количество в городе вы захватываете город, а он в свою очередь начинает создавать воинов для вашей армии. Конечно в игре присутствует вражеский генерал, пытающийся вас опередить и уничтожить.

На первый взгляд может показаться, что основная цель игры накопить армию и захватить все города. И это действительно так =) Но почему я считаю свою игру оригинальной — это множество механик, которые разнообразят игру. В моей игре их должно быть настолько много, каждый бой будет уникальным. И выработать одну тактику даже с ботами будет очень сложно. Множество неизвестных в игре один из моих основных принципов.

Особенно это будет заметно в многопользовательской игре. Буду откровенен. Баланс в игре будет не самой ее сильной чертой. Его отсутствие одним из плюсов. Игра должна быть веселой. На любые претензии к этому я отвечу, как один из моих любимых героев.

image

Если появится непреодолимое желание поиграть, добро пожаловать в Steam

Хочу отметить что в раннем доступе сейчас многое из того что я напишу отсутствует и появится в ближайших обновлениях. Ближайшее примерно конец октября или начало ноября.

Разработка первой версии игры


Ранее я выпускал 4 статьи посвящённой первой версии разработки игры. Достаточно ввести в поиск «Первая игра от полного нуля до альфы. Пишу свою историю разработки Horde Attack» и почитать. Плюс многие темы разработки будут перекликаться с главой об обновлении игры.
Для хабра я оставил самое вкусное. Наблюдение и выводы сделанные в процессе разработки и работу над ошибками.

Как это, выпустить игру в Steam. Личные впечатления.


После того как Horde Attack прошла Greenlight. Научился процесс подготовки выпуска игры в ранний доступ. Этот не сложно, но займет много времени. Для начала нужно получить статус ИП чтобы можно было продавать игру, здесь это происходит быстро. Ушло примерно дней 5-7 на полное оформление документов, получение счетов и так далее. После того как получаешь все документы, данные необходимо отправить в Steam на проверку, которая занимает 30 дней.

Одной из трудностей с которыми сталкиваешься это «объем различной информации». От тебя требуется изучение вопроса налогообложения, юридических вопросов, лицензий, авторских прав и все это относится к другой стране. Некоторым пунктам приходится уделять много времени для изучения. Меня не покидало ощущения ошибки или корректности вводимой информации. Я до сих пор не уверен, что все сделал правильно =)

В результате после заполнения всех необходимых форм 10 июля я отправил данные на проверку и 11 июля в 5 утра сел в самолет и с другом отправился в путешествие в 15 городов на юге России. Мне нужен был отдых.

Ответ об успешные проверки пришел 5 августа, а вернулся в Казахстан я 7 августа. После этого начался следующий этап, оформление страницы игры в магазине. По ощущениям это тоже нельзя назвать простым занятием, множество вкладок, вопросов, скриншотов. Все кажется очень простым, но в конце дня я был как выжитый лимон.

Страница в магазин проходит проверку 2-3 дня. И если ты ошибаешься, то необходимо повторно отправлять на проверку и ожидать ответа. Один раз меня забраковали. Во второй раз одобрили, но попросили внести ряд изменений для увеличения эффективности. Тех. поддержка в Steam дружелюбная, за это им большое спасибо!

Следующий этап — это подготовка сборки игры. Здесь сложностей у меня не возникало, Steamworks SDK достаточно просто. Проверка занимает 3-5 дней. Но и здесь я нарвался, указал что есть русский язык в интерфейсе, а его там нет. Пришлось сдвинуть выпуск еще на 5 дней.

В итоги игра вышла 15 сентября.

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

Жизненный цикл игры


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

Для меня это очень актуально. Из моих трудовых ресурсов это ноутбук и я. Поэтому о полноценном тестировании говорить не приходится. Я пошел на риск и выпустил сырой продукт. Особенно когда ранний доступ Steam для этого и предназначен.

Я был готов к любой критики с целью получить качественную обратную связь. И получил….

Ну что сказать? Я впечатлен! Впечатлен игрой, геймплеем, эпичным зрелищем и смелостью разработчика.

Начну с последнего пункта. Смелости разработчика можно позавидовать. Смелости или уверенности точно не скажу, я не знаю сколько еще работы над игрой предстоит до релиза, но пока в игре почти ничего нет. В описании много всего, но на деле пока тут только демонстрация геймлея!
….
Mihailovich



Но в целом отзыв положительный и полезный. Вот видео игры от Mihailovich

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

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

Продвижение игры после старта


Для меня игровой рынок в новинку и многих правил я не знаю. Поэтому приходится изучать методом проб и ошибок реакцию пользователей и каналы продвижения. Сейчас я задействовал социальные сети, специализированные сайты, посвящённые инди играм. Все способы продвижения, которые я использую бесплатные и обходятся мне только затратой собственного времени. Одно из моих последних достижений в фэйсбуке охват игрового видео 15 092 и 3600 просмотров. Об этом мне нужно писать позже и в отдельной статье, прошло мало времени и результат корректным не назовешь.

Но я столкнулся с одним из явлений, надеюсь те, кто с этим сталкиваются поделятся со мной в комментариях.

После запуска игры на мою почту или в чат начали приходить письма с предложениями за 1 или несколько ключей сделать обзор. Или люди пишут, что стримят в Twitch или Youtube. И они просят ключи, чтобы поиграть в своей трансляции. Для меня это в новинку. И я конечно раздал несколько ключей, чтобы посмотреть, что это и как работает. Померить эффективность в конце концов, не зря я подключал аналитику к странице магазина.

Но об этой истории в следующих статьях.

Обновление игры, о многом пришлось поразмыслить.


Создание воинов и их уничтожение


Так как Horde Attack это моя первая игра, то конечно я не знал всех тонкостей оптимизации и особенностей в разработке. Весь мой опыт основывался на статьях и видео уроках с YouTube.

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

Я почувствовал это, когда в моей игре появилась возможность генерировать более 1000 воинов. В редакторе Unity торможение начинались при генерации более 300 воинов. В созданной сборке под Windows 64bit. Комфортно играть при 800 – 1000.

На видео обзоре пользователя в Steam видно, что при 1200 начинается небольшие тормоза, но при 1 700 играть, скрипя зубами можно. Еще на видео заметны проблемы с NavMesh. Некоторые воины замораживаются на несколько секунд.


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

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

Проблема заключается в этом небольшом кусочке кода:
Instantiate(warrior, gameObject.transform.position, Quaternion.identity);

В чем заключается проблема. За игроком следует отряд воинов. Когда игрок указывает на город, конница исчезает в границах города и увеличивает численность.

Destroy(other.gameObject);

Количество охраны + количество в отряде. При условии, что городом владеет игрок.
Когда игрок выходит воины генерируются, и в это момент происходит колоссальная нагрузка. Происходит создание 100 … 300 … 1000 объектов.

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

Если кратко, проблемами были использование Instantiate () и переполнение памяти и сборщик мусора.

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

Идея пулов простая. При исчезновении объекта он не удаляется, а скрывается, благотворя SetActive(false). При необходимости его появления мы его активируем SetActive(true). Вот и все.

Сейчас я занимаюсь созданием Pool Manager у себя в игре. Теперь я могу зарезервировать (создать заранее) 1000, 2000, 3000 объектов для воинов игрока и врага. После чего активировать по мере необходимости нужное количество. Но из-за этой перестройки пришлось вернуться к уровню кубов и цилиндров.



Немного скриншотов








Прочитать про Pool Manager можно в книгах «Оптимизация игр в Unity 5» и «Искусство создания сценариев в Unity» и конечно поиск.

Еще одним решением которое я принял, это снижение нагрузки в момент генерации воинов из города. Даже с использованием Pool Manager происходит пик нагрузки. За несколько кадров, компьютер создает 1000 объектов. Поэтому при входе в город скрываются нужное количество воинов для захвата города, остальные остаются на карте.

Одним из советов для создателей игр это минимизация использования Instantiate () и Destroy() для объектов которые будут постоянно использоваться в игре.

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

Жду от вас конструктивных отзывов о статье и об игре. Надеюсь вам понравится.

Комментарии (28)


  1. Akuma
    03.10.2017 11:14
    +2

    По результатам можно поподробнее?

    1. Сколько вложено в рекламу?
    2. Какой доход на сегодня?
    3. На какую аудиторию было все нацелено? Русскую или нет?

    Стоила ли игра свеч, как говорится? :) Именно в финансовом плане.


    1. Danil_ka88 Автор
      03.10.2017 11:48

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

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

      Стоимостью продвижения можно считать личное время. Расскажу в статье потребное.

      2. С 15 сентября по 2 октября продано более 50-ти копий. Цену можете посмотреть в магазине Стима. (Учитывайте что от регионов цены разнятся)

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

      3. Я с 2008 занимаюсь веб разработкой и контекстной рекламой. Про подбор аудитории и маркетинг в целом имею представляю. Но если быть откровенным, разработка и продвижение игр для меня нова. Поэтому по большему счету сейчас нащупываю все особенности и тонкости.

      Пока нацелен на глобальный рынок. Вот расстановка сил в языке на сегодняшний день.
      image
      Могу добавить что нацелен на локализацию минимум на 5-7 популярных языков.

      Стоила ли игра свеч, как говорится? :) Именно в финансовом плане.

      На сегодняшний момент это выглядит больше как работа на энтузиазме. Но, скажу с уверенностью что да, она того стоит. Это первый проект получаю много отзывов. Очень творческая работа получается + одна из мотиваций заработок. (Если я хочу заниматься этим серьезно и постоянно, без доходности здесь не обойтись).

      Сейчас занимаюсь разработкой обновления, которое должно появится в начале ноября + монетизируют игру. Прошло 15 дней, как по мне нужно время. Чтобы делать выводы.


  1. A1essandro
    03.10.2017 12:55
    +1

    Не согласен с Вами по поводу тупиковости WEB-разработки. Думаю, это можно сравнить с системами конструкторами сайтов. Системы появляются, рекламируются, но работы для web-разработчика/дизайнера меньше не становится.

    Ну дойдут нейронные сети до того, чтобы создавать сайты по требованиям клиентов. Но рынок web-разработки вряд ли рухнет, т.к. эта сфера затрагивает не только «сайты на заказ». Некоторые крупные системы работоют с web-интерфейсом (но это, естественно, тоже про крупные компании). Да и вообще, создать какой-то действительно уникальный продукт, какой-то даже простой сайт, но с фичей, у нейросети не получится еще долго.

    С другой стороны Вы правы, что всё таки веб-разработка — это в основном 95% рутины и однообразия.


    1. Danil_ka88 Автор
      03.10.2017 13:38

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

      Изменения происходят колоссальные уже сейчас. В большинстве случаев сайт представляет из себя:
      — Платформу для вывода данных из базы данных или других источников. За это ответственен разработчик.
      — Оформление данных для пользователя. За это ответственен дизайнер.

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

      — Машина учится на основе поведения конкретного пользователя, находит самую актуальную и релевантную информацию и отправляет ее другой машине, которая выберет размер шрифта зная что 2 дня назад этот человек потерял очки и еще их не купил со скидкой, которую ему предложила другая машина =), цвет кнопки и ее форму.

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

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

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


      Не долго. Причины две.
      1. Не так много осталось уникального, боюсь, что уникальное придумает «черный ящик». У нее больше данных и мыслит она иначе.
      2. Копирование. Вот придумала одна компания функцию «Истории» через пол года она у всех только названия меняют. И тут вопрос, а если машина пробежится по сайтам и через неделю отправит email руководству, что с понедельника на сайте новая функция. Подтверждение не требуется =)

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

      Все будет хорошо.


      1. A1essandro
        03.10.2017 15:05

        Вы проигнорировали пример с бесплатными конструкторами сайтов.

        1. Не так много осталось уникального, боюсь, что уникальное придумает «черный ящик». У нее больше данных и мыслит она иначе.


        Ну тут у меня несколько замечаний. Во-первых, не так много осталось уникального — я думаю эта фраза неверна, т.к. нет границы человеческой фантазии. Во-вторых, в текущих реализациях ИИ не может придумать что-то уникальное, скажем так, в глобальном смысле. Те нейросети, которые обучаются писать стихотворения на произведениях Блока, так и будут писать стихи в этом стиле. Он даже не сможет употребить нового слова, если такового нет в лексиконе Блока. Если «мозг» машины обучают управлению по дорогам, то если его поставить на самолет, он «не поймет», что ему доступен третий угол для управления (тангаж). Если ИИ обучить на всех сайтах (сомнительное занятие, не правда ли), то он не сможет создать сайт, на котором бы при вырисовывании знака бесконечности курсором, открывалось бы диалоговое окно, предлагающее скачать последнюю студию, если такового сайта нет в сети. Я уже молчу о количестве входных/выходных нейронов для такой нейросети. А именно такие «фишки» (конечно, мой пример абсурден, первое что пришло в голову) делают разницу и привлекают посетителей на сайт.

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


        1. Danil_ka88 Автор
          03.10.2017 17:49

          Вы проигнорировали пример с бесплатными конструкторами сайтов.

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


          Сайт на Joomla или конструктор сайтов, это конечно простое решение. Но давайте посмотрим со стороны рентабельности и конкурентоспособности. Сайты с приходом AI не смогут конкурировать.

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

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

          Не смотрите на разработку веб сайтов со стороны технологий, посмотрите со стороны рентабельности и конкурентоспособности сайта сделанный на конструкторе. Это может привести к снижению спроса на веб разработку в целом. Потому что многим будет проще сделать XML и выгрузить на 10 маркетов.

          Хотя нельзя исключать что крупные CMS станут интегрировать AI в свои движки.

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


      1. A1essandro
        03.10.2017 15:09

        P.S. Можно подумать, что я против ИИ. Наоборот, я очень интересуюсь этой темой, даже есть пара небольших репозиториев на эту тему. Я просто выражаю своё видение ситуации, и считаю, что для ИИ есть намного более интересные и важные сферы для развития.


        1. Danil_ka88 Автор
          03.10.2017 17:55

          Все нормаль=) это обсуждение вопроса и поиска истины.

          Я просто выражаю своё видение ситуации, и считаю, что для ИИ есть намного более интересные и важные сферы для развития.


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

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


  1. norlin
    03.10.2017 13:33

    Очень круто, что добрались до Стима! Я вот тоже год назад решил начать переквалифицироваться из веба в геймдев, но пока результаты сильно скромнее, даже до альфа-версии не дошёл.


    Но почему я считаю свою игру оригинальной

    Я правильно понял, что по геймплею это клон Galcon?


    1. Danil_ka88 Автор
      03.10.2017 13:49

      Надеюсь статья с мотивирует!

      Я правильно понял, что по геймплею это клон Galcon?

      Еще с битвой грибов есть сходство.

      Но есть и различия, которое меняет механику игры и по моему мнению не дает статуса «Клона».
      Основное различие. В игре предоставляется возможность управлять только одной армией. Причем вы не контролируете каждого солдата в отдельности а указываете путь всей армии. Солдаты относительно независимые. Особенно это будет заметно в ближайших обновлениях.

      В игре у вас нет возможности увидев, что враг захватывает ваш город. Собрать воинов из соседних городов и направить на защиту. У вас 2 варианта идти завоевывать дальше своей ордой или вернуться на защиту. А так как карты будут не маленькие, это выбор повлияет на всю игру.

      И таких особенностей будет множество. Нужно только подождать


  1. Danil_ka88 Автор
    03.10.2017 13:36

    Ошибочка


  1. T-362
    03.10.2017 13:49

    изучение игрового движка по статьям, видео урокам и книгам. Одну даже заказал из Москвы.

    Какие книги можете посоветовать, а какие совсем наоборот?


    1. Danil_ka88 Автор
      03.10.2017 14:13

      Для себя я нашел отличный способ поиска информации.

      1. Не увлекайтесь изучением обучающего материала. 1-2 месяца почитайте, посмотрите. Чтобы к терминам привыкнуть и посмотреть как работают другие. В видео можно заметить мелочи, которые облегчают работу. До этого момента я на C# не писал совершенно. Сейчас чувствую себя конформно, но учится есть куда.

      2. Переходите к практики как можно быстрее, здесь у вас появятся реальные вопросы, а ненадуманные «а что если я сделаю так».

      3. Самый важный! Отдайте поиск информации машинам под названием «Рекомендательные системы». Они есть на YouTube в соц. сетях и могу посоветовать Дзен (охватываешь почти весь остальной веб).

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

      Книги отлично для начала и знакомства с интерфейсом. Особенно когда по картинкам пытаешься понять как же они это сделали.

      1. «Unity в действии»
      2. «Оптимизация игр в Unity 5»
      3. «Искусство создания сценариев в Unity»

      Что не рекомендую! Смотреть видео для начинающих если прошло 2-3 месяца. Начинайте практику.
      Обратите особое внимание! Я попался, в большинстве статей и видео. В них показывается решение конкретной задачи, но зачастую не стоит вопрос оптимизации или масштабирования.
      Потом будите переписывать все потому, что солдат бегает но не атакует =) Но об этом я бы не узнал пока не попробовал сам. И это учит пониманию оптимизации, потому что когда видишь проблему начинаешь искать решение и учится дальше.


      1. T-362
        03.10.2017 14:24

        Спасибо. У меня просто проблема что после многих лет сплошного php (и редких, ужасаюших моментов js) трудновато въезжать в строгие множественные типы, по этому и охота толстую хрестоматийную книжку с самых основ, где бьют палкой по пальцам за неверные практики аки в Шаолине, что-бы потом не было приколов уровня "ой, а что, и такой тип данных есть?".


        1. Danil_ka88 Автор
          03.10.2017 17:26

          Боюсь что, в поисках этой книги жизнь пролетит. Плюс технологии меняются и Unity не исключения. В начале я разрабатывал на unity 5.5 а сейчас перешел на 2017.1. И с появлениями нового функционала, я подумываю о реализации новых игровых механик от которых отказывался до ее появления. Это особенно касается камеры и ее применения.


  1. Zoolander
    03.10.2017 14:17

    Интересный проект, жду следующего отчета.

    Идея простой логики понравилась, похожую игру можно было бы запилить даже на голом JavaScript/HTML (можете посмотреть, как я сделал игру про караван в моих публикациях).

    Но конечно, Unity дает куда более мощные возможности в плане графики. Ощущения совсем не те, что от передвижения аскетичного треугольника по кругам, как у меня в караване )


    1. Danil_ka88 Автор
      03.10.2017 14:25

      Спасибо!

      Обязательно посмотрю статью.
      Да, Unity очень удобна для работы и относительно легко начать.


    1. Akuma
      03.10.2017 16:11

      Поделитесь статистикой по караванам? :) Сколько людей играет?


  1. Zoolander
    03.10.2017 14:25

    Вы молодец, что нашли про Pool Manager самостоятельно. Это действительно наиболее юзабельный и важный паттерн в игрострое. Я впервые столкнулся с его необходимостью, когда реализовывал взрывы с разлетающимися частицами пару лет назад. Кстати, говоря, надо помнить, что при превышении размеров пула генерация начнется снова, у меня так игра падала, когда игроки научились взрывать все на уровне (речь не о караване).

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

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

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


    1. Danil_ka88 Автор
      03.10.2017 14:40

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

      Да я знаю об этой проблеме, одно из решений, которое я рассматриваю это незаметно ограничить переполнения. Используя геймплей игры. Предположим ситуацию, что у игрока большая армия а на карте большой дракон, ну как его не уничтожить=) И игрок думает накоплю я 5000 и убью дракона за 4000. Но оказалось, что дракон не такой глупый и не сидит на базе а решил обезопасить себя. Полетел и сжег половину=)

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


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

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


      У меня есть идеи, но об этом в следующих статьях и обновлении.


  1. Suvitruf
    03.10.2017 16:15

    Для начала нужно получить статус ИП чтобы можно было продавать игру
    Можно и как физик продавать.
    Страница в магазин проходит проверку 2-3 дня.
    Не знаю, откуда такие цифры. Там даже когда вы игру отправляете на ревью, пишет, что оно занимает 5-7 дней.
    Тех. поддержка в Steam дружелюбная, за это им большое спасибо!
    Вам очень повезло. Тех.поддержка там отвратная. Рекомендую задавать вопросы в группе разработчиков в Steam. Там ответ получите на порядок быстрее.


    1. Danil_ka88 Автор
      03.10.2017 17:23

      Можно и как физик продавать.

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

      Не знаю, откуда такие цифры. Там даже когда вы игру отправляете на ревью, пишет, что оно занимает 5-7 дней.

      Возможно этот срок зависит от загруженности службы проверки и цифры для подстраховки. И мне повезло =)

      Вам очень повезло. Тех.поддержка там отвратная. Рекомендую задавать вопросы в группе разработчиков в Steam. Там ответ получите на порядок быстрее.

      Спасибо за совет! Могу только добавить что пришлось 2 раза обращаться и в обоих случаях в течении дня или на следующее утро получал.


  1. perfect_genius
    04.10.2017 09:19

    А меня поразила способность мозга что-то усмотреть на заглавной картинке, в этой «мазне».
    Как обработали картинку? Фильтр или нейросети?


    1. Danil_ka88 Автор
      04.10.2017 09:27

      Нейросети, одна из популярных программ для мобильных.


  1. iBljad
    04.10.2017 15:23

    По поводу Pool-менеджеров: в туториале для начинающих автор сразу сказал, что создавать и уничтожать объекты неправильно, нужно складывать их в пул, после чего легко туториал про это


    1. Danil_ka88 Автор
      04.10.2017 15:26

      Спасибо за ссылки. К сожалению при просмотре видео или чтение книг не на все моменты обращаешь внимание.


  1. Barido
    05.10.2017 20:50

    На чём написана игра — язык, фреймворк?


    1. Danil_ka88 Автор
      05.10.2017 20:50

      Движок Unity 3d и язык программирования С#