image

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

Специалисты


Проблемы специалистов — это не твои проблемы.

Ты подписан в твиттере на таких крутых экспертов, как @ID_AA_Carmack, @notch и @grumpygamer? Все они отличные разработчики успешно выпущенных игр.

А ты уже выпустил игру? Нет ведь, правда? Тогда проблемы этих ребят — не твои проблемы. У тебя совершенно другая проблема, требующая твоего полного внимания: выпуск завершённой игры. Вот и всё.

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

Проблемы специалистов


image
Джон Кармак: «Я рад, что мы наконец обеспечили поддержку C++11 в базе кода Oculus для мобильных устройств. Там есть куча мест, где unique_ptr очень поможет.»

Ой-ой-ой, а я-то использую GameMaker! Я не настоящий программист, выкину-ка весь проект в мусорку! Надо срочно заказать на Amazon шесть книг по C++11.

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

У специалистов много проблем: хейтеры в Интернете, фанаты просят инноваций, фанаты просят оставить всё как есть, большие коллективы, бюрократия, возникающая в больших коллективах, особая бюрократия, возникающая в больших коллективах кодеров (методология Scrum, отношение к сотрудникам как к ресурсам, планёрки, споры о невымытой посуде в раковине — в общем, проблемы специалистов).

Самая суть


Вот твои проблемы по степени важности.

  1. Придумать игру, которую ты можешь сделать, и
    • Которую оценит (а может и купит!) кто-то ещё.
    • Которую ты сможешь сделать меньше, чем за месяц. Да, именно.
  2. Найти готовый движок
    • В котором уже создавали коммерческие игры.
    • В котором можно разрабатывать игры быстро.
    • Который сам занимается сборкой.
    • А если ты уже знаком с ним, то вообще отлично.
  3. Закончить игру
  4. Продать её (или выложить)
  5. Прорекламировать её
  6. Получить отзывы
  7. GOTO 1

Если в выбранном движке ты не можешь за полдня создать клон Pong, в который другие люди смогут сыграть впервые, значит, выбор был неверным и тебя съест Гру.

А вот проблемы, которые не твои.

  1. Создание движка на C++
    • Нет
    • Неееееет
    • Неа
  2. Переписывание библиотеки STL C++, чтобы она не занимала так много памяти
    • *Сдерживаемые рыдания*
  3. Изучение способов создания многоплатформенных сборок
    • Научиться make
    • Потом cmake (make — для лохов!)
    • Затем premake (cmake — фигня)
    • Потом Jam (пфф, premake!)
    • И так он опускался всё глубже в темноту бездны. Мы знаем, что больше не увидим его лица. Он потерян для нас. Ещё одно дитя Адама заблудилось во тьме.
  4. Начать писать класс Vector
    • Хм, лучше посмотреть в операциях SIMD
    • Потом матрицы, кватернионы, ад интеграции OpenGL на любой вкус для шести платформ. Ой, постойте-ка, лучше ведь создать ещё и общий слой абстракции для поддержки DirectX. И материал для металла. А, нужен качественный промежуточный язык написания шейдеров!
      • Ни слёз.
      • Ни жалости.
      • Ни надежды.
  5. Споры обо всякой фигне в интернетах
    • Язык X лучше языка Y
    • Библиотека X лучше Y
    • Платформа
    • Методология программирования
    • Надо ли стремиться к 60 FPS (правильный ответ: нет.)
  6. Изучение программирования шейдеров
    • Это было твоей целью? Нет? Тогда ХВАТИТ. Делай игру.
    • Тебе нужна какая-то техника? Ну ладно, продолжай...
      • … но с осторожностью.
  7. Автоматизированные системы документирования
    • Doxygen
    • cldoc
    • Закапывайте его
  8. Локализация
    • Nooooo
    • Nein
    • Non
    • ???
    • Займёшься ею, как и всем остальным, после релиза.
  9. Оптимизация
    • «Игры — это исследовательское программирование»
      • Ты выбросишь этот код
      • Будет не важно, насколько быстро он шевелится на дне корзины для мусора.
    • Ты будешь заниматься ею, пока код не станет быстрым, или таким медленным, что не захочется продолжать
  10. Написание многотомных диздоков
    • Или рисование UML-диаграмм (Открою секрет: никто этим не занимается.)
    • Разработка через тестирование.
      • Нет.
  11. Создание редактора уровней
    • Не поддавайся искушению
    • Если очевидно, что это сэкономит время, создай МИНИМАЛЬНЫЙ редактор. Не тешь себя мыслью, что он пригодится в будущем.
    • MFC (Здесь тебе лучше просто выйти из-за компьютера, взять молоток и ударить себе по пальцам. Это будет менее болезненно.)
    • Qt — нееееет
    • .NET — неа
    • Простые текстовые файлы с динамической перезагрузкой в редакторе
      • Удивительно, но да
  12. XML
    • Нет
    • Написание собственного парсера XML
      • Который работает с пространствами имён!
        • Нет
    • SOAP
      • Ты так далеко сошёл с пути разработки игр, что уже не видишь его.
    • JSON, YAML, MessagePack
      • Нет, нет, нет
  13. Boost!
    • Усыпите нас обоих. Дороги назад уже нет. Это точка невозврата.

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

Советы


Как сосредоточиться на своих проблемах и развивать то, что важно? Вот что можно попробовать.

?? — кайдзен

Всё японское — это круто, не так ли? Ну, если подумать, можно найти несколько исключений. А вообще в Японии есть то, что без сомнения замечательно — это Toyota. Да, люди, делающие автомобили! Они, как Генри Форд двухтысячных, создают множество интересных бизнес-инноваций. И ведь все мы всегда готовы поговорить о бизнес-инновациях? Правда?

Ну ладно, пора проснуться!

Компания Toyota популяризировала отличный метод кайдзен: постоянное усовершенствование. Вкратце описать эту технику можно как мировоззрение, направленное на постоянный поиск областей для улучшения процесса разработки. Небольших улучшений, пусть на 1%. Никаких революций.

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

Когда я думаю о кайдзен в свете разработки игр, я игнорирую то, что касается процесса и рассматриваю этот метод как вопрос: «Какое минимально возможное действие я могу сделать, чтобы игра приблизилась к релизу?» Это может быть создание одного уровня или быстрое накидывание всех уровней при первом этапе доводки. Это может быть составление списка нужных звуков и отправка его аутсорсеру. Важно всегда двигать процесс разработки вперёд.

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

Начни с малого


Это будет твоя первая игра? О, тогда тебя ждут проблемы.

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

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

Выбери то, что вдохновляет тебя


Цель, которая вдохновляет тебя, но не слишком масштабна или сложна! Фактор X для любой игры — это ты, с твоими уникальными взглядами на дизайн игр, своим мироощущением, которое ты можешь выразить через игру. Не бойся вносить собственные штрихи.

Чем больше тебя вдохновляет проект, тем проще будет закончить.

Завершение — это навык


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

Завершение повышает уверенность в себе и позволяет быть рационально амбициозным.

Потребляй меньше


Прочтение 20 статей о разработке игр в день похоже на работу. Да это и есть работа! Но бесполезная, непродуктивная работа: ты топчешься на месте.

Проводи меньше времени на Gamasutra, TIGSource, r/gamedev/ (или где там ещё тусуются крутые ребята в наши дни), и трать чуть больше времени на работу над проектом.

Дай своему внутреннему голосу и интуиции немного развернуться!

Делись


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

Заключение


Хватит читать, приступай к делу!
Поделиться с друзьями
-->

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


  1. maaGames
    10.11.2016 16:12
    +7

    В целом согласен. Полезная статья для одиночных программистов, которые хотят сделать всё с нуля. Не надо так.)
    Реально оценив свои временнЫе возможности и ресурсы, делаю очень-очень простенькие игры. Тем более без знания языка. Пытался написать «свой редактор уровней, удобнее, чем Tiled»©. Усердно бил по рукам, пока не убедил, что неудобное редактирование в Tiled будет продуктивнее написания своего редактора, своего парсера файлов этого редактора в игровом движке, своего визуализатора игрового мира, вместо готовых решений… Переубедил! Вроде более-менее работает. Пока не гуглил, как libgdx отрисовываем Tiled карты, надеюсь, что обрезая лишнее, а то всё же придётся делать свой велосипедостроительный завод…

    Ещё раз соглашусь с посылом статьи: лучше довести до релиза хоть что-то простое, чем годами вылизывать технологическое демо морально-устаревшей почти игры.


    1. Blooderst
      11.11.2016 14:06

      Спасибо за Tiled!


      1. maaGames
        11.11.2016 14:11

        К слову, прямоугольники и прочие многоугольники со слоя объектов легко переносятся в box2d, если захотите его использовать.
        Можно было бы плагины для Tiled писать — цены бы ему не было. А так автогенерация там и плоховато работает и сложно правильно правила задать и приходится вручную тайлы расставлять…


        1. Blooderst
          11.11.2016 14:41

          А зачем автогенерация в редакторе? Редактор для того и служит, чтобы ручками расставлять.


          1. woodhead
            11.11.2016 15:21

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


            1. Blooderst
              11.11.2016 15:33

              Ну так а что мешает генерировать программно, а потом править в редакторе?


            1. maaGames
              11.11.2016 16:38

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


              1. bogolt
                11.11.2016 22:49

                Ну вместо написания плагинов можно скачать исходный код Tiled и вписать необходимое


          1. maaGames
            11.11.2016 15:44

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


  1. Aquahawk
    10.11.2016 16:44
    +12

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


    1. stargazr
      10.11.2016 17:21
      +2

      Как игра называется, где посмотреть можно?
      И насколько много зарабатывает, если не секрет?


      1. Aquahawk
        10.11.2016 19:14
        +1

        Честно, минусов вам не ставил. Игра http://crazypanda.ru/products/household там по соц сетям потыкать можете, где она есть. Вряд ли вы в такое играете. Да таким играм нужен хороший движок, топовые участки реально сложные и там всё совсем не тривиально. Сколько зарабатывает — секрет, компания частная, но достаточно чтобы делать примерно два релиза с акциями и обновлениями в день и переводиться на 10 языков и чтобы ещё оставалось.


        1. Aquahawk
          10.11.2016 21:35

          Релизов два в неделю а не в день, ошибся.


        1. stargazr
          10.11.2016 22:24

          Спасибо за ответ! Полагаю, вы используете (экспорт в?) HTML5? Насколько мне известно, написание «своих» движков там действительно пока что полностью оправдано и логично. Сам перепробовал на днях несколько PIXI-бойлерплэйтов, и ни один толком не работал, пришлось делать все самому. (Насчет минуса — я вас и не подозревал, кстати, хотя и представить не могу, за что был минус.)


          1. Aquahawk
            10.11.2016 23:02

            Нет экспортёр адоба корявый напрочь. Ручками растеризую сам на флеше, готовлю графику в правильных форматах под самопал движок. У нас графика собрана по удачному стечению обстоятельств очень удобным способом, таком что это очень хорошо ложится на железо в gl. В итоге анимации анимируются вертексным шейдером. Но проблемы с колоссальным overdraw, т.к. много прозрачных наложений, иногда до 100(сотня) доходит overdraw каждого пикселя на огромной площади экрана.


    1. Rampages
      10.11.2016 17:27

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


      1. Aquahawk
        10.11.2016 23:16

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


    1. Ashot
      10.11.2016 19:01
      +4

      … игры которая уже 5 лет зарабатывает деньги

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


  1. lgorSL
    10.11.2016 17:28

    Или рисование UML-диаграмм (Открою секрет: никто этим не занимается.)

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


    В остальном — очень жизненно. Я так ничего и не довёл до конца.


  1. TrueBers
    10.11.2016 17:34
    +7

    80% всего описанного — простая жажда преждевременных оптимизаций:
    — У них тормозит, у меня будет лучше.
    — Тру ребята используют это, и я тоже буду использовать, а то что-то непродуктивно работаю.
    — Сделаю-ка я на будущее себе сразу абстракцию «под всё».
    — Вот тут сразу на ассемблере векторизую с поддержкой всех процессоров, даже ещё не вышедших, а то есть вариант, что будет тормозить.
    … и т.п. — всё это преждевременные оптимизации, которые миллион лет назад уже обсудили.

    Остальные 20% — неясность намерений: кодишь ты для души, или для бабла. Для души можно и поразбираться в тонкостях, почитать статьи гуру, пооптимизировать для ЧСВ и поддержания формы. А для бабла просто берёшь костыль, и прикручиваешь к нему ещё один строго перпендикулярно и симметрично, чтоб не нарушить равновесие.


  1. Rampages
    10.11.2016 17:38
    +3

    Основная суть статьи: «доводи свои дела до конца»,
    и что-то типо: «ставь перед собой реальные цели».

    Хотя мне не нравятся предложение укладываться в 1 месяц… думаю это актуально только если вы хотите что-то поиметь с этой игры…

    Вообще делать игры в одного тяжко, лучше найти «единомышленников».


    1. DmitryMry
      13.11.2016 12:54
      +2

      Речь же о тех, кто ещё не выпустил ни одной игры. Это известная проблема новичков — начинают, делают и бросают, так и не доделав. Если проект потребует длительного времени разработки, то энтузиазм просто угаснет и получится очередной незавершенный проект. Другими словами — чем больше/сложнее проект, тем меньше шансов его доделать. Поэтому для новичка что-то небольшое и недолгое — самый лучший вариант (всегда найдутся исключения, но не нужно ориентироваться на них).


  1. perfect_genius
    10.11.2016 17:54

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


  1. cyberzx23
    10.11.2016 18:35
    +2

    И какова основная идея этой статьи? Не надо быть программистом, а становитесь гейм-дизайнером?
    Зачем? Рынок и так завален низкокачественным хламом, сделанным на фреймворках и различных гейм креаторах.
    А хорошие идеи загибаются от того, что нет людей, способных их воплотить в реальность.
    Слишком много стало «игровых разработчиков» и слишком мало настоящих хакеров и инженеров, подобных Кармаку.

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


    1. stargazr
      10.11.2016 18:43
      +6

      А почему вы думаете, что профессиональные навыки создателя игр лежат именно в инженерной плоскости?

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


      1. cyberzx23
        10.11.2016 19:25

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


        1. stargazr
          10.11.2016 21:47
          +4

          Не согласен с вами. Я понимаю, что от качества работы программистов успех тоже зависит, но почему вы именно их ставите во главу угла? Во-первых, есть рескины и левелпаки, являющиеся, формально, другими играми (а технически это та же самая игра). Кроме того, есть примеры игр, сделанных в конструкторах игр вообще без программирования, погуглите (в качестве примера — Making Monkeys; но могу ошибаться, давно дело было). А вот без хороших арта и левелдизайна игроки не оценят всех этих ваших технических фокусов (типа стрингов, длина которых ничем не ограничена, ламбада-исчислений и прочих крайне интересных им вещей, о самом существовании которых в составе игры они, вероятнее всего, вообще никогда не узнают, не говоря уже об именах авторов).


          1. cyberzx23
            10.11.2016 23:45
            +1

            Почему я ставлю их во главу угла? Всё просто. Наличие в команде хороших программистов, даёт больше творческой свободы игровым дизайнерам. Они не ограничены возможностью фреймворка или движка. У них есть люди, которые могут выполнить любую прихоть.

            А про то, что игры без арта не будут оценены никем, скажите это Маркусу Персону, создателю майнкрафта (программисту), а так же Терри Каванаху, создателю таких шедевров как VVVVVV, Don't look back, Super Hexagon и других.

            И вообще почему спор перешёл на программисты vs другие профессии. Я, как человек, работающий в индустрии с 2003-го года и зашипивший немало проектов, знаю, что важны все специалисты.

            Претензия у меня к статье только к её сомнительному призыву не развивать технических навыков.


            1. stargazr
              11.11.2016 01:33
              -1

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

              Вы программистом работали все это время, с 2003 года? Если так, то не аргумент (не говоря уж о том, что вы себе противоречите — см. выше). Да это вообще, в любом случае не аргумент; это повод к вам прислушаться, но вашу точку зрения само по себе не подкрепляет.

              Смысл статьи в том, что на одних технических навыках вообще никуда не уедешь.


              1. CrazyNiger
                11.11.2016 09:16

                А если не будет даже завалящего «программистишки», то кто наговнокодит скрипты и реализует идеи гейм-дизайнера? «Использовать готовые гейм-мейкеры» – скажете вы. А они не из вакуума берутся. почему вы не учитывает программистов которые их делали? А идея… идея, которую невозможно реализовать, лишена смысла.


                1. stargazr
                  11.11.2016 12:08
                  -2

                  «Использовать готовые гейм-мейкеры» — скажу я.
                  Гейм-мейкеры уже написаны, программистишки для их использования необязательны. Бери, да пользуйся. А с повсеместным распространением так любимого техноаутистами опенсорца все только усугубляется.

                  У вас такая, знаете, «математическая», типично технарская искаженная логика — очень прямолинейная и работающая только для сферических коней в вакууме. Ошибка в том, что написание скриптиков вполне под силу совмещать с другой какой-нибудь ролью, например, левел-дизайнера. Да и куда денутся толпы говнокодеров?

                  Кстати, если вывернуть ваш же аргумент — что будет, если гейм-дизайнеров не будет? Их в сторах не купишь, и программ-конструкторов таких нет.


                  1. CrazyNiger
                    11.11.2016 13:05
                    +1

                    Кстати, если вывернуть ваш же аргумент — что будет, если гейм-дизайнеров не будет? Их в сторах не купишь, и программ-конструкторов таких нет.

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

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

                    Вот есть такая игра: «The Witcher: Adventura Game» – порт одноименной настольной игры. Прекрасная идея, красивая «упаковка», но вот огромное число ошибок в реализации игровых механик портит всю игру.


                    1. stargazr
                      11.11.2016 13:50

                      [1] Вы что, гуманитарий? Почему я не могу пренебрежительно относиться к технарям и, в то же время, пользоваться результатами их труда? Законы физики это не запрещают ведь, не правда ли?

                      [2] В сторах полным-полно игр, которые никогда не глючат и не падают, но в которые я никогда не захочу поиграть потому, что они отвратно оформлены, неинтересны, и т.д.

                      [3] И вот как раз поэтому нужно скриптики готовые использовать, уже отлаженные — настолько, насколько это возможно (о чем и статья).

                      Ну и где же хваленая технарско-инженерная логичность? Неубедительно опять у вас получилось, ничего вы мне не доказали. Попробуйте еще, если хотите :)


                      1. CrazyNiger
                        16.11.2016 10:33

                        [1] Вы что, гуманитарий? Почему я не могу пренебрежительно относиться к технарям и, в то же время, пользоваться результатами их труда? Законы физики это не запрещают ведь, не правда ли?

                        Ни какие законы не запрещают, но это… хм, не последовательно.

                        [2] В сторах полным-полно игр, которые никогда не глючат и не падают, но в которые я никогда не захочу поиграть потому, что они отвратно оформлены, неинтересны, и т.д.

                        А игры с хорошей идей, но постоянно падающие, или из-за глюков не дающие продвигаться дальше по сюжету захотите играть?

                        [3] И вот как раз поэтому нужно скриптики готовые использовать, уже отлаженные — настолько, насколько это возможно (о чем и статья).
                        Где вы возьмете готовые скрипты для реализации конкретной игровой механики?

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


                1. dimm_ddr
                  11.11.2016 13:07

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


                  1. cyberzx23
                    11.11.2016 15:54

                    Главными не делает, но ключевыми делает.
                    Я работал в разных командах и в artist-driven, и designer-driven. И по личному опыту, команды в которых программисты стоят во главе разработки, способны выпускать качественный продукт в поставленные сроки.


  1. smxfem
    10.11.2016 18:35
    +3

    Что может быть прекраснее чем создать свой набор золотых молотков со всеми причиндалами и пересыпать, пересыпать их, такие классные и замечательные…
    А просто нормальный продукт — это уже из другой оперы, для бизнесменов, а не творцов.


  1. sens_boston
    10.11.2016 18:35
    +1

    Я бы добавил к написанному еще одно (хотя добавить можно много): нужно, чтобы игра (или приложение), хотя бы на период написания, была бы интересна тебе самому.

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


  1. bromzh
    10.11.2016 18:51
    +3

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



    1. stargazr
      10.11.2016 19:17

      (простите, промахнулся уровнем)


  1. Jogger
    10.11.2016 19:08
    -2

    А потом мы имеем кучу говенных недоигр в greenlight (и прошедших его!) которые никому не нужны, и в которые никто не играет, но которые так или иначе приносят копеечку создателю.
    У меня просьба ко всем, кто собирается сделать игру — вы либо не пользуйтесь советами в этой статье, либо не делайте игру. Серьёзно, не надо. Говорю вам как большой любитель игр — если вы воспользуетесь советами в этой игре — ваша игра не нужна.


    1. sens_boston
      10.11.2016 19:14
      +4

      в которые никто не играет, но которые так или иначе приносят копеечку создателю.
      Вы сами себе противоречите в этой фразе :) Если приносят копеечку, значит, кто-то, да играет?


      1. Jogger
        10.11.2016 19:22
        +1

        Нет, не противоречу. Продавать игры — не единственный способ заработать деньги. Тем более в Steam. В стиме немало коллекционеров, которые купят игру только ради +1 к числу игр, и никогда её не запустят, всё что для этого нужно — чтобы игра была достаточно дешёвой. Можно добавить в игру коллекционные карточки, когда пользователи будут продавать их — вы будете получать процент от суммы сделки. Наконец, можно игру раздавать бесплатно, и делать деньги на рекламе (и карточках, упомянутых выше). Всё это — реально работающие и существующие схемы, и ни одна из них не подразумевает того, что в игру будут играть.


        1. sens_boston
          10.11.2016 19:29
          +2

          Честно говоря, подобные утверждения мне кажутся голословными, а точнее, просто Вашей фантазией. Это базируется на собственном опыте, как создателя финансово успешной «говно-игры», или Вам так просто кажется («попробовал — игра полное говно, но у нее куча закачек»)?

          P.S. Я сужу по собственному, пусть и не очень большому опыту (у меня порядка 20 приложений и игр, с разной степенью популярности в Windows store).


          1. Jogger
            10.11.2016 20:46
            +1

            Вы видели хоть одного разработчика, который назовёт свою игры — говном? Или вы считаете, что чтобы понять что игра говно — нужно её сначала сделать?
            Мои суждения — на основе того, что я геймер уже много лет, и количество игр в библиотеке перевалило за полторы тысячи. Я видел много разных игр, дешёвых и дорогих, сделанных на коленке парой человек и сделаных огромными студиями, и уж конечно же — хороших и плохих. В общем-то, видел достаточно, чтобы понять, что хорошие игры — это те, где старались сделать хорошо, а не «тяп-ляп-и-в-продакшн», как советует эта статья. И уж конечно же все вышеперечисленные методы монетизации — видел в живую, у меня бы не хватило фантазии их придумать.
            И знаете, как у геймера (см. выше), и как у пользователя лицензионной windows (что в моей стране исчезающая редкость), у меня к вам встречный вопрос — а что, кто-то пользуется Windows Store? Да ещё и для игр? Просто в среде геймеров это скорее городская легенда, чем реальный источник игр — все вроде слышали, что оно есть, но никто никогда им не пользвался, и не видел людей которые пользовались. Расскажите, что, правда покупают игры? И пользователей много? Я не с целью задрочить спрашиваю, мне правда интересно.


            1. sens_boston
              10.11.2016 22:06

              Я не с целью задрочить спрашиваю

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

              Разработчик, как правило, точно знает, сколько именно у него пользователей (благодаря статистике внутри приложения, либо на стороне сервера), и сколь велик его доход. Если бы Вы ответили: «да, у меня есть игра, в которую играют ежедневно не более 20 человек, но которая приносит мне стабильный ежемесячный доход в $nnn благодаря „коллекционерам“ и in-app-ам», то я бы поверил Вам на слово, удивившись, впрочем, причудам некоторых пользователей.

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

              Касательно Windows Store: большинство моих приложений и игр написано для Windows Phone (ищите «senssoft» в сторе, оно покажет Вам все приложения, даже при отсутствии у Вас Windows 10 или Windows Phone), и я вовсе не «настоящий сварщик, просто каску нашел» — так, портировал несколько близких и приятных мне игрушек на платформу. Отдельной статистики именно по играм не дам, но замечу, что все «скопом» приносит уже не один год регулярный небольшой ежемесячный доход (впрочем, думаю, выше, чем средний доход в России в пару раз); количество ежедневных пользователей (правда, в основном, за счет моего «флагмана» — не игры) примерно под 100K.


              1. Jogger
                10.11.2016 22:29

                Вы можете конечно считать что это «высосано из пальца», никто вам не запретит. Но беда в том, что разработчик практически никогда не скажет вам правду — кому же охота признаваться что делает говно. Опять же, все описанные ситуации — они не додуманные, я просто описываю то, что вижу. Я не смогу вам это доказать, как не смогу доказать вам что небо голубое — я просто вижу то что есть, если вы посмотрите — увидите то же самое. Опять же, возникает вопрос — с какой целью мне вам врать, да ещё и придумывать несуществующие методы монетизации?
                Могу ещё добавить, что оценить, действительно ли пользватель играл в игру в steam — довольно сложно, поскольку нередка ситуация «игра была запущенна несколько часов, но в неё не играли».
                Спасибо за экскурс по Windows Store, это действительно интересно.


                1. sens_boston
                  10.11.2016 22:57

                  Ну, я же пояснил, почему так считаю: Вы оперируете не фактами но предположениями. Вам неизвестно ни реальное количество пользователей «говноигры» (вернее, то, что Вы лично считаете «говноигрой»), ни реальный доход, который она приносит разработчику. Ну, как можно при отсутствии реальной информации делать выводы?!

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


                  1. Jogger
                    10.11.2016 23:19

                    Для начала — не перевирайте мои слова. Я не говорил об отсутствии пользователей. Я говорил о том, что игру не используют по назначению — не играют. Кого вы считаете пользователем? Того, кто игру купил? Того, кто её получил на свой аккаунт иным от покупки методом? Того, кто её запускал? Того, кто прошёл в игре дальше меню? Потому что это разные подмножества.
                    А по поводу игр, которые могут служить примером — даже заставили меня задуматься. Потому что один из разработчиков недавно был удалён из стима вместе со всеми играми. Но, уверен, продолжают на этом зарабатывать — они раздают ключи для своих игр на сайте digitalhomicide.ninja. Если зайдёте туда — можете сами посмотреть на количество рекламы, думаю вы догадаетесь как они зарабатывают.
                    Ещё пример — store.steampowered.com/app/292630/ игра, которую многие называют худшей игрой в стиме. И не без оснований. Нет, я готов допустить что есть маргиналы которые в это действительно играют, но смею предположить что большая часть «пользователей» запускали эту игру только чтобы получить карточки, и пробовали играть в неё только один раз.
                    Это игры, которые сделаны и выпущены. И честное слово, лучше бы их не было. Хотя я уверен, что разработчики получили некоторый доход от этих игр (ну вряд ли digitalhomicide клепали свои игры одну за другой только с целью увеличения энтропии, согласитесь).


                    1. sens_boston
                      10.11.2016 23:41

                      Ну, отчего же «перевираю»? Вот что дословно было написано, а «что написано пером», так сказать…

                      А потом мы имеем кучу говенных недоигр в greenlight (и прошедших его!) которые никому не нужны, и в которые никто не играет, но которые так или иначе приносят копеечку создателю.

                      Касательно упомянутой игры — откуда у Вас сведения о доходах, которые приносит это приложение? Разве Steam требует ежемесячной оплаты за размещение приложения? Каков «баланс» этой игры: деньги, затраченные на разработку vs полученные из Steam-а?

                      Без знания реальных цифр, Вы не можете утверждать, что данная «говноигра» приносит копеечку создателю (я не игрок, но, по моему, в Steam-е можно получить возврат за плохую игру?)


                      1. Jogger
                        10.11.2016 23:51

                        Вам не кажется, что наша дискуссия не имеет смысла? Как игра может приносить прибыль я уже писал, и повторять — не вижу смысла, поскольку вы всё равно скажете «у вас нет реальных цифр». Мне вот интересно, а если бы я был разработчиком — вы бы просто поверили мне на слово? Или стали бы требовать полную бухгалтерскую отчётность? И если вы поверили бы разработчику, который куда более заинтересован в том, чтобы врать — то почему такое недоверие мне?
                        К слову, занятно выходит — если бы я соврал, что разработчик — выходит, доверие мне было бы больше. То есть не верите вы мне именно потому, что я не вижу смысла лгать и говорю вам правду. Даже немного обидно.


                        1. sens_boston
                          11.11.2016 00:23

                          При чем здесь вранье? Я просто сказал, что Ваше «imho», не подкрепленное цифрами, не более, чем частное мнение, притом ошибочное (но высказанное с безапеляционностью, как истинный факт). На моей стороне есть статистика, доступная мне как разработчику (впрочем, признаюсь, что, вероятно, не совсем правильно ее экстраполировать на game dev).

                          Я бы вообще поостерегся проводить корреляцию между чисто субъективной «говноигорностью» (если можно так выразиться) с доходами. Например, пресловутые «Flappy bird» и «Pokemon Go» с моей точки зрения являются законченными «говноиграми», на которые я потратил лишь пять минут своего времени, чтобы посмотреть, что это такое. Что никак не отрицает того факта, что у этих игр были и есть миллионы пользователей, и они приносили/приносят изрядную прибыль своим создателям.

                          С уверенностью я могу утверждать лишь одно: хорошо сделанная игра, с захватывающим геймплеем, практически однозначно станет, рано или поздно, популярной и принесет своему создателю неплохой доход. Хороший пример — вот этот камрад, который начинал, да и остается, indie http://www.skgames.net/app/traffic-rider


                          1. Jogger
                            11.11.2016 13:01

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


                            1. sens_boston
                              11.11.2016 18:54
                              +1

                              Вы неправильно поняли содержание статьи: она о том, что лучше выпустить игру, чем не выпустить, завязнув в оптимизациях, навязанных «фичедемоном».

                              Я утверждаю, что Вы неправы, основываясь на собственном опыте и статистике — игры и приложения без пользователей не приносят дохода. Это немного больше, чем просто imho, не так ли?

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

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


                              1. Jogger
                                11.11.2016 22:16
                                -1

                                Насколько я понял статью — она о том, что лучше выпустить игру, чем сделать её хорошо. Я, как пользователь — не согласен. Если вы считаете, что плохая игра лучше, чем никакой — это ваше право. У нас просто разные взгляды на эти вещи.

                                >Я утверждаю, что Вы неправы, основываясь на собственном опыте и статистике — игры и приложения без пользователей не приносят дохода. Это немного больше, чем просто imho, не так ли?
                                Это намного менее, чем imho. Потому что, хотя я вас и спросил об этом, вы так и не назвали критерия того, кто может считаться пользователем. Я утверждаю, что для того, чтобы игра приносила доход — не нужно, чтобы в неё кто-то играл. Чтобы вы наконец поняли, придётся утрировать — если тысячи людей купят вашу игру, но ни один не запустит — вы получите доход, не так ли? Вот первая же ссылка из гугла — https://alogvinov.com/2014/04/37-igr-steam-nikogda-ne-ustanavlivayut/ говорит о том, что 37% игр в стиме никогда не устанавливают. Просто чтобы доказать вам, что купленная игра — не равнозначно сыгранной игре. Если вы считаете, что доход невозможен без того, чтобы люди ИГРАЛИ в вашу игру — вы невежественны и глупы. Если вы считаете, что доход невозможен без того, чтобы игра была зарегистрированна на аккаунтах людей — вы совершенно правы. В обоих случаях этих людей можно назвать пользователями. Именно поэтому я задал вам вопрос, что же вы имели в виду под этим словом.

                                > Даже, хотя-бы, для того, чтобы получить небольшой ежемесячный экстра-доход.
                                Опять же, вы со своим imho. Я считаю что доход, полученный таким образом — вредит откружающим. А по вашей логике и воровать тоже есть резон — ну, ведь таким образом можно получить небольшой ежемесячный экстра-доход, правда? Да, воровство конечно противозаконно, а создание плохих игр — максимум аморально, поэтому аналогия не полная, но если напряжётесь — сможете понять, о чём я говорю.

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


                                1. sens_boston
                                  11.11.2016 22:47
                                  +1

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

                                  Дальнейшую дискуссию с хамом я считаю невозможной и неконструктивной.


                                  1. Jogger
                                    11.11.2016 22:52
                                    -1

                                    И вам всего доброго.


                    1. sens_boston
                      10.11.2016 23:47

                      P.S. У меня, кстати, тоже есть одна «говноигра» (если ее так можно назвать); наваял ее на коленке за вечер, используя Android-ный sample, в качестве «входного приложения» для Windows Phone Marketplace (тогда MS требовала, помимо $100/year, еще и размещение реального приложения в магазине, чтобы стать «разработчиком»). Но, что самое интересное, лично я ее до сих пор использую в качестве «индикатора трезвости», работает просто изумительно ;)


                      1. Jogger
                        11.11.2016 00:01

                        Ну, что касается Windows Phone Marketplace я судить не возьмусь, я же не даром у вас расспрашивал. Если вы скажете что там доходы зависят только от качества игры — я естественно вам поверю.


    1. lubezniy
      10.11.2016 19:48

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


      1. Jogger
        10.11.2016 20:00

        Вы знаете, чтобы понять что игра плоха — фидбек не нужен. Достаточно самому быть игроком и после создания игры — попробовать сыграть. Нет, понятно, что предвзятость будет, но если не пытаться себя успокаивать что «бывает и хуже» — то вполне можно оценить результат. А вот если игра будет хорошей хотя бы для себя — тогда уже фидбек поможет сделать её хорошей и для других.


        1. lubezniy
          10.11.2016 20:10
          +1

          Со своей стороны контроль, конечно, нужен. Но сторонний фидбэк важнее, если он идёт на готовое приложение. А отзывы в стиле «не пиши на A, это старьё, сейчас все пользуют B» (на хабре, к слову, что-то подобное иногда можно наблюдать) воспринимать не нужно, иначе не сделаешь ничего.


  1. pda0
    10.11.2016 19:09
    +1

    Компания Toyota популяризировала отличный метод кайдзен: постоянное усовершенствование./blockquote>
    Так вот чем мы обязаны лютому говнокоду в прошивках их автомобилей. ;-)


  1. ethero
    10.11.2016 21:40

    Да, очень грустно зарываться в детали, которые к твоей идее имеют второе или даже десятое отношение, и (о ужас!) видеть как утекает время и ресурсы. Но, сожалению счастью, далеко не все можно сделать в «теплице» с готовыми инструментами и решениями. Поэтому… Just Do It!!! (виде выше — просто улет :)


  1. herr_kaizer
    10.11.2016 22:14
    +1

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

    А вот написание всего того, что в статье перечислено в виде «не надо этого делать» — интересная, почти исследовательская деятельность (несмотря на то, что всё уже сотни тысяч раз писали до тебя).


    1. Jofr
      10.11.2016 23:02
      +1

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


      1. cyberzx23
        10.11.2016 23:49

        Но зачем выпускать такую игру? Зачем увеличивать энтропию?


        1. Jofr
          11.11.2016 06:37
          +1

          Такую какую? Которая… работает? Нет, в вашем вопросе все просто: а цель какая? Если цель — выпустить игру, получить опыт, фидбек, прокачать скилл, то ранний релиз всему этому способствует. Если цель сохранить энтропию… ну что ж, придется выбирать тогда.


          1. cyberzx23
            11.11.2016 16:07
            -1

            Цель — стать хорошим разработчиком игр.
            Интересно почему, согласно, это статье я не могу одновременно делать игру и совершенствоваться в своей специальности. Особенно если я начинающий разработчик?
            Я в свои 20 лет читал книги без остановки: по С++, ассемблеру, 3д графике, математике, проектированию движков. Я тратил существенную часть своей зарплаты на заказ этих книг на амазоне. И это было потрясающе. Получать новые знания, новые навыки, сразу же их применять на практике — что может быть лучше?
            И меня удивляют советы новичку начать свой путь с освоения гейммейкера.
            Нет, нет, нет. Надо писать свой движок. Пройти весь этот путь. Да, надо написать свои контейнеры, объекты строк, разобраться как работает SIMD математика, написать свой pathfinding и кучу других велосипедов.
            И только после этого, когда ты поймёшь как это всё работает изнутри, ты можешь в целях экономии времени сделать очередную игру на гейммейкере.


            1. Jofr
              11.11.2016 16:24
              +1

              Ну так это ваша цель. И вы её достигли, как я понимаю, и это прекрасно. У других людей могут быть несколько иные цели.

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

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


            1. Qbit
              17.11.2016 14:04
              +1

              > Получать новые знания, новые навыки, сразу же их применять на практике — что может быть лучше?
              > Особенно если я начинающий разработчик?

              В геймдеве самый важный навык — finishing a game: http://makegames.tumblr.com/post/1136623767/finishing-a-game
              Особенно, если ты начинающий разработчик.

              Именно отсутствие этого навыка критично. Отсутствие остальных навыков менее существенно.


        1. lgorSL
          11.11.2016 08:09
          +1

          Но зачем выпускать такую игру? Зачем увеличивать энтропию?

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


  1. 1eqinfinity
    17.11.2016 10:29

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