5

Я начал разрабатывать игру 2 года назад. И вот что получилось

Я начал разрабатывать игру 2 года назад. И вот что получилось Игры, Опыт, IT, Wasteland Wars, Разработка, Telegram, Gamedev, Длиннопост

Всем привет, дорогие друзья! Меня зовут Максим Газизов. Раньше я постил на Пикабу истории о взлётах и падении в своём экспериментальном проекте. Сегодня этот эксперимент зашёл слишком далеко.


За два года мой проект вырос в полноценную MMORPG с большим коммьюнити игроков. Если раньше я относился к разработке Wasteland Wars как к хобби, отдыху от разработки мобильных приложений на основной работе, то на момент написания этого поста ситуация изменилась. В настоящее время я отдаю всё своё рабочее и свободное время разработке и поддержке своей игры.


Вложил душу, многим пожертвовал


Скажу сразу - да, я бросил стабильную работу ради разработки своей игры. Дело совсем не в том, что я хочу “что-то своё”, а не работу по найму. Мне нравится создавать новое и нестандартное. Год назад я говорил то же самое о движке для игры.


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

Я начал разрабатывать игру 2 года назад. И вот что получилось Игры, Опыт, IT, Wasteland Wars, Разработка, Telegram, Gamedev, Длиннопост

Скриншот: моя вариация программы "Доступное жильё"

За эти два года я пережил блокировку Telegram и частичную потерю активных игроков, предложение от одной студии приобрести игру и разногласия с близкими людьми. Кстати, я отказался от предложения тех ребят. Всё это помогло мне переосмыслить отношение к Wasteland Wars.


Что изменилось


Самое офигенное в работе с коммьюнити Wasteland Wars - то, что людям не пофигу на то, во что они играют. И я частенько ловлю хейт и люли, к чему прислушиваюсь. Если бы не "срачи" в чатах, все были бы всем довольны. Однако так не бывает и не может быть, потому что нам всегда мало того, что у нас есть. Это здорово, что игроки своим мнением задают векторы игровым процессам. Ребята, коммьюнити WW, я вами горжусь!


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


-добавлена фракция «Бродяги», в которую по умолчанию попадают новички. Бродяги - это не полноценная фракция. У этих ребят нет своего чата, а при достижении 10-го километра необходимо выбрать одну из четырёх фракций;


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


-дроны-помощники как в бою, так и при исследовании территорий;


-улучшенная механика данжей: переосмысленные подземелья;


-новые крафтовые ресурсы, с помощью которых можно собрать более крутую экипировку из нового набора;


-создание вещей теперь происходит не моментально и занимает разное время;


-вся экипировка теперь имеет свой минимальный порог характеристик для использования;


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


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


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

Мерч


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

Я начал разрабатывать игру 2 года назад. И вот что получилось Игры, Опыт, IT, Wasteland Wars, Разработка, Telegram, Gamedev, Длиннопост

Бесценная обратная связь


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

Я начал разрабатывать игру 2 года назад. И вот что получилось Игры, Опыт, IT, Wasteland Wars, Разработка, Telegram, Gamedev, Длиннопост

Бтв этот скрипт лежит на https://wws.now.sh/ Огромное спасибо Убежищу 6 и особенно Георгию aka BATC0H


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


Немного о новом апдейте


Кстати, обновление 2.2b доступно и уже посетило пип-бои исследователей Пустоши. Сегодня это обновление несёт в себе следующие плюшки:


-дроны стали более живучими;


-добавил Митспины, этакий "наш ответ покеболу". Теперь мобов из митспинов можно выставлять как своих защитников;


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


-добавил механику банд. Долго думал как назвать - кланы или банды, но назвал немного иначе ;)


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


Полный change log можно найти по ссылке на Телетайп.

Я начал разрабатывать игру 2 года назад. И вот что получилось Игры, Опыт, IT, Wasteland Wars, Разработка, Telegram, Gamedev, Длиннопост

Примерно так выглядит профиль после апдейта 2.2b, но и это ещё верхушка айсберга.

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


Надеюсь, что мой опыт разработки игры будет полезен тем, кто найдёт его интересным.

Найдены возможные дубликаты

+1

@moderator, я один здесь вижу рекламу первым постом от недельного аккаунта?

раскрыть ветку 1
+2

если бы ты читал, а не выполнял работу модератора, ты бы сейчас не спрашивал модератора)

0

Курощуп. Кур что ли щупаешь?

раскрыть ветку 4
+1

да я не знаю, фантазия человека безгранична.

0
Ловите ньюфага!
0
Насколько я припоминаю, курощуп это один из титулов в 1 Fable, даётся за избиение скольких-то кур.
раскрыть ветку 1
0

Их за славу покупаешь. Курощуп - самый дешёвый

0
Удачи, чувак.
раскрыть ветку 1
+1

спасибо!

Похожие посты
335

Смог: Маркус Перссон — создатель Minecraft, ставший миллиардером

Сегодня о Маркусе Перссоне, также известном как Notch, вспоминают редко, но в начале десятилетия он был одним из главных деятелей игровой индустрии. Программист и геймдизайнер создал Minecraft — одну из самых популярных игр в мире, права на которую он затем продал Microsoft за 2,5 миллиарда долларов вместе со своей студией.


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


Мы изучили интервью Маркуса Перссона (1, 2, 3, 4, 5, 6, 7) и отобрали примечательные цитаты о его методах работы, отношении к играм и личных мотивах.


Цитаты собрал Никита Казимиров.

Смог: Маркус Перссон — создатель Minecraft, ставший миллиардером Xyz, Gamedev, Игры, Minecraft, Цитаты, Создатель, Разработка, Длиннопост

Изначально я не знал, что хочу построить карьеру в игровой индустрии. В детстве я создавал игры в свободное время, но хотел стать полицейским или кем-то в этом духе. Лишь когда мне исполнилось где-то 14–15 лет, я осознал, чего хочу. Времени на это ушло прилично.

Раньше для особого соревнования я создавал игры весом в 4 килобайта за два дня. Это почти как решить головоломку. В 4 килобайта не уместишь слишком многое. А ограничение по времени побуждает тебя прилагать много усилий за короткий срок. Получить что-то в итоге — само по себе награда.

Смог: Маркус Перссон — создатель Minecraft, ставший миллиардером Xyz, Gamedev, Игры, Minecraft, Цитаты, Создатель, Разработка, Длиннопост

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

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

Смог: Маркус Перссон — создатель Minecraft, ставший миллиардером Xyz, Gamedev, Игры, Minecraft, Цитаты, Создатель, Разработка, Длиннопост

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

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

Смог: Маркус Перссон — создатель Minecraft, ставший миллиардером Xyz, Gamedev, Игры, Minecraft, Цитаты, Создатель, Разработка, Длиннопост

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

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

Смог: Маркус Перссон — создатель Minecraft, ставший миллиардером Xyz, Gamedev, Игры, Minecraft, Цитаты, Создатель, Разработка, Длиннопост

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

Самые интересные для меня инди-игры всегда появляются из ниоткуда. Но это и интересно! Вот игры выходят как обычно, а вот мы вдруг получаем штуки вроде The Stanley Parable и Papers, Please. И тогда кажется, что они всё меняют.

Смог: Маркус Перссон — создатель Minecraft, ставший миллиардером Xyz, Gamedev, Игры, Minecraft, Цитаты, Создатель, Разработка, Длиннопост

The Stanley Parable

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

Я волнуюсь за будущее операционных систем. Мне кажется, что они стремятся к более контролируемому опыту, лишая нас большей части того, что делает игры на ПК интересными.
Смог: Маркус Перссон — создатель Minecraft, ставший миллиардером Xyz, Gamedev, Игры, Minecraft, Цитаты, Создатель, Разработка, Длиннопост

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

Раньше я очень хотел создать свой dungeon crawler, но затем вышла Legend of Grimrock 2, которая оказалась идеальной игрой про исследование подземелий. Она фактически уничтожила жанр для меня, — я бы ни за что не смог создать что-то настолько же крутое.

Смог: Маркус Перссон — создатель Minecraft, ставший миллиардером Xyz, Gamedev, Игры, Minecraft, Цитаты, Создатель, Разработка, Длиннопост

Legend of Grimrock 2

Думаю, чтобы игра стала соревновательной, в ней должен быть невероятно продуманный баланс. Отличные примеры — Quake 3 и Starcraft. Minecraft несбалансирован, зато в него весело играть.
Смог: Маркус Перссон — создатель Minecraft, ставший миллиардером Xyz, Gamedev, Игры, Minecraft, Цитаты, Создатель, Разработка, Длиннопост
Единственная вещь, которую я считаю неправильной в современной игровой индустрии, — это free-to-play механики в мобильных играх. Мне они кажутся очень холодными, циничными и странными.
Смог: Маркус Перссон — создатель Minecraft, ставший миллиардером Xyz, Gamedev, Игры, Minecraft, Цитаты, Создатель, Разработка, Длиннопост

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

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

Смог: Маркус Перссон — создатель Minecraft, ставший миллиардером Xyz, Gamedev, Игры, Minecraft, Цитаты, Создатель, Разработка, Длиннопост
Показать полностью 10
604

«Честная» игра: как разработчики обманывают игроков

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


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


Автор: Артемий Леонов

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Право на ошибку

Однажды геймдизайнер Сет Костер задался вопросом: что игроки понимают под словами «неотзывчивое управление»? И как оно вообще может быть неотзывчивым? Вроде бы всё просто: если игрок жмёт кнопку «направо», то персонаж должен идти направо — и так далее. С такой простой логикой должны легко справиться и геймдизайнер с программистом, и любой игрок.


В реальности всё гораздо сложнее. Если персонаж на экране будет в точности следовать командам, которые игрок отдаёт с помощью контроллера, то такое управление не получится «отзывчивым» — как раз наоборот. Задача геймдизайнера, по мнению Костера, — создать у игрока иллюзию того, что персонаж в точности следует его указаниям.


Сет Костер, геймдизайнер:

Чтобы сделать управление в игре «отзывчивым», нужно понимать игроков лучше, чем они понимают сами себя. Нужно понимать, когда они действуют нелогично, и прощать их за это.
Источник
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

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


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


Например, в Levelhead можно прыгнуть на врага, оттолкнуться от него и прыгнуть ещё выше — как и во многих других платформерах. Механика работала очень просто: если игрок удерживает кнопку прыжка в тот момент, когда персонаж касается головы противника, то он от неё оттолкнётся.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

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


1.Игрок прожимает кнопку и отталкивается от врага.


2.Игрок не прожимает кнопку и не отталкивается.


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


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


Сет Костер, геймдизайнер:

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

Чтобы механика с отталкиванием от врага начала казаться игрокам «честной», достаточно было просто добавить фору в 0,1 секунды. Жалобы на «неотзывчивое управление» и «непоследовательные правила» немедленно прекратились.


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


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

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

«Правило койота» в Celeste. Подробнее — в этом посте.


Если бы всё было «по-честному», такая неосторожность привела бы игрока к падению — но практически любая игра даст ему оттолкнуться от воздуха и всё-таки совершить прыжок. Это и есть Coyote time — если в вашей игре такой уловки не будет, управление почти наверняка назовут «неотзывчивым».

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Жёлтой точкой отмечен момент, в который игрок нажимает на кнопку «прыжка».


Crash Bandicoot N. Sane Trilogy, ремастер первых трёх игр о Крэше, фанаты критиковали за то, что прыжки в нём стали «непредсказуемыми». Разработчики, как оказалось, просто сократили Coyote time по сравнению с оригинальными играми: теперь Крэш быстрее падал, оказавшись без почвы под ногами. В реальности игра стала более «честной», а в восприятии игроков — наоборот.

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


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


Сергей Праздничнов, геймдизайнер:

В Uncharted, Tomb Raider, Dying Light и других играх, если игрок нажмёт на кнопку «прыжка» на бегу, то перед прыжком может произойти небольшая задержка. Игра рассчитывает расстояние до края и следит, чтобы прыжки выглядели максимально реалистично, а игрок допрыгивал до нужного места.

Метрики просчитаны таким образом, чтобы у игрока всегда была возможность допрыгнуть, — но проблема в том, что он не всегда нажимает «прыжок» в нужный момент. Поэтому там есть некая дельта: игрок может нажать кнопку чуть раньше, чем нужно, или чуть позже, чем нужно. Если приглядеться, можно заметить, что иногда Лара Крофт добегает до края платформы, и только после этого начинает прыжок — хотя на кнопку нажали чуть раньше.
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Авторы метроидвании Dead Cells пошли ещё дальше: игра постоянно пытается предугадать, какой результат хочет получить игрок, и подстраивается под него. К примеру, если рядом с игроком находится враг, игрок нажимает на кнопку «удар», но не успевает нажать на кнопку направления, то удар всё равно придётся по врагу. Также в бою действует «система приоритетов»: Dead Cells предугадывает, какого противника вы хотели бы добить первым, и при прочих равных направляет удар игрока именно в этого моба.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Геймдизайнер Себастиен Бенар объяснял своё решение так: мозг «стремится всё объяснять» — увидев результат своего удара, игрок скорее предположит, что сделал всё правильно, чем начнёт анализировать последовательность своих нажатий на кнопки и обнаружит, что игра водит его за нос.


Игроки вообще склонны искажённо воспринимать понятие «попадания». Сет Костер советует делать врагам в платформерах прямоугольные хит-боксы, которые будут сильно вылезать за их спрайты — чтобы возникало как можно меньше «спорных» ситуаций. Если у игрока возникнет вопрос, попал он по врагу или нет, он почти наверняка решит, что он-то всё сделал правильно, а игра просто не засчитала попадание.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

«Право на ошибку» игроку предоставляют самые разные игры. К примеру, в Half-Life пущенные мимо цели снаряды сами притягиваются к взрывающимся бочкам. В Titanfall 2 выпущенные игроком пули увеличиваются в размерах в полёте, чтобы с большей вероятностью поразить противников, расположенных вдалеке.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

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


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

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Сложность

Многие знают, что в BioShock и Uncharted первые вражеские выстрелы гарантированно не попадают в цель, а в Far Cry 4 у противников резко снижается точность, когда вы подходите к ним слишком близко.


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


Джейми Мэдиган, психолог:

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

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


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

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

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

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


Журналист и автор канала Game Maker’s Toolkit Марк Браун приводит Resident Evil 4 как удачный пример «обмана». Игра полностью подстраивается под игрока: если он часто промахивается и погибает, то враги начнут вести себя менее агрессивно или даже вовсе пропадать с поля боя.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

По мнению Брауна, система динамического изменения сложности в игре работала столь эффективно по одной простой причине: игроки не догадывались о её существовании. Разработчики даже ни разу не упоминали её в интервью — в то время как многие их коллеги делали подобные системы центральной частью маркетинговой стратегии. О том, что Resident Evil 4 подстраивается под игроков, официально стало известно лишь через год после выхода игры.


То же можно сказать и о первой Max Payne — многие и не подозревали, что на протяжении всего прохождения игра активно помогала им создавать кинематографичные моменты. Если игрок слишком часто промахивался, Max Payne незаметно делала aim-assist более эффективным; если проходил уровни слишком быстро — добавляла врагам дополнительных очков здоровья.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

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


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


Илья Туменко, геймдизайнер:

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

Вероятности

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

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

На самом деле XCOM, как и многие другие игры, работающие с вероятностями, «подыгрывают» вовсе не компьютерному противнику, а игроку. В XCOM 2, к примеру, вероятностям, которые отображаются на экране, можно верить только если играть на самой высокой сложности. На остальных они занижены: если игрок видит вероятность попадания в 50%, то на самом деле она выше. Не говоря уже о том, что каждый промах даёт дополнительный бонус к вероятности попадания.


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


Это тоже связано с особенностями нашего мозга: мы начинаем считать игру «нечестной» только в том случае, если результат нас не устраивает.


Дженифер Шурл, геймдизайнер:

Люди совершенно не умеют здраво оценивают «честность» и «вероятность». Мы всегда готовы отдаться иллюзии того, что мы должны были выиграть — даже если это иррационально.
Источник

В 2019 году психологи провели показательный эксперимент: испытуемым предлагалось сыграть в карточную игру, по условиям которой у одного из игроков было гигантское и очевидное преимущество с самого начала. 60% игроков, победивших в игре, посчитали её «честной», в то время как среди проигравших таких было лишь 30%.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Играя в X-COM, вы вряд ли обратите внимание на то, что ваши солдаты пять раз подряд совершили успешные выстрелы при вероятности попадания в 50%. Интуитивно нам это кажется нормальным. А вот пять промахов подряд уже способны вызвать уверенность, что игра явно подыгрывает вашим противникам.


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


Сергей Праздничнов, геймдизайнер:

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

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

Психолог Джейми Мадиган приводит такой пример: игроку нужно собрать 15 предметов, у которых десятипроцентный шанс выпадения. Он собирает почти все из них примерно в одинаковом темпе, но последние пара предметов почему-то не выпадают. Игра никак не подтасовывает результат — всё происходит в соответствии с теорией вероятностей. Сначала игроку везло, а затем перестало везти — это нормально. Но у него возникает ощущение, что игра «жульничает» — и это вызывает негативные эмоции.


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

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

По мнению геймдизайнера Ильи Туменко, в соревновательных играх «честный» рандом почти всегда имеет негативные последствия — потому что это, как ни парадоксально, создаёт неравные условия для противников.


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


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


Илья Туменко, Publishing Director в AppQuantum:

Чтобы случайность сравняла шансы и привела к нормальному распределению, требуется очень много событий. То есть, от каждого игрока потребуется много игр, много побед и много открытых сундуков. Тогда спустя время наступит баланс. Вот только недовольные уйдут раньше.
Источник
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Вероятно, на вопрос «стоит ли обманывать игрока» почти любой современный геймдизайнер ответит утвердительно — кроме, пожалуй, разработчиков игр вроде Dark Souls или Super Meat Boy, которые ценят в том числе за страдания, которые они причиняют игроку.


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


Илья Туменко, геймдизайнер:

Что забавно: сделаете вы «честно» или «хитро», результат будет один. Часть игроков обвинит вас в надувательстве (неважно, есть оно или нет), а большинство ничего не заметит.

Поэтому всё, что вам остается — делать интересную и успешную игру. С хитростями и секретами, — если с ними становится лучше.
Источник
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

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


Спастись в последний момент гораздо интересней, чем в очередной раз увидеть перед собой экран «Вы погибли». Именно поэтому, например, в Doom и Assassin’s Creed здоровье начинает убывать гораздо медленнее, когда его остаётся мало.


Сет Костер, геймдизайнер:

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

Иными словами, игроки не идеальны. Но мы не должны требовать от них, чтобы они были идеальными.
Источник
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Но у такого подхода есть и противники. Пожалуй, самый заметный из них — Джонатан Блоу, создатель Braid и The Witness. В одном из интервью геймдизайнер раскритиковал современных разработчиков — по его словам, студии идут на всё, чтобы игрок не получал ни малейшего негативного опыта, поскольку это может сказаться на продажах. Из-за этого от игроков «не требуется заниматься чем-то сложным или интересным».


Джонатан Блоу, геймдизайнер:

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

Собери три камушка одинакового цвета в ряд! Но вот удивительно: большую часть очков ты будешь получать в результате того, что камушки «случайным образом» падают сверху и сами образуют удачные комбинации. Так что показать плохой результат в этой игре невозможно.
Источник
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Впрочем, доктор психологии и директор Epic Games по UX Cелия Ходент считает, что вопрос нужно ставить не так. Любая игра в той или иной степени нами манипулирует — вопрос лишь в том, с какой целью она это делает. Ведь с помощью обмана и манипуляции можно как улучшить игровой опыт, так и причинить игроку вред.


Селия Ходент, директор Epic Games по UX:

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

Безусловно, компьютерные игры манипулируют игроками; вопрос лишь в том, вредят ли игрокам эти манипуляции. Эксплуатируют ли игры ограничения человеческого мозга, преследуя исключительно корыстные цели в ущерб игрокам? Вот о чем всей индустрии стоило бы задуматься.
Источник, перевод.
Показать полностью 20 2
131

Как процедурная генерация помогает создавать открытые миры. Часть 1

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


Мы изучили доклады и презентации специалистов по генерации открытых миров, а также пообщались с программистом AAA-игр Александром Балакшиным, и теперь рассказываем, как работают эти алгоритмы, кому они могут пригодиться, и как их использовали в разработке The Witcher 3: Wild Hunt, Horizon Zero Dawn, The Sinking City и Spider-Man 2018-года.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Horizon Zero Dawn


Автор: Юрий Кулагин


Кому и зачем нужна генерация


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


А разработчики The Elder Scrolls II: Daggerfall в 1996 году использовали процедурную генерацию, чтобы собрать из заготовленных частей пять тысяч городов. Разработчики доказали, что автоматизировать создание локаций возможно, — правда результат может получиться довольно однообразным.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

The Elder Scrolls II: Daggerfall


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


Александр Балакшин, геймплей-программист:

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

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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


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


Александр Балакшин, геймплей-программист:

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

Художники не останутся без работы ещё и потому, что в открытых мирах отлично работает принцип Парето — игрок активно изучает только 20% локации, а оставшиеся 80% служат фоном. Так что логичным шагом будет отдать проработку и заполнение этого фона на откуп алгоритмам, и дать художникам больше времени на проработку того, на что игрок обратит внимание.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Spider-Man (2018)


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


Александр Балакшин, геймплей-программист:

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

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

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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


Кисти для процедурной растительности

Для The Witcher 3 разработчикам из CD Projekt RED нужно было создать мир, который в 35 раз превышал бы размер локаций второго “Ведьмака”. Людей с опытом работы над полностью открытым миром не хватало, а приступить к созданию локаций нужно было как можно скорее.


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

The Witcher 3: Wild Hunt


Александр Балакшин, геймплей-программист:

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

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


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


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


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


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

Марчин Голлент, ведущий программист графики CD Projekt RED:

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

Источник


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


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


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

The Witcher 3: Wild Hunt


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


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


Марчин Голлент, ведущий программист графики CD Projekt RED:

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

Источник

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


Слои для процедурных биомов

Работая над Horizon Zero Dawn, программисты Guerrilla Games тоже использовали процедурную генерацию. Художники студии привыкли контролировать каждую деталь на локации ещё во времена работы над серией Killzone. Поэтому и в новой игре они хотели иметь возможность поменять результат генерации — например, передвинуть гору, которую алгоритм поставил неправильно.


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Horizon Zero Dawn


Александр Балакшин, геймплей-программист:

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

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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


Чтобы сгенерированные локации не просто работали, но и выглядели разнообразно, художникам студии потребовалось создать множество ассетов и шаблонов растительности, — но это всё равно оказалось быстрее и выгоднее, чем ручная проработка мира. Три человека в Guerrilla Games нарисовали 500 типов растений, а шаблонами занимался один технический художник.


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


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


Александр Балакшин, геймплей-программист:

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

В Horizon: Zero Dawn игрок исследует множество разных биомов, — от среднеевропейских лесов до заснеженной тундры. Сами разработчики называли их “экотопами”: с точки зрения инструмента генерации это были просто наборы настроек для создания локации.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Horizon Zero Dawn


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


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Horizon Zero Dawn


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


Яаап ван Мюжден, старший технический программист Guerrilla Games:

Процедурную генерацию в Horizon Zero Dawn мы использовали везде, где только могли — для ассетов, эффектов, даже геймплейных элементов. И результат выглядел очень здорово: он полностью вписывался в видение арт-директора.

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

Источник

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


Сетка для процедурного города

Чтобы построить большой и реалистичный город в The Sinking City, студия Frogwares создала инструмент процедурной генерации для Unreal Engine 4. По словам Константина Якушенко, который возглавляет в компании команду tools-инженеров, разработчики вдохновлялись конструктором Ubisoft, с помощью которого создавали здания и улицы в Assassin’s Creed Unity и Syndicate.


Процедурная генерация в города в The Sinking City начиналась с ручной работы. Художники создавали “сетку”, — макет основных улиц и ориентиров — и указывали, какие типы домов могут находиться в том или ином районе. А ландшафт, рельеф и ширина улиц определялись лишь предварительно.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

The Sinking City

Показать полностью 17
68

Релиз после 2х лет хобби-разработки своей 3D игры в стиле старой школы

Релиз  после 2х лет хобби-разработки своей 3D игры в стиле старой школы Игроделы, Игры на Android, Инди, Gamedev, Unity, IT, Стратегия, Моя игра, Видео, Длиннопост

Здравствуйте, мне 31 год и я "анонимный" инди-разработчик игр, хочет мне сказать. 2 года вечерами после работы и по выходным я пилил свою Dark Fantasy 3D пошаговую стратегию Воины средневековых стен (Warriors of medieval walls). И вот настало время релиза.

Ссылка на игру в Google Play https://play.google.com/store/apps/details?id=com.lightGamed...


Если вам интересна предыстория создания проекта от идеи до реализации 2 года хобби-разработки. Dark Fantasy пошаговая стратегия в стиле старой школы. Воины средневековых стен. Warriors of medieval walls


Трейлер игры

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

Релиз  после 2х лет хобби-разработки своей 3D игры в стиле старой школы Игроделы, Игры на Android, Инди, Gamedev, Unity, IT, Стратегия, Моя игра, Видео, Длиннопост

Планы на будущее:

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


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

Релиз  после 2х лет хобби-разработки своей 3D игры в стиле старой школы Игроделы, Игры на Android, Инди, Gamedev, Unity, IT, Стратегия, Моя игра, Видео, Длиннопост
Релиз  после 2х лет хобби-разработки своей 3D игры в стиле старой школы Игроделы, Игры на Android, Инди, Gamedev, Unity, IT, Стратегия, Моя игра, Видео, Длиннопост

Улучшение UI, т.е. планирую провести работу над иконками и прочими элементами пользовательского интерфейса.


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


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


Играйте в удовольствие. Рекламы и покупок в игре пока нет (заложил в настройках Google Play возможность их добавить). Ввод монетизации пока продумывается и обсуждается.


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


Блог разработки VK: https://vk.com/warriorsofmedievalwalls

Релиз  после 2х лет хобби-разработки своей 3D игры в стиле старой школы Игроделы, Игры на Android, Инди, Gamedev, Unity, IT, Стратегия, Моя игра, Видео, Длиннопост
Показать полностью 4
78

Долгий тернистый путь. Разработка Star Souls

Теперь, спустя три с половиной года, после большого обновления, включающего русскую локализацию, исправленную английскую локализацию, автострельбу, только сейчас мы с гордостью можем сказать – Star Souls готова!

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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


Возможно, кто-то вынашивал идею годами, а у нас все началось за один вечер. Случилось страшное: муж (это который Dmitriy Leonovich) решил пилить игру.

Мысли на полях: девочки, ваши мужчины должны быть заняты на 110%, иначе рано или поздно они могут начать ПИЛИТЬ ИГРУ. Пусть лучше у них будет любовница, секта, друзья, пусть они ходят в казино, прыгают с парашютом, пьют на гаражах, но делать игры не разрешайте! Подойдет любая активность: можно заставить выбивать ковры, ходить в качалку, в бильярд, заниматься необузданным развратом, чем угодно!!! А если вы не уследили (САМА ВИНОВАТА, ДУРА!), и игра сама собой начала ПИЛИТЬСЯ, то никогда, вы слышите, никогда не позволяйте себя втянуть в разработку! У вас лапки, маникюр, вы тупы, как пробка.

Он накатал несколько листов, гордо назвал это «Умирающий космос» (уже тогда я должна была заподозрить неладное), и потопали мы на конференцию, где ребята показывали презентации с идеей игры, а потом все желающие могли обменяться контактами. К нам подошел наш будущий композитор Антось и программист Кирилл, и заверте…

Сейчас я пыталась допросить Диму: а почему именно такая игра? Тактика с микроменеджментом, да еще и квазирогалик? Ответ исчерпывающий: «А мне нравится». Такой вот и плюс и минус инди разработки: делаешь то, что нравится именно тебе, но мало думаешь о тех, кто это потом купит. В планах было сделать ЗА ГОД (за год, ахахах…) простенькую игру про космические корабли, которые весело перестреливаются под красивую музыку Антося на шикарных Диминых фонах. Меня тоже привлекли писать мини, просто микро текстовые события, вроде «Вы встретили злых инопланетян, что будете делать? Стрелять или бежать?»

Мысли на полях: если вы оцениваете время и деньги, которые потратите на игру, сразу смело умножайте их на 3, а то и на 4. Требующиеся от вас усилия и нервы умножайте на 10. Минусуйте отношения с родными, которых вы будете теперь видеть КРАЙНЕ РЕДКО, досуг (у вас на него теперь не будет ни времени, ни денег), работу, которую вы теперь будете выбирать не по душе, а исходя из текущих потребностей. А теперь думайте: а оно мне надо?

Естественно, за год удалось сделать процентов двадцать? тридцать? Даже сложно оценить. Стало немного тревожно. (Это я сейчас могу так корректно писать, а тогда мы редко засыпали раньше трех ночи от не самых хороших мыслей). Заканчивались деньги на разработку. Нашу недоделанную лялечку стали возить на всякие выставки, толку от которых было даже не ноль, а толк этот выражался в отрицательной величине. Конференции тянули деньги и время, а инвесторы и издатели никак не хотели строиться в очередь, размахивая контрактами о сотрудничестве. И вроде сделали мы все, как в статьях на хабре пишут: маечки и визиточки напечатали, растяжечку сделали, Диме отрезали длинные волосы и напялили на него пиджак. К нам даже люди подходили на работу проситься.

Мысли на полях: на одной из конференций ко мне подошел достаточно возрастной для геймдева дядечка лет сорока с видом безумного отшельника, поймал за пуговицу и начал говорить очень искренне: «Поймите, тут куча людей, но им важны только их собственные игры, а играми других они не интересуются». Сейчас я понимаю, насколько он был прав. Инди сообщество, по крайней мере в СНГ – это что-то вроде инертного газа. Помните, что это такое? Атомы инертного газа как бы сами по себе и не взаимодействуют ни с чем, в том числе сами с собой. Делайте вывод сами)

Довольно удачной, впрочем, оказалась поездка на Digital Dragons. Там нам удалось собрать действительно полезный фидбэк, критика от посетителей была на удивление корректная и конструктивная.

Решили разыграть туз из рукава. Туз назывался модным словом КРАУДФАНДИНГ. Как вспомню, сколько труда было вложено в нашу кампанию на indiegogo.com, хочется одновременно выть, скрипеть зубами и рвать на себе волосы. Но тогда мы были полны сил и надежд, нас вдохновлял относительно легко полученный Гринлайт на Стиме (да, когда мы начинали, он еще был). Но есть большая разница – заставить человека отдать хотя бы несколько баксов и просто нажать на кнопочку. Первое сложнее на порядок. И опять все делали по правилам, но…

Не получилось. Фиаско потерпели мы.

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


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


Квесты были скучные. Написать 200+ квестов типа «Вы на планете-пустыне, вас атакуют, вы в опасносте» было задачей не из легких. Сколько таких обезличенных, рандомных и, главное, интересных ситуаций можно придумать? Сюжета у нас не могло быть, потому что квесты выпадали случайно. Потому что у нас типарогалик.

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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

Я придумала героев. Тогда скандалов с дайверсити еще не было, поэтому нет у нас ярких представителей нац- и сексменьшинств. А еще я не знала, как о них писать, особенно, чтобы никого ненароком не обидеть. С другой стороны, какие тут претензии к маленькой инди игре, правда? Дима нарисовал портреты, по нескольку для каждого героя (злится, улыбается, нейтральный). Я стала что-то писать, потребовались враги, инопланетяне, мирные жители, пилоты, боссы, компьютеры, и даже зверушки… Любовница нашего главного героя любит зверушек. Количество портретов разрослось аж до 62.

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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

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

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

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


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


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

Мысли на полях: никогда не получится реализовать все, что задумал. Что-то не будет работать по техническим причинам, что-то на деле окажется неинтересной лажей, а на что-то не хватит сил и/или денег. Для инди последнее – самая реальная реальность, как мне кажется.

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


Это один "обычный" квест, ноды...

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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


Взрывы кораблей и астороидов - Pre Alpha:

Взрывы кораблей и астороидов - релиз:

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

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


Как выглядит сетка поля в Unity (желтые клетки это путь летающих астероидов):

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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


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


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


На определенном этапе оказалось, что нам нужен переводчик. Тут я сделала просто фатальную ошибку, которая лично мне обошлась в большую сумму денег и не меньший объем нервов. Насколько бы ни был хорош переводчик, перевод – это не локализация. Узнать мне об этом пришлось уже после релиза, когда я в холодном поту слушала немного недовольные обзоры на нашу игру от граждан Союза Капиталистических Стран Америки. Хотя заподозрить должна была еще раньше, когда анекдоты переводились дословно, а инди (в смысле инди-игра) как turkey.


Мысли на полях: если начинаете что-то писать, всегда думайте о локализации. Я потеряла кучу времени из-за того, что изначально мы не предполагали перевод игры на русский язык. Я не сохраняла наработки на русском языке, потом мне пришлось практически «переводить наоборот» - с английского на русский. На картинках лучше ничего не писать, ролики надо будет переозвучивать (это дорого и хлопотно). Иделально, наверное, как в Journey или в Botanicula. По-моему, там ничего, кроме меню, переводить не нужно.

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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


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


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


Потом пришло время самого нудного: тестирования и поиска опечаток.


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


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


3 марта 2020 состоялся релиз игры. В этот же день я впервые взяла на руки своего сына.

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


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


На злобу дня:

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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


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

Страница игры в Steam: https://store.steampowered.com/app/819520/Star_Souls/


Читайте в следующей части – звук, музыка/озвучка, ролики, темные тайны кода и юридические делишки.

Показать полностью 6 3
332

Shieldwall - Ранний доступ

Всем привет!


Сегодня я, наконец, созрел для написания этого важного для меня поста. Дело в том, что 23 марта 2020 года я выпустил свою игру Shieldwall в ранний доступ в Steam. В этом посте я расскажу о том, как это было.

Shieldwall - Ранний доступ Unreal Engine 4, Gamedev, Разработка, Видео, Длиннопост

В последней главе моего увлекательного сериала (в смысле, в моем предыдущем посте) я показал основу геймплея Shieldwall. Пост нашёл позитивный отклик: многим понравился визуальный стиль вкупе с озвучкой персонажей. Это меня приободрило, и я вышел на финальную прямую перед моментом Х.


И вот здесь стоит вернуться немного назад во времени и объяснить, что значит для меня этот проект. После успешного релиза (успешного - для меня тогдашнего) моей первой игры Formata у меня где-то полгода был творческий кризис. В конце августа 2018 я всё-таки нашёл внутри себя увлекательную идею и принялся за работу над следующим моим проектом - Discharge. Но 8 месяцев работы до релиза и еще 2 месяца после - не увенчались успехом. Я допустил ряд серьезных ошибок по всем направлениям: я напортачил в дизайне базовых механик, я попал совершенно не в ту аудиторию, в которую хотел попасть, я сильно спешил и пошёл в полный релиз с недоделанной игрой, а кроме того, я делал игру "для себя", а не для игроков. В итоге, выручка не перебила даже трети денежных затрат на проект, и это я уже не говорю про свои силы и время.


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

Shieldwall - Ранний доступ Unreal Engine 4, Gamedev, Разработка, Видео, Длиннопост

Ближе к осени 2019 я всё же собрался с силами и сел за работу. А ситуация была довольно напряженная: все эти мои попытки убежать от "завода" до сих пор держались лишь на одной Formata. Этот чудесный проект позволил мне еще пинать болт, разрабатывая и Discharge, и Shieldwall. Но продажи падали, а расходы превышали доходы. По моим подсчетам я укладывался тютелька в тютельку; мне нужен был релиз в феврале 2020. Но не просто релиз, а успешный релиз.


Я поставил на Shieldwall всё, имея за спиной только: один успешный проект, отзывы у которого уже стали смешанными, а также один провальный проект... Но кроме этого у меня был опыт. Мне казалось, что я понимал, в чём ошибся, и как это исправить.

Shieldwall - Ранний доступ Unreal Engine 4, Gamedev, Разработка, Видео, Длиннопост

Я делал посты здесь и на реддите по ходу разработки. Некоторые из них вызывали интерес у публики. Но я не знал наверняка, верна ли моя догадка и зайдёт ли игра в Steam. Всё это время меня одолевали страх и сомнения.


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


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


Вдруг, ютубер BaronVonGames, который когда-то играл в Formata, снова в неё сыграл на своём канале. Это при том, что новых роликов по Formata не появлялось уже очень давно. Его ролик краткосрочно поднял продажи моей первой игры, что принесло еще немного денег: как раз на тот месяц, который мне был очень нужен. Я это воспринял как знак, что выводы я сделал верные.


И бум!

Shieldwall - Ранний доступ Unreal Engine 4, Gamedev, Разработка, Видео, Длиннопост

Я вышел в ранний доступ.


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


Надо сказать, что релиз у меня вышел скомканным, как всегда: 3/3! Почему я не могу не накосячить с чем-нибудь?! Я выложил игру - в первой миссии не работает навигация для ботов. Игра не играется. Я отхватил негативных отзывов из-за этого бага. Ошибку я быстро устранил, но было обидно, т.к. часть из этих негативных отзывов до сих пор осталась. 


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


Один из первых роликов (мой любимый) на YouTube о моей игре:

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


Я не заплатил ни за один ролик на YouTube. Я просто разослал ключи за несколько дней до планируемой даты выхода моей игры в Steam. Некоторые блогеры сняли видео, и количество вишлистов с ~700 выросло примерно до ~15000 к моменту выпуска. Я уж не знаю, какую часть влил сам Steam, но мне кажется, что работает это как снежный ком.


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


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


А вот на что стоит обратить внимание. В этот раз я точно знал свою базовую целевую аудиторию. Это игроки TABS и Ravenfield. Соответственно, я старался сделать игру, которая привлечет их внимание. Потом я пошёл к ютуберам, которые играли в эти игры. И, в конце концов, я составил список тегов на странице в Steam основываясь на тегах этих двух игр (TABS - в первую очередь), а также использовал ключевые фразы в описании (например, battle simulator).


Фанатский арт :D

Shieldwall - Ранний доступ Unreal Engine 4, Gamedev, Разработка, Видео, Длиннопост

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


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


Спасибо за вашу поддержку!



Моя группа в контакте: https://vk.com/nezon_production

Показать полностью 4 1
37

Что находится между идеей и кодом? Обзор 14 диаграмм UML

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

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


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


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


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


Для тех, кому лень читать и кто предпочитает смотреть и слушать: https://youtu.be/0I9aIP5gKCg


Основные цели дизайна UML:

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

Обеспечить механизмы расширяемости и специализации для расширения основных понятий.

Быть независимым от конкретных языков программирования и процессов разработки.

Обеспечить формальную основу для понимания языка моделирования.

Поощрять рост рынка объектно-ориентированных инструментов.

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

Интегрировать лучшие практики.


Диаграммы UML подразделяют на два типа - это структурные диаграммы и диаграммы поведения.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

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


Диаграммы поведения показывают динамическое поведение объектов в системе, которое можно описать, как серию изменений в системе с течением времени.


Теперь пару слов о каждой из них


Диаграмма классов

https://youtu.be/sVVJp5a41o4


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


Три наиболее важных типа отношений в диаграммах классов (на самом деле их больше), это:

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

-- Наследование, которое имеет непосредственное соответствие наследованию в Объектно-Ориентированном дизайне.

-- Агрегация, которая представляет из себя форму композиции объектов в объектно-ориентированном дизайне.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма компонентов

https://youtu.be/OiVyha3sf_I


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


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

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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма развертывания

https://youtu.be/Yz8phtJoP7I


Диаграмма развертывания помогает моделировать физический аспект объектно-ориентированной программной системы. Это структурная схема, которая показывает архитектуру системы, как развертывание (дистрибуции) программных артефактов.

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


Диаграмма моделирует конфигурацию времени выполнения в статическом представлении и визуализирует распределение артефактов в приложении.

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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма объектов

https://youtu.be/tVW5oHNfAvc


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

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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма пакетов

https://youtu.be/237BWanM4Ak


Диаграмма пакетов - это структурная схема UML, которая показывает пакеты и зависимости между ними.

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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма составной структуры

https://youtu.be/nsuJcMNaKeE


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


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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма профилей

https://youtu.be/qBws7AfvDL8


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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма прецедентов

https://youtu.be/BdAcxboG5No


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

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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма деятельности

https://youtu.be/Z8PHBsNXAgc


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

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

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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма состояний

https://youtu.be/ojCcUvGfpi8


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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма последовательности

https://youtu.be/ycg3njrkk1c


Диаграмма последовательности моделирует взаимодействие объектов на основе временной последовательности. Она показывает, как одни объекты взаимодействуют с другими в конкретном прецеденте.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма Коммуникации

https://youtu.be/KVLJj9xOq0E


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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма обзора взаимодействия

https://youtu.be/E0OJG8ojEAg


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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Временная диаграмма

https://youtu.be/NKTyDQUkLoM


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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма
Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Зачем в UML столько диаграмм?


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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

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

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

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

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



Аве!

Показать полностью 17
103

Реалистичная планета земля в Unreal Engine 4 | обзор

Сделал реалистичную планету земля в игровом движке Unreal Engine 4 с текстурами высокого разрешения: 16к для поверхности и 16к для облаков. А также, 8к текстуры для ночного неба.

На видео полный немой обзор данного проекта.

Планета земля вращается, облака, также, вращаются, но чуть быстрее.

Реалистичная планета земля в Unreal Engine 4 | обзор Земля, Планета, Unreal Engine 4, Разработка, Gamedev, Реализм, Космос, Видео, Длиннопост
Реалистичная планета земля в Unreal Engine 4 | обзор Земля, Планета, Unreal Engine 4, Разработка, Gamedev, Реализм, Космос, Видео, Длиннопост
Реалистичная планета земля в Unreal Engine 4 | обзор Земля, Планета, Unreal Engine 4, Разработка, Gamedev, Реализм, Космос, Видео, Длиннопост
Реалистичная планета земля в Unreal Engine 4 | обзор Земля, Планета, Unreal Engine 4, Разработка, Gamedev, Реализм, Космос, Видео, Длиннопост
Показать полностью 3
104

Про собственную глупость или как не нужно фрилансить

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


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


Ладно, это все лирика, теперь сама история. Дальше много букв.


Еще во времена админства, познакомился я с одной конторой, которая занималась написанием узкоспециализированного софта. Наша компания этот софт использовала, соответственно общались плотно. Даже после того, как я уволился. Раз в год приходили товарищи с вопросами как дела, иногда предлагали что-то написать для них. Но я стойко отбрехивался, так как профиль ну совсем чуточку не мой :) Либо ковырялся с их вопросами в режиме "самому интересно", без оплаты. Кстати, именно по их задаче разобрался в свое время во многих вопросах работы модулей ядра линуха.


И тут пришли они в очередной раз, с просьбой немножко перепилить скрипты для luci - это такая web-based система управления роутерами на OpenWRT. И попали они в тему. Еще один намечавшийся проект планировался как раз на ВРТ и тоже с возможной допиской люси. Жадность до знаний и денег задушила сомнения и я согласился. Причем согласился, идиот, по ТЗ в виде комментариев через скайп и без договора. Ну а чего? Мы же знаем друг-дружку много лет!


Изначально задача звучала так - нужно немножко поправить скрипты люси, так, что бы можно было из вебморды управлять их проприетарным софтом. Ну кое-как оговорены сроки (в 1 месяц) и объем. Это, кстати, был июль месяц прошлого года.


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


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


Приходит дизайн. Пля. Ни одного совета и рекомендации не выполнено. Вместо div все таблички table. Классы css не то что не похожи на то что нужно, они вообще не имею ничего общего с люсей. И т.п. В общем нужно все взять и переделать. Обсуждаем, принимается решение натянуть "как сможешь". В общем я еще пару недель трачу на выпиливание из кривого дизайна нечто похожее на люсю. Попутно ругаюсь с главой разработки, во-первых из-за постоянных багов их ПО то и дело всплывающих, во-вторых из-за попыток загнать меня в их git. Прямо сказал товарищу, что договора у меня с ними нет, так что никакого их git, только мой. В их после 100% оплаты :) Он там, говорят, так возмущался! Так возмущался, что перестал со мной общаться.


Ок, после всего этого, натянул дизайн, допилил скрипты, отослал. И тут, как в старом анекдоте, блин, концепция изменилась. Оказывается первый дизайн - унылое говно и такое инвесторам показывать нельзя! То есть вы представляете себе уровень коммуникаций у них там, внутри конторы? Когда руководитель разработки вообще не знает, что делает руководитель проекта и разработчик, потому что с последним он поругался :) Соответственно нужно дизайн переделать. Для чего через пару месяцев находится какая-то студентка "умеющая" верстку. Мне поручается студентке все рассказать, и проконтролировать. Ок, рассказываю 4 раза студентке, как нужно сверстать странички, девочка говорит "ага, я все поняла" и уходит ваять на пару с дизайнером. Еще месяца полтора или два они там на пару рожают дизайн. После многочисленных пинков дизайн присылается мне. Пля-пля. Опять тоже самое, что и в первый раз. Ни одна рекомендация не выполнена :) То есть нужно взять, разодрать весь дизайн на кусочки и опять адаптировать под то что нужно, ну то есть переделать всю работу верстальщицы. Далее следует уже ругань с руководителем прожекта, очередное объяснение верстальщице и дизайнеру как нужно сделать и пауза в полтора месяца. После которой мне присылают "исправленный" дизайн. В котором, вы удивитесь, все тоже самое что было раньше. В том же виде :)


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


По факту имеем, вместо примерно месяца неторопливой работы почти по профилю и 60 тыщ рублей легких денег, 7 месяцев мозгоклюйства с версткой, обучением верстальщицы и дизайнера, и 20 тыр, очень удачно выцыганенных где-то между предпоследним и последним дизайном (это после 6 месяцев, да) + стойкая ненависть к люсе, верстке и lua :)


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


Резюме, чисто риторически, так как тут все кристально ясно:


1. Обязательное согласованное ТЗ, неважно кто его пишет, сам заказчик или вы для него. Причем ТЗ оплачивается отдельно.


2. Договор, в котором описаны сроки и к которому, впоследствии, привязано согласованное ТЗ


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


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

Показать полностью
375

Ответ на пост «Сильный программист» 


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


(Из книги М. Портнова "Американские горки. На виражах эмиграции")


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


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


«Погодите, ребята!» — говорю я им. Захожу в класс, привожу оттуда десяток парней, которые хватают эту железку и в одну секунду её на второй этаж затаскивают.


Приходит через пару дней хозяин сервисной компании – интеллигентный американец лет сорока, худощавый. Смотрит на меня с укоризной и говорит: «Почто же ты, парень, всю свою будущую жизнь в этой стране вот так на кон ставишь своими рискованными действиями? А если, упаси Господь, кто-то на этом деле инвалидом станет или еще чего похуже? Неужели ты даже не подумал, что творишь?» А мне, честно сказать, даже в голову такое не пришло. Мы в ЦКБ и не такое сами грузили-разгружали.


Эта компания и сейчас нас обслуживает. 15 лет спустя мы переезжали в новый офис, и хозяин снова лично устанавливал нам новую систему. Я ему ту историю напомнил. Он говорит: «А я о ней и не забывал. С тех пор каждому новому сотруднику рассказывал эту историю, чтобы в случае, когда при доставке они нарвутся на такого, как ты, то не позволяли самодеятельность»."


Почему же в России Вася тяжести таскает, а в США ему нельзя? Да потому что в России случись с Васей неприятность - никто, кроме него самого за это отвечать не будет. А за океаном за ущерб здоровью будет отвечать работодатель. Лечение дорогое, инвалидность обойдется еще дороже...  И даже если работодатель сумеет в суде как-то отвертеться, услуги адвоката встанут в разы дороже, чем обошлись бы услуги грузчиков и вынужденный простой на несколько часов. А если НЕ сумеет отвертеться - тогда вообще тушите свет. Суд в случае серьезной травмы или, не дай Бог, смерти, отнимет у виновника все, что тот имеет, да еще и заставить четверть всего дохода за следующие 10 лет выплачивать.


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

Показать полностью
2555

Сильный программист

Привезли 4 ИБП для серверной ~120 килограмм каждый.

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

Грузчиков заказали, но те то ли запили, то ли забили, в общем нет их.

В итоге Вася один за полчаса дотащил все ИБП до серверной и спокойно продолжил работать дальше.

Грузчиков отменили.
Женщины были в восторге.
Вася стал кумиром офиса, а его, почти бальные, танцы с ИБП - местная легенда.

На все вопросы Вася отвечал просто:
-"Я, когда студентом был, грузчиком на РЦ работал, такие же ИБП по сто штук каждую ночь таскал!"

3624

Противникам голосовых сообщений

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

Вы можете добавить бота в чат, и бот будет автоматически реагировать на голосовые сообщения:

Противникам голосовых сообщений Telegram, Бот, Телега, Голосовые сообщения, Сообщения, Разработка, Идея, Аудио, Гифка, Длиннопост

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

Противникам голосовых сообщений Telegram, Бот, Телега, Голосовые сообщения, Сообщения, Разработка, Идея, Аудио, Гифка, Длиннопост

Добавить бота себе можно по ссылке - https://t.me/VoiceMsgBot

Отзывы и пожелания по функционалу приветствуются.

Показать полностью 1
771

Любые совпадения с жизнями всех айтишников мира – всего лишь совпадения

Любые совпадения с жизнями всех айтишников мира – всего лишь совпадения Комиксы, IT, Служба поддержки, Жизнь, Юмор, Разработка, Длиннопост
Любые совпадения с жизнями всех айтишников мира – всего лишь совпадения Комиксы, IT, Служба поддержки, Жизнь, Юмор, Разработка, Длиннопост
Любые совпадения с жизнями всех айтишников мира – всего лишь совпадения Комиксы, IT, Служба поддержки, Жизнь, Юмор, Разработка, Длиннопост

На всякий, как найти нас в соцсетках:


Мы в ВК https://vk.com/dodopizzaio?z=photo-159959555_457239396%2Fwal...

Мы в FB https://www.facebook.com/dodopizzaio/posts/1632627370206946?...

Показать полностью 2
112

Свой офис веб разработки. ч2

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


И так.


Прошло 3 месяца и надо бы уже наверное рассказать о всем, что за это время случилось.


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

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


И....


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


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

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


В самом начале я отправил свою жену с ребенком в отпуск, чтобы не скучали без меня. И не зря.
Первые полтора месяца я просто не вылазил с работы. Начинал в 8 утра и заканчивал в 11 вечера если вообще заканчивал, бывало сидел и до 4 утра. Все потому что проект большой, задачи надо делать уже сейчас, а где как и от чего отталкиваться вообще непонятно. Документации не было, спросить особо не у кого, но с горем по пополам я смог вытащить это всё и разобраться в архитектуре проекта. Проблема еще была в том, что сам проект изначально написан 10 лет назад на java (сам я работаю на js и php), состоит из нескольких сервисов и как это все было настроено никто не знал. Но всё получилось, даже удалось новый продакшн настроить на свежей ОС. До этого все вертелось на sles10x32.

Их админ у меня еще спросил, а почему apt-get там не работает. Было смешновато, но скорее от поехавшей кукушки к тому времени от всего что там творилось)


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


В следующем месяце к команде добавилось еще 3 человека и сейчас кроме меня над ним трудится еще 4 уже и пока задач всем хватает. И меня на всех хватает)

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


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


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


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


Что я хочу подытожить спустя 3 месяца.

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


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


p.s. я бы может как то и мог тут свою почту засветить, та чую забанят меня доблестные модераторы. но с учетом того что люди на меня выходили, то если сильно хочется то связаться со мной все равно можно) на гитхабе найти например контакты... (это не реклама гитхаба)

Показать полностью
84

О пассивном заработке в геймдеве: перспективы, проблемы, рост

И вновь, с запозданием, всем добра! Возвращаюсь в тему геймдева, как и обещал. Только вот слишком громкими были мои обещания. Обещал написать туториал о моем подходе к разработке. Честно начал исполнять обещание, но… В процессе замучала совесть :)

О пассивном заработке в геймдеве: перспективы, проблемы, рост Пост-Мортем, Gamedev, Опыт, Пассивный доход, Unreal Engine 4, 3D моделирование, Фриланс, Грабли, Длиннопост

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


Поэтому давайте я лучше снова поделюсь своим опытом? Опыт – штука полезная. Он ни к чему не обязывает, не может быть правильным/неправильным, но может чему-то научить других. А главное – он уникален. Так что, сегодня никаких баянов/перепостов. Сегодня я поведаю вам о своем пути к финансовой независимости. Поехали!


А ЧТО ЕСТЬ НА ВЫБОР?


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


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


В какой-то момент, я решил уйти в фриланс. Здесь доход «полу-пассивный». Вы не привязаны к конкретному месту или рабочему графику. Вариантов, где работать – тысячи, а заработок позволяет вполне комфортно жить. Но здесь тоже есть недостатки. Человеческий фактор. Я не прошел это испытание и получил болезненный опыт. Нужно было двигаться дальше.

О пассивном заработке в геймдеве: перспективы, проблемы, рост Пост-Мортем, Gamedev, Опыт, Пассивный доход, Unreal Engine 4, 3D моделирование, Фриланс, Грабли, Длиннопост
Ранний вариант моделей каньона

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


Насколько реально сфокусироваться только на продаже ассетов? Этого я не знал, но был у меня тогда один знакомый, к которому я до сих пор обращаюсь за советом. На тот момент он момент уже год продавал несколько паков в Unreal Marketplace. За разговором я узнал, что суммарный доход его товаров находился в районе $300-500/месяц. Это меньше того, что я мог получить на фрилансе, однако цифры меня воодушевили. Получать пассивом до 30 тыс. руб, просто за то, что в свое время упорно потрудился. Вот это жизнь!


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


СТАТЬ ПРОДАВЦОМ – НЕ САМОЕ СЛОЖНОЕ


Итак, вы решили продавать свои модели. А хорошо ли вы подумали?


Желание – это хорошо, но вот реализация убьет вам немало нервных клеток. Очень немало. Где продавать? Что продавать? За сколько? Как пиарить? – Всё это вопросы, на которые нет однозначного ответа. Кое-что по ним я узнал на личном опыте.


Начнем по порядку.

О пассивном заработке в геймдеве: перспективы, проблемы, рост Пост-Мортем, Gamedev, Опыт, Пассивный доход, Unreal Engine 4, 3D моделирование, Фриланс, Грабли, Длиннопост
Один из ранних вариантов скана зданий

Сегодня уже до конца не ясно, где лучше продавать. Однако пару лет назад такой вопрос не стоял. Unity и Turbosquid уже были перенасыщены. Что-то хорошо продать новичку было невозможно. Другие же платформы еще более туманны. А вот набирающий популярность Unreal Marketplace был интересен. У этих ребят была хорошая пре-модерация контента + низкая конкуренция. Неплохой старт - подумал я, решая обосноваться там.


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


В самом деле, в мире десятки тысяч разработчиков и у всех разные проекты. Кто-то делает типичный экшен, кто-то гонки, кто-то стратегии, а кто-то вообще в VR и мобилки ударился. Это не говоря уже про большой сегмент архивиза, что был на Unreal Engine с самого его появления (4 версии). В такой ситуации остается лишь гадать.


Моя теория свелась к следующему: я сделаю контент в существующей категории, но на новом уровне качества и уникальности. Хорошим вариантом для этого я видел 3D-Сканы, которые тогда были на вершине популярности. Их производство казалось очень легким. Действительно, что стоит сделать скан? Сфотгрофировал со всех сторон, прогнал через нужный софт, сделал автоматическую ретопологию, запек текстуры, добавил пару новых - скан готов! На тот момент многие уже продавали разные сканы камней и пней. Я же решил шагнуть выше и захотел сделать сканы – архитектуры. Да еще чтоб модульным был.


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


НЕТ – ТВОРЧЕСТВУ. ДА – КАЧЕСТВУ!


Наконец я собрался приступать к процессу. На тот момент, студент-первокурсник в Воронеже, я понятия не имел, что и чем мне сканировать. Однако улыбнулась удача: моя одногруппница профессионально занималась фотографией, так что у нее уже имелась подходящая зеркалка. Ну а вопрос предмета сканирования быстро отпал: в городе довольно много исторических зданий, которые подходили на роль товаров. Поэтому в один прекрасный(нет) день я вышел на сборы материала. Довольный результатом, я надеялся в тот же год все закончить, но… Я еще никогда так не ошибался :)

О пассивном заработке в геймдеве: перспективы, проблемы, рост Пост-Мортем, Gamedev, Опыт, Пассивный доход, Unreal Engine 4, 3D моделирование, Фриланс, Грабли, Длиннопост
Один из альтернативных сканов. Из них сделать набор так и не вышло. Чисто технически

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


Но так ли страшен черт, как его малюют? Пожалуй, да. Как автору 3D-моделей вам предстоит следить, чтобы у них была идеальная топология, развертка, Lightmap, все виды текстур, LOD’ы, наименование, и бонусом для модельных моделей – идеальные размеры с привязкой к сетке. Может это и звучит не сложно, но только до тех пор, пока не доходит до дела.


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


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


КРАСИВАЯ ОБЕРТКА ПРЕВЫШЕ ВСЕГО


Решено. Сделаю лишь один дом. Я хотел прощупать почву этого рынка; понять, стоит ли игра свеч. На руках у меня уже были все нужные модули: стена с окнами и стена с входной дверью. Но продавать два модуля? Серьезно? Путем нехитрых манипуляций получилось разбить их еще на 4 модуля. Теперь можно собрать многоэтажную стену. Этого хватило бы для декораций, на что изначально я и планировал. Но уже при беглом опросе стало ясно – людям красивая презентация интересна больше, чем ее содержание.

О пассивном заработке в геймдеве: перспективы, проблемы, рост Пост-Мортем, Gamedev, Опыт, Пассивный доход, Unreal Engine 4, 3D моделирование, Фриланс, Грабли, Длиннопост
Финальный версия отсканированных зданий

Анализ работ конкурентов показал, что люди заворачиваются и засовывают в паки просто уйму разных функций. Различные пропсы на здания, динамическая смена цвета, процедурное строительство и даже генераторы – все это предлагается разом за смешные деньги (не более $70). Конечно, тут уже 6 модулями не отделаться. Я захотел выйти из раздела Props и перейти в гордый раздел Environment, для которого требовался уже полноценный демо-уровень.


Что из этого вышло? Еще больше распилов 2 сканов. Полностью ручной моделлинг части ассетов. Создание различных соединителей, чтобы можно было выстроить дом любой формы. В добавок к этому – динамичная крыша, смена цвета домов, создание улицы с добавлением сканов плитки. Количество ассетов выросло уже до 45, а срок разработки растянулся на 15(!) месяцев*. Каньон в процессе пришлось разнообразить аналогичным образом. Были добавлены процедурный песок с 8 слоями, множество сканов местной травы и небольших булыжников.


*Тут надо учесть, что я не делал их каждый день, ведь мне нужно было поступать в другой вуз, поэтому иногда работа прекращалась на 1-2 месяца. В сумме же процесс занял около 300-400 часов.

Я был уверен: теперь то точно меня оценят по заслугам. Цена была справедливо поднята до $30, но что-то пошло не так.


ВАШ ТОВАР НИКОМУ НЕ НУЖЕН


Коммьюнити. То, к чему я не был готов. Обычно западное сообщество всегда снисходительно к творчеству. Какую бы мазню вы не сделали, вас закидают “Awesome”, “Amazing” и прочими комментами. Но только не в коммьюнити клиентов Marketplace. Здешние покупатели – замученные инди, повидавшие все тяготы такой жизни. Они берегут каждую копейку и хотят извлечь из нее максимум. Поэтому они тщательно сравнивают, придирчиво смотрят на качество и покупают товар лишь в случае крайней необходимости.


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


Как увеличить продажи? Первая идея – демпинг. В моем случае изначальный демпинг, и вправду был нужен. Так цена снижалась несколько раз на $5, пока не достигла отметки в $15. Лишь тогда появилась пара первых продаж. Но это был не выход. Речь шла уже не о $500 в месяц, а даже $100 казались непреодолимым порогом. В порыве желания вознаградить себя за труды я продолжил демпинг. Со временем цена достигла $10. Это сгенерировало еще с десяток продаж, но и тут поток стал иссякать. Ситуацию спасали распродажи, где цена падала и вовсе до $7, но и здесь домом мало интересовались.

О пассивном заработке в геймдеве: перспективы, проблемы, рост Пост-Мортем, Gamedev, Опыт, Пассивный доход, Unreal Engine 4, 3D моделирование, Фриланс, Грабли, Длиннопост
Финальный вариант каньона

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


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


Я не могу раскрывать всех его деталей, но фактами поделюсь. Так, выяснялось, что хороший набор моделей, на которые есть спрос, в пик может генерировать более $1000 за месяц в одиночку! А также выяснялось, что психология людей работает в обратную сторону. Люди не доверяют дешевым товарам, а берут те, что подороже, надеясь на наличие качества. По факту, это не может быть истиной, т.к. Эпики почти никогда не дают советы по ценовой политике. И все же эффективность такого метода проверена! Товаров у вас купят меньше, но сумма будет больше.


Я учел все нюансы, и потратив еще более 800 часов (3 месяца) сделал отличный каньон. Ну, мне так казалось. Все было выверено, проработан план пиара. Но тут меня угораздило сунуться на Cubebrush. Аналогичная платформа, но продает товары для всех движков и не только. Их фишка – 5% от продаж по прямой ссылке и отсутствие модерации. У Анрила тогда было 30%, а модерация затянулась. Так что, я решил податься сначала туда. К тому же меня пригласили лично по e-mail, обещали всячески пиарить и еще буст для первого товара.


Что по итогу? Мой товар так сильно был зарыт на сайте, что даже по прямому поиску найти его было непросто. Никакого буста не было, а самое главное – я зря потратил силы на пиар. Продукт посмотрели и оценили более 300 человек, но никто не купил. На то была одна очевидная причина: все знали про отсутствие модерации и никто не хотел покупать кота в мешке.


На Marketplace ситуация была немногим лучше. Продажи пошли, но пришлось сделать небольшой демпинг, дабы не тягаться с новыми конкурентами. К сегодняшнему дню, в магазине появилось почти в 2 раза больше товаров, чем в начале года, и конкуренция обострилась. Усложнились и отношения с клиентами. Я получал положительный фидбек от простых зевак и отрицательные отзывы от потенциальных покупателей. Завелся даже один хейтер, который за час сумел поставить 6 дизлайков и написать кучу гневных комментов под видео на YouTube.


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


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


НЕСТАНДАРТНЫЙ ВЫХОД ИЗ СИТУАЦИИ


Для себя я понял одну вещь. Чтобы получать доход, сопоставимый с фрилансом, мне нужно потрудится non-stop еще пару лет, и возможно я добьюсь своего. Правда есть риск, что через год-два спрос и на эти товары окажется на нуле. Так что, К ЧЕРТУ ЭТО ВСЕ!

О пассивном заработке в геймдеве: перспективы, проблемы, рост Пост-Мортем, Gamedev, Опыт, Пассивный доход, Unreal Engine 4, 3D моделирование, Фриланс, Грабли, Длиннопост

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


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


Ну а я хочу сказать всем спасибо, кто дочитал!


Кстати, сейчас участвую в осенней распродаже и вы можете поддержать меня, купив что-то из моих товаров, если они вам нужны :)


Скидка 20% на оба пака (вообще, хотел 25%, но не знал, что так нельзя)


Отсканированный Модульный Каньон: клац


Отсканированное Модульное Здание: клац


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

Показать полностью 6
5027

Телеграм и все, все, все...

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

Только Телеграм.

779

Решил поделиться опытом...

Решил поделиться опытом... Сисадмин, Профессия, Опыт, Начинающий, IT, Длиннопост

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

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

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

И так поехали...


1. На 97% машин установлен пиратский Windows XP - Решение очень простое, точнее их два - на ваш выбор: Либо покупать лицензию на Windows 10 и делать даунгрейд, но лучше снести всю эту ересь и поставить туда Lubuntu (гуглите, это облегченка сделанная на базе Ubuntu, драйвера ставятся легко даже для принтера), после чего обязательно установите пакет Remmina (зачем? читайте пост до конца)


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


3. Не спешите на сервер устанавливать сервачную винду. Загуглите интересное слово - гипервизор. Халявное и довольно-таки удобное решение - Proxmox (без техподдержки вообще бесплатен). Далее курим форумы и мануалы и поднимаем нужные для наших задач виртуальные машины. У меня например один из контейнеров выполняет роль WEB-сервера, очень удобно...


4. На одной из виртуалок, поднимате сервачную винду, (а вот тут самое главное) Обязательно купите лицензию! И настраиваете сервак как RDP-сервер (гуглите, я вам идею подкидываю, а не мануал расписываю)


5. Настраиваем Remmina на работу с нашим сервером.


ИТОГ: Что мы получаем?


Все просто, вы можете старые машины в парке использовать до самой их смерти. Вместо новых машин приобретать дешевские "тонкие клиенты" (гуглите). В итоге при минимум финансировании вы сможете сделать парк вполне себе хороших работающих машин. Один сервер легко заменит порядка 10-15 машин, зависит от нагрузки. При увеличении парка просто докупаете серваки и лицензии.


Затраты:

1. Стоимость сервера (который заменит 10 компов)

2. Стоимость серверной винды

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


Плюсы:


1. Невысокая стоимость решения.

2. Все легально и лицензировано (нет больше пиратских экспишек)

3. Довольное начальство (мало денег потратили)

4. Довольные пользователи (компьютеры работают как современные)


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

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