Жизнь инди-девелопера — или как балансировать семейную жизнь, работу, фриланс и двигать свой проект

***

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

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

В свободное время (когда настраивал систему — его не было, потом — стало больше) стал делать игру.

Первый движок — Unity очень интересный оказался. Достаточно простой для работы. Использует C# и компонентную модель.

Много ассетов.

Но потом оказалось, что у него много подводных камней.

И пока деньги шли от других проектов — разработка шла активно.

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

Параллельно ещё занимался фрилансом. И день был разделён на несколько кусков по 3-4 часа. В общей сложности работал 10-12 часов в день против 8-10 в обычном режиме.

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

Потом оказалось, что удалённая работа не так проста как кажется — ты постоянно дома один. Как в тюрьме. И некоторые ведущие программисты звонят даже не спрашивая. И предъявляют претензии: «Где ты находишься?» даже если ты отошёл по нужде.

В общем — весьма странные бывают рабочие отношения.

Плюс, постоянное сидение дома сказывается на здоровье и общем ментальном состоянии.

При этом надо поддерживать отношения с семьёй.

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

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

Потому что стоит пропустить один-два дня и уже очень непросто заставить себя встать и попрыгать и заняться фитнесом.

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

Помню момент — когда стал заниматься столярничеством, стало легче.

Всё время сидишь на работе, а чтобы крафтить из дерева — приходится стоять.

Получается — очень дополняющая профессия.

Только надо иметь либо свой дом, либо снять в аренду гараж. Иначе тёща найдёт тебя в дальнем углу общего дома и будет претензиями кормить: «Что так шумно? Что поздно?»

И при этом ещё пытаешься создавать фирму — ищешь партнёров, помощников. Нанимаешь фрилансеров.

Опыта с наёмными у меня не было. Но как вижу по знакомым и друзьям — это тоже непростое занятие.

Многим сотрудникам надо, чтобы ты был им папочкой и мамочкой в одном лице.

С профи работать проще, но они обычно перегружены, так что надо постоянно их спрашивать о прогрессе.

Некоторые сами отчитываются. Но такого уровня ответственности встречал не так часто.

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

И иногда шарики падают. И надо начинать всё сначала.

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

И пошёл исследовать разные движки. GameFromScratch — очень помогает в этом. Описывает движки и фреймворки.

Даже стал думать, что стоит самому написать на SFML/SDL/MonoGame игру. И скорее всего так и надо было сделать.

Джонотан Блоу описывает это как трение. То есть инструмент не должен обладать излишним трением.

И советовал создавать игру с нуля, чем учиться обходить проблемы движка Unity (на конференции 2018 года в Китае)

У Unity в начале трения почти нет. Но как только код переходит определённую черту сложности. И количество ассетов и плагинов зашкаливает за 5Гиб (причём — видать, некоторые ассеты глючные и юнити крашится сама по себе — и отсылка отчёта даже с проектом ничего не решает) начинаются танцы с бубном.

Когда работал в Nekki — там над Unity построили свой движок игровой. И как-то добились стабильности, несмотря на то, что их ассетов было на 16ГиБ. У меня пока не получилось такой стабильности достичь.

После нескольких лет поисков и экспериментов остановился на трёх движках: Godot, Defold, GameMaker: Studio.

Использовал и фреймворки MonoGame, go/pixel, raylib, sdl/freepascal, sdl/C#, SFML/C# — но пока это лишь игрушки.

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

Только AppGameKit пока справляется с определением «простой».

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

Godot — оказался интересным. И сейчас даже есть 3 книги по нему. Прочёл их, но философия пока не дошла. Писать на питоне (gdscript) не очень приятное занятие.

Плюс — надо понимать как работают сигналы и строится дерево ассетов.

Defold — шикарный движок. Билд всего 1.5МиБ под мобилки (против 17МиБ для Unity и 20 для GameMaker). Но оказался «оверинжинирид» — систему сообщений и общую структуру движка вокруг очередей сообщений (и урлов для индикации позиции в сцене или мире) трудно понять.

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

Но форум замечательный.

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

В общем — многообещающий движок.

В своё время долго плевался на GameMaker: Studiо. Но потом купил его 2ю версию и оказался достаточно удобный движок.

Простой и заточенный под 2д игры.

Пока подводных камней не достиг.

***

После нашёл книгу Сенеки «Письма к Луцилию».

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

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

Вот по движкам и прыгал.

Плюс с партнёром по разработке разошлись не очень хорошо.

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

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

Так автор StarDew:Valley сначала пилил её без доходов, но потом пошёл на полставки работать.

Undertale — пишущий композитор — который тоже делал проект мечты.

Iconoclasts и Owl-boy — авторы по 10 лет (буквально) пилили свою игру и выпустили.

Многие инди-разработчики находят другой выход (и про него тоже подумал) — надо накопить на 1-2 года жизни и полностью посвятить себя проекту.

Сделать его за год и, возможно (как автор Yandere Simulator) выходят на ранний доступ или кикстартер.

Тот же Torn Adams (Dwarf Fortress) — живёт на поддержке его сообщества. И просто пилит игру уже 16 лет.

Но сообщество надо создать (тот же Торн Адамс вышел через 4 года работы над игрой в интернет с альфой 12 — и людям понравилось).

И вот постоянные перипетии жизни, напоминающий выживач — приводят к росту как личности, так и характера.

Посмотрите на Нотча (Маркуса Персона) — он работал на фирме по онлайн продажам, и параллельно пилил свой Minecraft.

И после начала продаж — ушёл в свободный полёт.

И вот этот старт оказывается самым сложным.

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

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

Одно могу сказать — что приключение того стоило. И сейчас иду по нему с удовольствием.

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

И встречаешь много интересных людей.

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

Встречаются не очень развитые личности, которые критикуют тебя как личность, а не твои творения с конструктивной стороны.

Но мимо таких проходишь, не оставляя им шанса зацепить тебя.

И идёшь дальше.

Игрострой оказался очень интересным и сложным занятием. Как раз как многим из нас нравится.

66
1 комментарий

или как балансировать семейную жизнь, работу, фриланс и двигать свой проектАниме. /thread

1