"я научился на ошибках
любую с блеском повторю"

Интернет-мудрец

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



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


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


Итак начнем. Создание чего-либо нового начинается с идеи. Наш случай не был исключением. Как и бывает идея рождается под впечатлением от чего-то. Это может быть чей-то успех, описанный красочно и задорно, это может быть любимая игра, в которой есть небольшой недостаток, исправив который, она наверняка бы стала шедевром на ряду с “Улыбкой Джаконды”, это может быть… Но речь не о том. Первые грабли на которые мы наступили были еще до того как мы отправились в путь. Итак:


Продумывание идеи — это уже начало разработки игры. Он также важен как и любой другой этап.


В детстве когда я смотрел американские фильмы, мне очень нравилось, когда крутые копы, ловили негодяя и следуя правилу Миранды, очень быстро выкрикивали ему в ухо: Вы имеете право хранить молчание. Всё, что вы скажете, может и будет использовано против вас…


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


Платформер. Для детей 15-30 лет


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


Главный герой (естественно игрок) должен за определенное время на своем космическом такси перевезти пассажиров из пункта А в пункт Б.


image


Другое дело! В голове уже начинают появляться картинки. Кто-то может даже мысленно прожужжит имитируя работу двигателя. Все, писать код! Нет! Рано. Теперь надо придумать, что заставит пользователя запустить игру.


Упор будет на головоломки. Сюжетную линию и симпатичную графику


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


Теперь можно переходить к следующему этапу: описанию концепции игры. Но об этом, мы поговорим в следующей статье.

Поделиться с друзьями
-->

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


  1. AzureSeraphim
    28.11.2016 13:41
    +3

    >Платформер. Для детей 15-30 лет
    Для детей 30 лет. Аха ха ха. Извини не смог удержатся.


    1. Shtucer
      28.11.2016 15:01

      Извини не смог удержатся.
      Хахаха. Извини, не смог удержаться.


      1. Darthman
        28.11.2016 18:39
        +4

        Первые сорок лет самые трудные в жизни мальчика.


  1. ShmeLo
    28.11.2016 15:04
    +17

    Что-то не очень информативный материал для полноценной статьи. Больше похоже на введение. Лично я был очень удивлен, обнаружив конец статьи там, где ожидал увидеть основную ее часть)


  1. Neline
    28.11.2016 15:05
    -3

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


  1. trapwalker
    28.11.2016 18:10
    +3

    Это гениально! Это неожиданно! Я так понял из этой статьи, что нужно делать ТЗ перед тем, как начинать программировать. Пусть даже оно будет не очень формальным, однако оно не должно содержать слишком глубоких абстракций вроде «как-нибудь», «что-нибудь» и «кого-нибудь».
    Это было… какое-то просветление.
    Кстати, если вы не заметили моего злого сарказма о поводу вашего введения, оформленного в виде отдельной статьи, хочу указать на это и, за одно, сгладить свой резкий выпад. Мне пока-что не понятно является ваша история историей успеха. Вроде как, есть когнитивное искажение, которое заставляет людей пытаться учиться на успехах, а не провалах других людей. Если это история ошибок трудных, то жду продолжения, иначе просто напоминаю, что успех — это лишь статистический нонсенс, исключение из правил. В интернетах полно людей, которые пишут книгу «как надо делать» сразу после того как у них что-то получилось… или не получилось. Забавно. Я бы, честно сказать, больше доверял бы информации из вашей будущей статьи, если бы оказалось, что вы уже сделали пару десятков таких ошибок, о которых говорите, а не одну.
    Желаю вам успеха и рационализма.=)


    1. Neline
      28.11.2016 18:30
      -1

      Все в порядке. Я благодарен Вам за отзыв. Не ради самоутверждения, а для обмена опыта живем в Хабре. Нет, книгу успеха писать не берусь. Цель моей статьи — осветить, казалось бы очевидные вещи, но часто пропускаемые/забываемые из-за своей неприметности.
      Возможно, аудитория на которую рассчитана данная статья — начинающие игроделы. Для мудрого новичка, любой опыт — источник информации. Для более опытного разработчика — повод для самопроверки.
      В первой статье, я постарался описать ошибки допущенные когда-то командой на начальных этапах разработки. Каким-бы не были очевидными рекомендации, только после, того как они (команда) стали выполнять их (рекомендации) шаг за шагом, удалось существенно повысить эффективность и качество разработки.
      Ваши посты — это тоже набор рекомендаций, которые я постараюсь учесть в последующих статьях.
      Удачной разработки!


  1. msdos9
    28.11.2016 20:09

    А чё за игра-то, ёлы-палы?


  1. svfat
    28.11.2016 20:23

    Для тех, у кого нет времени прочитать этот объёмистый труд, я подготовил краткое изложение:

    iOS. Платформер. Космическое такси. Головоломки. Сюжет. Графика.


    1. Neline
      28.11.2016 21:20

      Спасибо, Станислав.


    1. 3aicheg
      29.11.2016 05:00
      +1

      Ннннееет, всю интригу убили!!!


  1. FrozmatGames
    30.11.2016 15:24

    С такой топологией как на картинке — это будет не игра, а бенчмарк.


    1. Neline
      02.12.2016 15:59

      Там организованно все капельку хитрее. Но спасибо за уместную и адекватную критику.
      P.S.: Просмотрел весь Ваш дневник по «The Woken Shadow», этот проект несомненно заслуживает всеобщего внимания. Искренне надеюсь, что у Вас все получится!