Gamedev Анатолий Логиновских
8 518

Делаем игру за три дня: день второй — окружение и механика: уже можно поиграть

Про механики, окружение и деньги.

В закладки

Продолжение марафона по созданию компьютерной игры за три дня.

Визуальный результат за три дня

Добрый день!

Опережая повествование хочу сообщить, что марафон в три дня окончен! Ссылку на результат (на игру) я оставлю в конце. Не забывайте, что запланирована ещё одна статья, посвященная написанию музыкального сопровождения. Её я закончу на следующей неделе, если не будет никаких сдвигов в графике.

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

В этот раз я обозначу структуру статьи, чтобы было проще ориентироваться. Весь материал разбит на несколько блоков.

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

Также хочу отметить, что все варианты и ошибки буду рассматривать только на своих примерах. Это будет справедливо. Критиковать чужое творчество я ещё не дорос. К тому же у меня достаточно своих проектов, на которых можно «отвести душу».

Игровое окружение

С игровой механикой все ясно - простой платформер. Никаких извращений. Поэтому рассмотрим механику чуть позже. С примерами и пояснениями. Сейчас акцентирую внимание на игровое окружение.

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

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

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

Вариант первый: генерация уровней

Пример игрового окружения с генерацией уровней

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

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

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

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

Вариант второй: основа из одного блока

Пример игрового окружения на основе одного блока

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

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

Вариант третий: плиточная конструкция

Пример игрового окружения на основе плиточной конструкции. С дефектом

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

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

У меня уходили часы на то, чтобы слепить пару уровней вручную из заготовленных плиток. Потом я стал использовать программный код для заполнения пространства. Однако в любом случае велика вероятность дефектов. Из-за невнимательности или недоработок кода всегда часть плиток оказывались не на своих местах. Тут я могу винить только себя.

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

Вариант четвертый: основа из отдельных объектов.

Пример игрового окружения на основе отдельных объектов. Одинаковые объекты закрашены одним цветом

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

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

Элементы игрового окружения.

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

Имея заготовленные элементы можно смело приступать к сборке игры.

Сборка игры.

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

Игровая механика

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

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

Пример игры-головоломки на основе физики

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

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

Пример игры в жанре три-в-ряд

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

Пример простого платформера.

Механика платформера отлично подходит для знакомства с основами программирования. Именно этот жанр ассоциируется у большинства с пониманием того, что такое игры. Возможно, эти ощущения идут из прошлого. Именно платформеры преобладали на приставках Dendy и Sega. А про эти приставки в России знает каждый. Должен знать во всяком случае.

Сделать интересный платформер не так просто. Их и так слишком много в разных вариантах и комбинациях. Для марафона я выбрал именно такую механику.

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

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

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

Пример приключенческой аркады

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

Сюрреалистический квест

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

Пример top-down shooter'а.

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

Отборный микс с сюрреалистической основой

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

Итоговый подсчёт времени

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

  • Игровое окружение: фоны, платформы, гриб, пузырь, шипы, анимация взрыва — в общей сложности 3 часа.
  • Игровые звуки — 30 минут.
  • Музыкальное сопровождение: один трек — 40 минут.
  • Перенос всех картинок и частичное их редактирование — 2 часа.
  • Дизайн уровней: 7 вариантов — в среднем по 10 минут на каждый.
  • Программный код — 2 часа.
  • Прочее — 3 часа.

Итого 12 часов и 20 минут. Можно смело округлить до 13 часов. Теперь прибавляем 6 часов разработки за первый день и получаем 19 часов. Это даже меньше суток!

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

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

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

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

Про деньги

А теперь самое интересное. Сколько можно заработать на игре, сделанной за три дня? Меня тоже волнует этот вопрос, поэтому я всё подсчитал. С удовольствием поделюсь с вами расчетами. Однако они требуют небольшой преамбулы, чтобы прояснить некоторые тонкости.

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

Сразу скажу, что не учитывал в расчётах некоторые налоги и временные затраты на одобрение проекта в Steam. Это не так важно, потому что я исходил из наихудшего варианта. Выглядит он следующим образом: около 10 долларов в месяц с одной игры и 50 долларов с каждой распродажи. Очень пессимистичный вариант, но наиболее вероятный для проектов низкого качества. Также я не учитывал приток посещений на страницу проекта в Steam за счет дополнительной рекламы со сторонних ресурсов. Смысл такой: сделал игру, выложил её в магазин, поставил скидки и забыл. Больше никаких усилий.

Для удобства восприятия размещу пару иллюстраций и поясню их.

Один год — одна игра и шесть периодов со скидкой.

Для начала я посчитал заработок с одной игры. На картинке, которая чуть выше, обозначен условный год. Каждый квадратик — это месяц. Символ иностранной валюты обозначает заработок в 10 долларов, а символ процентов — дополнительный заработок в 50 долларов на периодах со скидкой. Очевидно, что за год игра захватит минимум четыре сезонные распродажи на Steam. Однако толку от них мало. На распродажах огромное количество хороших игр с отличной скидкой. Большая удача, если кто-то решит купить посредственный проект вместо очередного хита. В этом случае не спасает даже скидка в 90%. Возможен вариант, когда игрок скупает посредственные проекты на сдачу от основных покупок. Именно поэтому я приравнял сезонные распродажи к обычным периодам со скидкой. Таких периодов получится около шести в год. И здесь я тоже ориентируюсь на худший вариант — дополнительный заработок в 50 долларов.

В итоге одна игра может принести целых 420 долларов в год. Из этой суммы стоит вычесть 100 долларов на покупку игрового слота, который позволяет опубликовать одну игру в Steam. Также имеет смысл вычесть 30%, которые заберёт себе торговая площадка. Ну, и напоследок я вычел ещё 18% от общей суммы. Это налог на продажу цифрового контента, введённый в России с 1 января 2017 года. В подробности налогов я не вникал. Знаю только то, что в каждой стране сборы разные. Но я посчитал эти 18 процентов — так финальная цифра обретает более пикантное значение.

Около 166 долларов в год на одной игре. Это примерно 10 тысяч рублей. Цифры впечатляющие и даже завораживающие. Не понятно только одно: почему так много людей стремится попасть в игрострой?

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

Вторая итоговая цифра уже более вдохновляющая — целых 666 долларов. Это примерно 40 тысяч рублей.

Теперь посчитаем заработок с 12 игр — одна игра в месяц.

Заработок с 12 игр

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

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

Идея в том, чтобы делать по три посредственных игры в месяц, а это уже 12,9 тысячи долларов или 774 тысячи рублей. А также около 84 дней условного отпуска. А если добавить праздничные и выходные дни, то получится около 200 свободных дней. И не стоит забывать, что для разработчика следующий год начнется с подготовленной базой и гарантированным заработком.

Надеюсь, вы понимаете, что достаточно сотни таких разработчиков и Steam пополнится на 3600 посредственных игр в год. Я сам частично выбрал подобный путь. И не вижу в этом ничего плохого. Пока Steam будет давать такие возможности — ими будут пользоваться. В моём городе средняя зарплата в 15 тысяч рублей — это 180 тысяч в год без учёта отпускных и премиальных. 28 дней отпуска. В 2018 году 118 выходных или праздничных дней. Это 146 свободных дней. Ощущаете разницу?

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

Общий итог

Я не призываю разработчиков закидывать Steam некачественными проектами. Мне важно объяснить игрокам, почему количество посредственных игр растет. Не забывайте, что игрострой движется в сторону упрощения и массовости. Процесс создания игр становится доступным для каждого. Успех популярных новинок сводит многих игроков с ума. Они хотят попробовать себя в игрострое. Вдруг повезёт и молодой парень или девушка станет миллионером, слепив простенькую игру за три дня. А потом яхта, Гавайи и счастливая жизнь. Но это потом, а пока нужно начать с малого — засунуть свой проект в Steam.

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

Ну, а теперь про результат трёх дней разработки. Игру можно скачать бесплатно на Itch'е. Она короткая и многие огрехи обусловлены временными ограничениями. Рассуждать на тему того, можно ли назвать такую игру полноценной, я не буду. Вопрос весьма дискуссионный. Главное, что даже на таком игровом варианте можно заработать денег. Этим я и займусь.

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

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

#опыт

Материал дополнен редакцией

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Анатолий Логиновских", "author_type": "self", "tags": ["\u043e\u043f\u044b\u0442"], "comments": 62, "likes": 74, "favorites": 91, "is_advertisement": false, "subsite_label": "gamedev", "id": 20929, "is_wide": false, "is_ugc": true, "date": "Fri, 08 Jun 2018 12:18:20 +0300" }
{ "id": 20929, "author_id": 64535, "diff_limit": 1000, "urls": {"diff":"\/comments\/20929\/get","add":"\/comments\/20929\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/20929"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954, "possessions": [] }

62 комментария 62 комм.

Популярные

По порядку

Написать комментарий...
17

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

Ответить
2

Все будет хорошо. Valve что-нибудь придумают, наверное...

Ответить
13

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

И как бы хрен с ним, это его выбор клепать мусор ради продажи ключей, но он ещё и мотивирует заниматься тем же остальных, описывая как всё просто и ничего плохого в этом нет.
Из-за подобных конвеерщиков по-настоящему качественным играм всё сложнее становится быть замеченными на выходе, потому что их сопровождают "сотни таких разработчиков и Steam пополнится на 3600 посредственных игр в год".

Пока Габен не введёт хоть какой-нибудь цензор на качество проектов этот парад мусора в стиме не прекратится.

Ответить
2

Будем надеяться на то, что Габен что-нибудь предпримет :)

Ответить
7

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

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

Мне на самом деле все равно сколько игр будет выходить, пусть хоть 100 тысяч в год. Главная проблема в том, что интересующие меня игры тонут в потоке. Я конечно не о ААА, а о небольших инди-играх, которые сделаны качественно и не за 3 дня.

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

Ответить
0

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

Ответить
5

Интересный случай игры, написание которой занимает меньше, чем создание про неё статьи. :)

Ответить
2

Даёшь статью о том, как написать статью о разработке трёхдневной статьи за три дня!

Ответить
1

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

Ответить
1

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

Ответить
4

За 13 лет в геймдеве я сделал одно интересное наблюдение. "Чистых" профессий в нашей отрасли всего две - программисты и художники (в них я включаю, да, композиторов). Все остальные - геймдизайнеры, продюссеры, звукорежиссеры, сценаристы, менеджеры и т.д. - это скорее роли, несущие в себе либо первое (например гд-математики, аналитический маркетинг, QA), либо второе (гд-креативщики, левел-дизайнеры, продюссеры и так далее). И эта дихотомия фундаментальна, примерно как левое и правое полушария. И если хорошо работает левое, то правое работает плохо и наоборот. Незаметна разница в левом и правом только у абсолютных посредственностей (коих, конечно, тоже немало). Собственно, вот и дилема - быть посредственностью или все же делегировать "не свою" половину? Да, я видел много неплохих примеров про "один в поле воин". И у них у всех хромает все, кроме чего-то одного. Далеко ходить не надо - тот же Тайнон Сильвестр со своим мегауспешным для инди Rimworld. Прекрасная игра. В плане ГД. Все остальное - код, арт, звук - если не ужасны, то просто никакие.

Ответить
1

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

Ответить
0

Простите, а как вы оценили что хромает _код_ у Rimworld?

2)Насчет чистого кодера есть все-таки сомнение. Если это чистый серверщик, то наверное да. Ему эти все фронтенды до одно енда.
Но как только вылезает клиент/интерфейс и появляется пользователь, то программист в игре больше чем программист (там хренова туча смежных специализаций вылезает - AI, UX, тестирование, статистика, прочие математики, есть даже программисты по _геймплею_ ) и умение разбираться в предметных областях значительно повышает ценность такого программиста.
Ну а иначе получаем от каждого такого специалиста отмазку: "к моим же пуговицам претензий нет, сделано как в тз написано, вот ваши семь красных взаимоперпендикулярных линий, отвалите"

Ответить
1

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

Что касается п.2. Где я говорил про "чистого кодера"? Что такое вообще этот "чистый кодер"? Звучит как "сферический конь в вакууме" или студент на олимпиаде по программированию, решающий абсолютно надуманную задачу, не имеющую никакого практического смысла. Любой программист в процессе работы над продуктом занимается алгоритмами, архитектурой, продуктовой аналитикой, пользовательским экспириенсом, управлением качеством, управлением рисками и кучей других вещей. Но. Он этим занимается в рамках и в канве своей профессии, экспертизы и роли. И сотрудники типа "программист-оркестр" (коих в свое время в диком российском геймдеве было завались) в нормальном промышленном процессе только головная боль, все их сторонние навыки, если они пытаются их активно применять, больше мешают, чем помогают, увеличивая энтропию, размывая зоны ответственности и т.д. Слава богу они сейчас на грани вымирания.
У программиста в геймдеве должно быть три золотых НЕ:
НЕ лезь в геймдизайн (можешь высказать геймдизайнеру свое сугубо субъективное имхо, которое он с вероятностью 0.99 пошлет лесом, не более. И будет прав.)
НЕ лезь в UIX, продакт-менеджмент, маркетинг, продюссирования и т.д. (ты не репрезентативен)
НЕ пытайся рисовать/писатьмузыку/придумыватьсценарий (либо ты хороший программист и говно художник/музыкант/литератор, либо наоборот. Посмотри в трудовую, что там написано?)

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

Ответить
4

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

Тогда как раз был взрыв фармо игр с 500+ ачивок за 5 минут, поэтому за каждую статуэтку в анусе давалась бы ачивка. Но примерно на стадии «кому бы дать 100₽ чтобы мне написали код» стим упразднил гринлайт, ввел поборы 100$ за публикацию и я забил.

Дарю идею тем, кто вдохновился статьей.

Ответить
0

Тонкий сарказм :) Запишу Вашу идею в блокнот. Будет время - прикручу к ней мультиплеер и крафт статуэток. Будет хит.

Ответить
1

Если мой ник будет в титрах, то даже куплю

Ответить
–1

Как же везёт людям, которые умеют программировать. Столько идей можно реализовать. Я, откровенно говоря, вам завидую.

Ответить
25

Везет? Он взял и начал этим заниматься. Где тут везение, которого тебе не добиться? Тут не везение, а упорный труд.

Ответить
2

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

Ответить
4

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

Ответить
1

Начните разбираться с Unity и Playmaker | Bolt или Unreal Engine и его Blueprint. Но как художник, скажу, что программировать реально научиться даже оладушку, был бы хороший учитель)

А так визуальное программирование (алгоритмизация) это выход для многих.

Ответить
0

а потом имеем игру из трех моделек которая тормозит на топовом компе.

Ответить
0

если все так и было - они бы не стали столь популярными

Ответить
1

эт я про тех кто пытается "визуально программировать" вообще без понимания кодинга.

Ответить
0

Пфф, программировать можно научить кого угодно - а вот рисовать действительно нужен талант. Это я как программист вам говорю :) Завидуйте художникам, это куда логичнее.

Ответить
0

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

Ответить
0

Кхе-е-ем. Как художник говорю, что ничего подобного. Учиться рисовать это ОГРОМНЫЙ труд, и именно те, кто не занимается этим серьезно, говорят, что это легко. Рисование – это и математика, и физика, и анатомия, и это только науки, с которыми сталкиваются все в своей жизни, но художник должен овладеть еще и кучей специфических художественных навыков. И быстро научиться рисовать по урокам в интернете можно только аналог калькуляторов.

Ответить
0

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

Ответить
4

«...Разве это плохо?»
Плохо.

А вообще, Григорович небось сохранил статью себе, разработка близится

Ответить
3

Статья - кайф, автору удачи только можно пожелать и успехов.

Ответить
1

Спасибо! И Вам успехов.

Ответить

3

Скорее крайне много опыта. Он за три года выпустил около 30 игр.

Ответить
1

Спасибо большое! Просто дело опыта. Уверен, Вы бы на моем месте (с моим опытом) смогли бы тоже самое :)

Ответить
1

Если хочется чего-то добиваться, то слово "талант" лучше забыть.

Ответить
1

Все таки большинство рано или поздно переходят на темную сторону массовости посредственных игр)

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

Ответить
3

Поэтому надо игры делать когда у тебя уже есть деньги, а не ради денег xD

Ответить
1

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

Ответить
1

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

Ответить
3

Надо провести DTF-хакатон с разработкой игры за 3 дня. Собраться тем у кого талант создавать визуальную часть, с теми кто может программировать и неткод и теми кто в музыке хорош.
Такой, собственный Indie DTF Jam с сами знаете чем.

Ответить
0

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

Ответить
2

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

Ответить
2

Отличная статья. Толя, ты молодцом.

P.S. Какой долгий второй день получился.
Это как "Как освоить С++ за 24ч (в течение месяца)"

Ответить
0

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

Ответить
2

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

Ответить
0

А я с Вами не согласен. Просто мой пример не самый удачный. Я еще в процессе совершенствования своих навыков. И со временем все будет получаться лучше. В индустрии много примеров, когда "и один в поле воин". Особенно много художников-музыкантов.

Ответить
2

770 тысяч рублей в год это примерно 65 тыс. в месяц, не супер космические Деньги. И если автор устроится в норм студию то может и больше получать.
Имеет ли автор "моральное " право закидывать стим играми по 100 руб? Да. Так же как авторы проходных детективов, малоизвестных инди музыкантов и прочих творцов.
Стоит ли вводить более строгую цензуру в стиме? Думаю нет. Есть отличный инструмент рекомендации и кураторы, плюс по форумам можно найти много интересного. Инди игры движутся туда (а можно сказать уже пришли) где и инди музыка, инди фильмы, и прочии инди.
Человек занимается любимым делом, копит опыт ( сотая игра уверен будет лучше чем пятая) и со временем может выдать шедевр (или не выдать).
Автору респект и удачи.

Ответить
0

Все верно подмечено! Спасибо.

Ответить
0

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

Ответить
2

Вы посмотрели все мои проекты? Среди них есть довольно качественные и даже успешные для своего уровня. К тому же я не скрываю процесс развития навыков - делюсь всеми законченными проектами. Ваша позиция ясна, но она не имеет никаких оснований. Это лишь поверхностное суждение.

Ответить
0

Вопрос- а эти расчёты по прибыли были произведения при какой цене игры, которая будет продаваться в Стиме?

Ответить
3

Все расчеты условные. Они имеют ознакомительный характер. Я исходил из своего негативного опыта - это посредственные игры до ста рублей. Слишком маленькую цену тоже невыгодно устанавливать - часть организаторов бандлов отказываются от дешевых игр.
Очень много хитростей, связанных с ценообразованием. Например, можно специально завысить цену, чтобы получить возможность устанавливать до 90% скидки на купоны. Потом попросить друзей накидать положительных отзывов или обратиться к пиарщикам. И вот мы уже имеем на распродаже дорогой продукт с положительными отзывами и отличной скидкой. Такое грех не купить. Как-то так...

Ответить
1

Первая справа прям мечта геймера, ммм...

Ответить
0

Хей автор, с тобой в вк как то можно связаться?

Ответить
1

Да, конечно. Я оставил ссылку на группу. А там и меня найти можно.

Ответить
0

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

Ответить
1

Вопрос не в деньгах. Все расчеты ознакомительные. Я привел их для того, чтобы объяснить ситуацию на Steam. Моя позиция подробнее высказана в первом посте:
https://dtf.ru/indie/20181-tri-goda-v-geymdeve-pro-steam-igry-i-nostalgiyu

Ответить
0

Ох уж эти пк бояре

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
В лутбоксы начали включать багфиксы
Подписаться на push-уведомления