Пользователь
0,0
рейтинг
23 июля 2012 в 18:54

Разработка → Принципы минимализма при разработке игр для мобильных платформ из песочницы

Преамбула


В конце лета прошлого года мы решили сделать продолжение нашей игры Папа Пингвин как полноценную новую игру. Вначале мы хотели лишь слегка изменить имеющуюся идею и выпустить на основе нее более серьезный проект, использующий наши наработки, однако мы недостаточно основательно подошли к вопросам препродакшена и не определили достаточно четко фокус и базовый геймплей проекта с самого начала. В результате игра получилась не такой лаконичной и цельной, как могла бы, а разработка игры затянулась. Причем не все запланированные фичи были реализованы, а в процессе разработки приходилось несколько раз останавливаться, пересматривать полученные результаты и упрощать как саму идею, так и дизайн уровней, интерфейс и т.д. Последние упрощения были сделаны после проведенных тестов и отзывов. В итоге получился именно Капитан Антарктика, а не Папа Пингвин 2. Результатом, откровенно говоря, я не совсем доволен. Хотя игра получилась очень интересной, многое в ней можно упростить и улучшить (что мы и постараемся сделать в ближайших обновлениях).

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

Итак, по порядку:

1. Минимализм идеи

  • Идея игры должна быть проста и понятна игроку.
  • Идея должна быть настолько простой и короткой, что игрок мог бы моментально поделится ею с другими (что способствует распространению игры).
  • Идея должна напрямую поддерживать простоту геймплея.
  • Простая идея должна запасть в душу игроку и запомнится надолго.

Примером здесь могут служить Tiny Wings
image

и Angry Birds.
image

2. Минимализм дизайна

  • Геймплей должен быть максимально простым и понятным без подсказок и обучения.
  • Управление должно быть простым и подходящим большинству игроков. Нежелательно делать несколько вариантов управления. Желательно, чтобы управление осуществлялось так же просто на других платформах, чтобы при портировании не пришлось изобретать новое.
  • Геймлуп и игровая сессия должны быть короткими, но геймплей и остальная инфраструктура (например, магазин) должен давать возможность снова и снова переигрывать (endless mode или возможность постоянного улучшения результатов).
  • Уровень должен быть устроен так, чтобы всегда легко можно было бы внести изменения и протестировать их.
  • Никаких параметрических заданий-миссий внутри игры одновременно с достижениями. Зачем две вещи, если они фактически выполняют одно и то же (JetPack JoyRide)?
  • Процесс Игра->Улучшения/Магазин->Игра->… должен быть быстрым, максимально упрощенным и интуитивно понятным.
  • Магазин и товары в нем должны быть простыми, чтобы не нужно было объяснять, что это за товар и что он предоставляет игроку, но тем не менее оставлять игроку возможность выбора.
  • Меню должно быть максимально простым, как можно меньше переходов. Желательно, чтобы вообще было 3 экрана: главное меню, магазин и сама игра.
  • В игре должно быть как можно меньше текста (в идеале только название игры и авторы). Все остальное — визуально (иконки, стрелочки и т.д.) и интуитивно понятно. Это минимизирует работы по локализации.
  • В дизайне должно быть как можно меньше цифр — это упрощает настройку. И, конечно, как можно меньше цифр (кроме статистики) должно быть предоставлено на обработку игроку.

Под эти пункты (но не все) я бы подписал JetPack JoyRide
image

и Run In Crowd.
image

3. Минимализм в графике

  • Маленькое количество объектов на сцене/экране.
  • Объекты не должны быть громадными. В крайнем случае должны строиться из более мелких (сокращаем размер по текстурам).
  • Простой и запоминающийся внешний вид главного героя.
  • Главный герой должен иметь такой вид и форму, чтобы анимация его была простой, но прикольной (как можно меньше анимационной работы).
  • Нечеткий, без деталей задний фон (можно поставить компрессию).
  • Элементы графического интерфейса должны использовать общепринятые стандарты (вид иконок, например). Не нужно изобретать велосипед.

Сюда подойдут Cut the Rope
image

и Contre Jour.
image

4. Минимализм программирования

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

Сюда бы я приписал все продолжения Angry Birds, Cut the Rope Experiments и Mega Run.
image

5. Минималистичность звукового оформления

  • Легкая, не утруждающая фоновая музыка, которая понравится всем.
  • Маленькое количество звуков (они нагружают процессор и увеличивают размер билда).
  • Звуки должны быть простыми, не отвлекающими и не нагружающими, а погружающими в геймплей.

Contre Jour, Cut the Rope.

6. Другие (дополнительные) требования:

  • Желательно, чтобы приложение было универсальным, так как, отдельные версии приходится дольше собирать и тяжелее поддерживать. Целесообразно ли это с точки зрения маркетинга — вопрос спорный.
  • Приложение должно быть рассчитано на максимально широкую аудиторию.
  • Поддержка Retina-дисплеев.
  • Хорошо, если приложение поддерживает все имеющиеся устройства Apple на iOS (порадуем всех) и работает на них без тормозов.
  • Итоговый размер приложения не должен превышать 50Мб (для iOS > 5), а еще лучше, если он будет меньше 20 (для старых устройств, не поддерживающих iOS 5).
  • В приложении не должно быть платформозависимых элементов, что позволит в дальнейшем распространять его на остальные платформы.

Главный итог: все лишние элементы надо убирать сразу же. Если убрать элемент, и оказывается, что без него можно обойтись, значит, скорее всего, он здесь не нужен. Вспоминается история со Стивом Джобсом, когда разработчики долго мусолили интерфейс программы записи файлов на диск. В итого Джобс из интерфейса убрал все, оставив лишь большую кнопку «Записать», а файлы нужно было просто перетаскивать. В то время это было революционно.

Возможно, многое из того, что описано здесь, на первый взгляд покажется банальным, но если при разработке постоянно не держать в голове такой список и не контролировать себя по нему, может получится совсем не то, что ожидалось. Предлагаю вместе обсудить эти требования, что-то добавить, что-то опровергнуть. Я буду рад узнать мнения других разработчиков с опытом в индустрии.
Антон Григорьев @fischer
карма
66,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

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

  • +3
    Ничего не пойму, недавно ж была такая (или эта же?) статья, или у меня просто дежа вю?..
    • +1
      Все правильно, была… Забанили и закрыли. А хотел подискутировать с людьми и получить фидбек, поэтому заново запостил.
  • 0
    Меня в этом списке смущают неопределенности по типу: «понравится всем», «максимально широкая аудитория».
    Маленькое количество — это сколько?
    Короткая сессия — это сколько?

    И вопросы автору:
    1) что такое поддержка Retina-дисплеев? Большое разрешение или что?
    2) короткая идея игры: в каком виде ее нужно доносить до игрока, чтобы он смог ее озвучить товарищу?
    • 0
      Маленькое кол-во — да, действительно, тут определенно не скажешь. Зависит от проекта. Я ориентировался на кол-во объектов на экране в таких играх из перечисленных, как Cut the Rope, Tiny Wings и Run in Crowd. Посмотрите на их скриншоты, и мне кажется, будет понятно, что я имел ввиду.
      Короткая сессия — это обычно минут 5, самый максимум — 10.

      1) Поддержка разрешения iPhone4, 4S и нового iPad, текстуры в соответствующем разрешении, соответствующая детализация картинки.
      2) Вопрос, на самом деле, непростой. Я бы ответил так: доносить ее нужно игрой в целом. Скажем, как бы Вы рассказали товарищу идею Angry Birds? Я бы так — «пуляешь птичек чтобы разгромить свиней.» В Папе Пингвине, например, идея звучала бы так: «Собираешь пингвином рыбу, чтобы накормить голодных пингвинят.» Как доносится идея в этих играх? Через простой геймплей (собирать рыбу/пулять птичек, громить свиней) + визуально (голодные пингвинята, которые просят больше и больше/разрушения + смерть свиней).
      • 0
        Спасибо за статью-список: кратко и по существу.

        > Маленькое кол-во — да, действительно, тут определенно не скажешь.

        Магическая цифра известна давно: 3-5 объектов — предел восприятия для казуала.

        > Короткая сессия — это обычно минут 5

        ИМХО, это много. Моя статистика по игрокам говорит про 1-2 минуты.

        > как бы Вы рассказали товарищу идею Angry Birds?

        Стрельба из катапульты по строениям.

        P.S. Пишу не для троллинга, а только ради дискуссии. Поймите меня правильно. :)
        Если интересно — могу добавить несколько пунктов к Вашему списку, как геймдизайнер.
        • 0
          Да, конечно интересно!;)
          • +2
            1) очень важно, чтобы игровые объекты выражали эмоции.
            2) наличие пассивной игры: если ничего не делать, то на экране все равно что-то происходит.
            3) наличие «физики»: сложное поведение объектов сильно повышает реиграбельность.

            Ну и вкусовщина:

            1) экранов интерфейса может быть много, но количество кнопок и навигация между ними должны быть простыми.
            2) везде где можно избавляться от чисел. «Широкая аудитория» не дружит с арифметикой. Есть куча других способов показать количество или размер.
            3) все числа не должны содержать больше 3х цифр. Если больше — сокращаем.
            4) легких уровней должно быть максимально много. Многие игры грешат быстрым повышением сложности.
            5) вместо кучи кнопочек/объектов — куча способов взаимодействия с этими объектами.
  • 0
    Спасибо за интересный пост. Для начинающих разработчиков мобильных игр, так вообще, обязательно к прочтению.
    А как Вы получили значения максимального порога размеров приложений (50, 20)?
    • 0
      В AppStore приложение можно скачать или установить либо через iTunes на компе, либо с устройства через Wifi, либо мобильный интернет (обычно 3g). В последнем случае у Apple есть лимит по размеру — если приложение больше этого размера, то его можно установить только первым (iTunes) либо вторым (WiFi) способом. Раньше это было 20Мб, и разработчики из кожи вон лезли, чтобы сократить его до этого размера. Вроде как считалось, что с этим повышается вероятность скачивания приложения. С появлением нового iPad с Retina-дисплеем размер приложений (особенно 2d), поддержавших Retina, сильно увеличился. И Apple в iOS5 подняла планку до 50Mb.
      • +1
        Стоить добавить. Google Play (ранее известный, как Android Market) допускает хранение на своем сервере дополнительных файлов игрового контента размером до 4 Гб, при этом размер клиента игры .apk по прежнему не должен превышать 50 Мб.
        • 0
          Спасибо! Очень полезная для меня информация, ибо скоро предстоит портирование на Android.
  • +1
    А если во время разработки не держать в голове такие «требования», то есть шанс, что получится действительно интересная и новая игра, а не очередной клон унылых птиц. Но и риск «пролететь» тоже увеличивается, согласен.
  • 0
    Капитан Антарктика — это эти что ли? www.youtube.com/watch?v=Pm5mTZ-amD0
    Я бы не сказал, что это прям минимализм. Ролик у них клевый, но по внятности с Angry Birds не сравнить.
  • 0
    это для казуальных игр а не для мобильных. Шутер или стратегия, например, потребует другого подхода.
  • +1
    > 3. Минимализм в графике

    > Маленькое количество объектов на сцене/экране.
    Мало — это сколько? В Contre Jour есть два слоя фона, один из них анимированный, есть всякие цветочки, есть еще падающие лепестки. Разве что нет «фона» перед камерой. Больше уже сложно придумать. В том же CTR — просто фон, и всё. Странно, что вы их объединили по такому критерию.

    > Простой и запоминающийся внешний вид главного героя.
    Еще можно написать «главный герой должен быть красивым, нравиться и запоминаться всем игрокам, а еще он должен стать популярным и его должны все любить».

    > Главный герой должен иметь такой вид и форму, чтобы анимация его была простой, но прикольной (как можно меньше анимационной работы).
    Прикольной анимацию делают художники, аниматоры и звуковики, а не вид и форма главного героя.

    > Нечеткий, без деталей задний фон (можно поставить компрессию).
    Вы предлагаете компрессией создавать blur-эффект или что? Зачем специально портить текстуру? Почему сразу не нарисовать фон размытым?

    > Элементы графического интерфейса должны использовать общепринятые стандарты (вид иконок, например). Не нужно изобретать велосипед.
    Вот фиг его знает. В случае с неигровыми приложениями — ок, но интерфейс игры должен создавать не под стандарты ОС, а под общую атмосферу/для создания атмосферы. Удобство должно быть — само собой.
    • 0
      >Еще можно написать «главный герой должен быть красивым, нравиться и запоминаться всем игрокам, а еще он должен стать популярным и его должны все любить».
      Так и есть) Вы можете смеятся, но наш Капитан прошел 4 реинкарнации, прежде чем стал таким, какой он есть. И основные требования были (в том числе от издателей):
      * пусть пингвин, но не такой как все
      * милый, няшный, чтобы бабушки любили
      В итоге, мы этого добились. Его теперь ни с одним другим пингвином не спутаешь. Как Микки Мауса или Ам-няма из CTR.
      Посмотрите, сколько игр в AppStore появилось, например, с птицами, которые копируют внешний вид птичек из Angry Birds или Tiny Wings.

      >Прикольной анимацию делают художники, аниматоры и звуковики, а не вид и форма главного героя.
      Да, только от вида и формы главного героя зависят анимации. Пример: главный герой Contre Jour.

      >Вы предлагаете компрессией создавать blur-эффект или что? Зачем специально портить текстуру? Почему сразу не нарисовать фон размытым?
      Это подподает под «небольшой размер текстур». Бэки обычно, очень много весят. Если на них нет деталей, их можно:
      * уменьшить в размере а потом растянуть
      * повесить компрессию (она тоже разной бывает)
      Но все это только если нет деталей, понятно почему.

      >Вот фиг его знает. В случае с неигровыми приложениями — ок, но интерфейс игры должен создавать не под стандарты ОС, а под общую атмосферу/для создания атмосферы. Удобство должно быть — само собой.
      Я же не предлагаю тупо брать кнопки из Винды. Конечно, интерфейс должен стилизоваться под атмосферу. Но назначение элементов должно быть понятно игроку по общепринятым признакам. Например, кнопка «Паузы» или «Переиграть». Тут ничего придумывать не нужно, все давно придумали.
      По поводу простоты и стандартов в интерфейсе, предлагаю взглянуть на стартовый экран Bag it!:
      image
      Все кнопки простые и понятные, кроме кнопки «Об авторах» справа внизу. Стилизованы под игру.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Про CTR я имел ввиду CTR:Experiments как использование по максимуму наработок.
      А что касается вариантов управления — если есть тильт, то желательно делать альтернативное управление, тк не все любят тильт.
  • 0
    > Так и есть) Вы можете смеятся, но наш Капитан прошел 4 реинкарнации
    Это просто совет из разряда «игра должна быть офигенной и хорошо продавать». Понятно6 что герой должен быть харизматичным — но вот как этого добиться — вопрос уже совсем другой, я просто почему-то думал, что вы именно про это хотели рассказать.

    > Да, только от вида и формы главного героя зависят анимации. Пример: главный герой Contre Jour.
    Я это написал к тому, что тот же ам-ням ни разу не простой для анимации персонаж — там очень даже запарная в плане ресурсов покадравая анимация, в отличии от того же CJ, где герою ничего не остаётся, кроме как моргать (ну и хвост еще). Но да — няшность похоже решает =)

    > Это подподает под «небольшой размер текстур». Бэки обычно, очень много весят.
    Просто в CJ фон — это совсем отдельная тема, там отнюдь не «маленькая текстура». Тут на хабре даже была статься от Мокуса о том как он добавлял блюр фону. Я иногда захожу в CJ просто полюбоваться фоном под музыку и посмотреть на ползающие на заднем фоне глаза, т.е. фон, конечно же, не должен отвлекать и мешать играть, но лично я не помню ни одной игры с настолько неудачным фоном — это надо отдельно постараться.

    > Все кнопки простые и понятные, кроме кнопки «Об авторах» справа внизу. Стилизованы под игру.
    Вообще согласен, хотя когда в очередной раз видишь «птичий» интерфейс — создается ощущение какой-то неоригинальности. Не уверен, что это минус, т.к. не приходится разбираться в новой среде, но ощущение есть и с ним ничего не поделать :) А нестандартные кнопки паузы и плэй — это, согласен, возможно перебор, хотя я таких вообще не могу вспомнить.
  • +3
    IMHO советы из серии

    «делайте игру которая будет: мало весить, быстро работать, в ней будет мало кода и при этом она будет офигенная и хорошо продаваться» :)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.