История двух лет разработки игры после геймджемов, ошибки команды и советы по созданию игр от justapoint.
Ask about this video. Answers come from its transcript only — with the timestamp, so you can check them.
Generated from the transcript and can be wrong — check the timestamp.
Key Takeaways
- Завершение игры для геймджема проще, чем полноценного проекта.
- Дизайн-документ критически важен для успешной командной работы.
- Четкое распределение ролей и коммуникация предотвращают хаос в разработке.
- Переход на новые технологии требует времени и может замедлить процесс.
- Выгорание и отсутствие мотивации — частые проблемы в долгосрочных проектах.
What the video covers
- Создание простой игры возможно за день с базовыми ресурсами и механикой.
- Геймджемы — отличный способ быстро завершить проекты и развить навыки.
- Автор рассказывает о переходе от коротких джем-проектов к долгосрочной разработке.
- Основная проблема — отсутствие дизайн-документа и четкого планирования.
- Командная работа осложнялась из-за отсутствия четких ролей и коммуникации.
- Переход на новый движок вызвал технические трудности и потерю времени.
- В команде возникали конфликты и выгорание участников.
- Автор делится субъективными правилами для начинающих разработчиков игр.
- Проект, начавшийся как недельный геймджем, превратился в двухлетний долгострой.
- Видео содержит советы и предупреждения о типичных ошибках в инди-разработке.
Chapters
- 00:00Легкость создания простой игры и геймджемы
- 02:30Почему игры с геймджемов всегда заканчиваются
- 05:27Переход от геймджемов к большому проекту
- 08:26Планы на мультисерийный геймджем и проблемы
- 14:14Важность дизайн-документа и ошибки команды
- 17:06Технические трудности и смена движка
- 25:47Проблемы в команде и выгорание участников
- 31:57Заключение и благодарности
Full Transcript — Download SRT & Markdown
Speaker A
Вы вообще представляете, насколько легко сделать игру? Типа, тебе нужен движок, три спрайта, нарисованные в любом приложении или даже на сайте, день работы и одна функционирующая механика.
Speaker A
Можно, конечно, поспорить с тем, называется ли такая демка игрой, но в большинстве случаев да, называется.
Speaker A
Немного сложнее, оно всё ещё просто сделать игру для геймджема, то есть игру для конкурса по созданию игр. Геймджемы — это, на секундочку, кладезь фантастических игровых идей.
Speaker A
Да, если вы ни разу не слышали про такого рода мероприятия, то может показаться, что геймджемы — это хобби для особо упоротых задротов. Но нет.
Speaker A
В джемах ежегодно участвуют миллионы разработчиков с целью показать свой скилл, найти себе команду или отыскать неогранённый алмаз среди работ других участников.
Speaker A
И да, это просто. Разумеется, кранчи бессонной ночи и тонны времени за экраном монитора в позе креветки — это, конечно, не вкусно, но нормально.
Speaker A
Временные, скажем так, трудности. С этим сталкиваются все люди во время работы с дедлайнами.
Speaker A
Однако игру для джема закончить куда проще, чем игру со стандартным циклом разработки. Игры с джемов всегда закончены.
Speaker A
Именно не законченные, то бишь доработанные, а закончены.
Speaker A
Электикология не мой конёк, если что. Процент команд, которые во время участия в Джеме не показывают ничего, реально маленький.
Speaker A
И происходит это, во-первых, из-за дедлайна. Вы работаете как чёрт, зная, что в конце туннеля будет свет, а там уже без разницы, будет ли это свет тёплым или холодным.
Speaker A
Во-вторых, вы разработчик, и вы понимаете, что остальные команды работали ничуть не меньше вас.
Speaker A
Тут, знаете ли, сложно будет прийти с пустыми руками, зная, как выкладывают остальные. Мне банально совесть не позволит.
Speaker A
Так что без разницы, какое качество у итогового продукта. Тут все всё понимают и все знают, через какие дебри надо пробраться, чтобы просто нажать на кнопку Upload.
Speaker A
Так вот, делать игры для джемов — это просто. Не в смысле, что сам процесс простой, об этом никто не говорит, но вот завершить игру, до состояния, при котором её можно будет запустить, вот это просто.
Speaker A
Насколько подобные демки можно считать играми, никто не знает. Но игра с джема — это очень хороший буст как твоего понимания в сфере геймдева, так и твоих личных навыков.
Speaker A
Кто-то вообще помнит, что Тим Черри перед выпуском Hол Night и маринованием Силксонга сделали игру для Джема с оценкой в три балла из пяти про странного призрака, который поедал те самые Черри.
Speaker A
Тот же. Никто про неё не помнит, но она была. Её сложно назвать игрой. Это скорее одна рабочая механика, но то, к чему привела эта демка, знают все.
Speaker A
Так о чём это я? Закончить игру для джема — это просто. Так как же тогда получилось, что наша игра из проекта Недельного геймджема переросла в двухлетний долгострой и почти похоронила канал, на котором вы смотрите это видео?
Speaker A
Что ж, давайте разбираться.
Speaker A
[музыка] И ну вроде как бы оно да, но как бы и нет.
Speaker A
Короче, мой канал, если и можно назвать популярным в узких кругах, то популярным за счёт видео с джемов.
Speaker A
Это короткие истории, в которых я рассказывал о своём участии в трёх и более дневных джемах.
Speaker A
Изначально эту историю я вообще не хотел где-то рассказывать, так как не буду скрывать, она для меня крайне близка и тревожит старые шрамы.
Speaker A
Но в какой-то момент в мою голову пришло озарение с тем, что положение, в котором находится моя игра, можно было избежать.
Speaker A
Наша команда, и я, в особенности как её лидер, совершали цепь ошибок, закономерно приведших к закрытию проекта.
Speaker A
И если уж эта история и будет рассказана, то я расскажу нечто иное и, возможно, нечто больше, чем очередная coл-стори о неудавшемся проекте.
Speaker A
То, о чём я буду далее рассказывать, с моей субъективной точки зрения, привело к сокрытию большого по моим меркам проекта.
Speaker A
И важнее всего тут будет одна вещь: субъективизм.
Speaker A
Все дальнейшие пункты, или, как я их теперь называю, правила для чайников по разработке игры, сокращённо ПЧРИ, несут строго рекомендательный характер.
Speaker A
Сказать уверенностью, что делая так, а не иначе, у вас всё получится, будет ложью.
Speaker A
У всех у нас разные проблемы и способы их решения.
Speaker A
Поэтому я хочу, чтобы всё сказанное мною далее вы воспринимали скорее как дружеский совет, открытый для интерпретации, но ни в коем случае не как ключ к успеху.
Speaker A
С осознанием этого можно было бы начать, но в первую очередь стоит пояснить за положение дел после последнего джема.
Speaker A
Если вы пропустили эпопею джемов, коротко говорю: "Я нашёл себе друзей Ваню, Аркашу, и мы стали делать игры".
Speaker A
В общей сложности вышло аж целых три игры, две из которых можно без проблем найти на моей и чаё страничке, ссылка в описании.
Speaker A
Процесс разработки каждой игры я оборащивал в видео, где третий по счёту GM должен был стать заключительным.
Speaker A
Я, конечно, мог пилить де влоги стабильно раз в месяц и, скорее всего, имел бы уже большую аудиторию, рекламу и собственный бар в Праге.
Speaker A
Но мне это было неинтересно. Не хотелось, скажем так, вечно делать одно и то же.
Speaker A
Я хотел участия в больших проектах, хотел снимать большие разборы и хотел, наконец-то, писать код.
Speaker A
Так уж вышло, что из-за недостатка времени Ваню я первое время кидал на написание скрипта, а сам рисовал крайне примитивные фигуры, потому что в команде нас тогда было только двое.
Speaker A
Я никогда не умел рисовать, и в дальнейших проектах хотелось вернуться к изначальной своей работе, к написанию кода.
Speaker A
Соответственно, после третьего джема я собирался переключиться на новый большой проект, потому что у меня уже была аудитория, была поддержка и базовый набор ресурсов, позволяющих разработать игру, но случилось непредвиденное.
Speaker A
Третий джем оказался лажей. Не в том плане, что игра вышла плохой или девлок не получился. Скорее страдало наполнение.
Speaker A
Так что третий джем и игра — это, пожалуй, лучшее, что мы разрабатывали.
Speaker A
Не в смысле, что игра — это какой-то шедевр. Просто она была отполирована лучше других, хоть и была трёхдневным проектом.
Speaker A
Мне очень не нравился тот факт, что темы второго джема и третьего сильно пересекались, из-за чего мой воспалённый мозг решил сделать ход конём.
Speaker A
Так как я хотел закончить на высокой ноте, а красивое число три уже было успешно просрано, было решено сделать четвёртый джем мультисерийным.
Speaker A
Я хотел сделать survй игру с большой картой, биомами, боссами и крафтом.
Speaker A
Разработку такого чуда, естественно, уложить в рамки недели было невозможно.
Speaker A
Так что в планах было где-то три больших видео, где я бы делился ходом разработки.
Speaker A
И куда мне это привело, правильно, в пиз.
Speaker A
[музыка] Дизайн документа — это крайне важная вещь, которую знают все разработчики игр, но которую почему-то не все используют.
Speaker A
О существовании диздока я знал задолго до выпуска первого де влога и всегда думал, что вот когда у меня начнётся большая разработка, я обязательно его напишу.
Speaker A
Но, как вы понимаете, если бы всё пошло как по маслу, мы бы тут сейчас не сидели.
Speaker A
Что такое дисдог? Коротко говоря, это твоя игра в бумажном виде.
Speaker A
Все механики, дизайн-локации, возможно, визуал и всё остальное зафиксировано на бумаге.
Speaker A
В общем и целом, каждая студия пишет по-своему и по-разному.
Speaker A
Кто-то больше уходит в дизайн, кто-то прописывает больше лора в документе, а кто-то чисто механики.
Speaker A
Единого шаблона, по которому стоит делать игру, нет и никогда не будет.
Speaker A
Смысл этого документа в том, чтобы при любом вопросе вы могли открыть его, найти нужную вам штуку и не задавать тупых вопросов.
Speaker A
Как работает боевая система? Насколько большие у нас уровни? Зачем в игре у главного героя лопата вместо меча? Всё это должно быть именно там.
Speaker A
Это довольно очевидная и негласная истина, которой все и всегда должны придерживаться, но я возомнил себя богом и решил обойтись без дисдока.
Speaker A
Решение абсурдно тупое на первый взгляд, но в тот момент таким оно мне не казалось.
Speaker A
Стоит понимать, что главным идеологом команды был я, но игру мы планировали вместе.
Speaker A
До начала разработки в моей голове плавали разные образы и ключевые механики, но всё остальное было придумано в процессе группового брейншторма.
Speaker A
Разнообразные идеи мы сохраняли на виртуальной доске, которая поначалу была мира.
Speaker A
Спойлер, в какой-то момент нам её...
Speaker A
дальше, а не стагнировать. Но вмешалось, что правильно, полное отсутствие сроков и перфекционизм. Я прикинул, что точно закончу работу над картой где-то в будущем, и начал её везде допиливать.
Speaker A
Улучшать биомы, править текстуры, добавлять объекты и так до бесконечности. Разумеется, в разработке есть этап полировки проекта, но полировать нужно тогда, когда проект уже готов, а не когда готова одна его механика. Шло время, а новых работающих сегментов игры всё не было и не было.
Speaker A
Тогда я наконец понял, что нужно делать что-то новое, и сделал систему инвентаря, карты и подбора ресурсов. Но было уже поздно. Просто отсутствие сроков - это как рак. Он медленно развивается, и поначалу с ним вполне можно жить. Но в какой-то момент он
Speaker A
вдарит так, что мало не покажется. К тому моменту, когда в игре появились новые механики, я был единственным программистом в команде. И из готового у нас было по сути три сегмента. Само по себе это, конечно, ни на что плохо не
Speaker A
влияло, но меня не отпускало ощущение, что с начала разработки мы так никуда и не продвинулись. Всё это время процедурная карта эволюционировала. В ней улучшались биомы, генерация объектов и отрисовка областей, но игры в этой демке по-прежнему не было. У меня даже
Speaker A
сейчас есть несколько знакомых команд, которые вроде бы что-то делают, но на деле просто рисуют концепты и строят планы на будущее. Как мне кажется, вы либо работаете и выдаёте стабильный, пусть и не всегда хороший результат, раз в месяц, либо останавливаете работу на
Speaker A
определённый срок, чтобы вернуться туда потом с полными силами. Мой опыт показывает, что в игре должна быть в первую очередь игра- геймплей. А визуальную сторону всегда можно допилить потом, особенно в Индии, где очень редко удаётся удивить визуалом. Нет смысла
Speaker A
рисовать планы на песке и без устали улучшать декор. Нужно создавать начинку. Правда, только в тех случаях, когда вы не меняете движок игры каждую неделю.
Speaker A
Изначально мы работали на движке под названием Godтot. Не вдаваясь в подробности, я пользовался всеми известными движками по типу Unнити и Unreла. Но когда в двери постучался первый джем, был выбран сразу же, потому что он ничего не весил, а также потому,
Speaker A
что там использовался GTрипт, который очень близок к питону, языку, на котором я не то чтобы спес, но писал большую часть времени. Ситуация сложилась такая.
Speaker A
Игру, а вернее симулятор создания карты, я описал на третьей, актуальной на тот момент версии ГоТ. Как вдруг внезапно вышел God 4, который внёс кучу изменений в мою привычную рутину. Если вы думаете, что обновление гадота - это просто ведро
Speaker A
новых функций, то нет, вернее, да, но не только. Четвёртая версия, например, полностью изменила работу Style Map. Это нода в движке, которая позволяла рисовать тайлами и на основе которой, в свою очередь, была создана вся процедурная генерация. Сперва я отнёсся
Speaker A
к новой версии с настороженностью. Сама система рисования тайлами была не просто изменена, она стала будто хуже работать.
Speaker A
Конечно, если вы никогда не использовали гадот, зайдёте сейчас и попытаетесь что-то сделать с нулевой по гайдам, то всё будет, возможно, хорошо. Но а зачем было изобретать велосипед, я не очень понимаю. Разумеется, просто импортировать код из третьей версии в
Speaker A
четвёртую нельзя. В движке была изменена целая куча функций и добавлена гора новых, например, слои. Когда я об этом впервые прочитал, радости не было предела, потому что до этого я имитировал слои колхозным добавлением сразу нескольких карт. По моим ожиданиям, слои должны были работать
Speaker A
плюс-минус, как в фотошопе, где у тебя сбоку лист слоёв, и ты выбираешь, с какими хочешь взаимодействовать. Но тут всё через жопу, какими-то аккульными путями. функции перегрузили, добавили кучу новых параметров и так далее. Вот есть у тебя в машине, например,
Speaker A
возможность сдвинуть кресло вперёд-назад и отрегулировать его наклон. Классно. В целом, всё, что тебе необходимо. Но вот ты забираешь машину с салона, и оказывается, что кресло обновили, и оно теперь может изменять свой наклон влево или вправо. Ты думаешь, что функция
Speaker A
будет полезна только для ценителей качественного автопрома и что сам ей никогда пользоваться не станешь? Но внезапно замечаешь, что рычаг для управления этим кредом находится прямо посередине ситушки. И выглядит он как огромный чёрный. Это, если хотите коротко про мой экспириенс с четвёртым
Speaker A
годом. В нём, конечно, наверняка добавили много классных фич, улучшающих работу с тем, о чём я даже не догадываюсь, но то, с чем работал я, было почти полностью изменено и далеко не в лучшую сторону. Как вы думаете, стоит ли в таком случае переходить и
Speaker A
переносить где-то 500 строк кода на новый движок? Сперва я решил проверить и попробовать воссоздать скелет кода генерации. Предсказуемо он не работал. Я немного попытел и забил. Потом спустя 2 недели до меня докатилась стадия принятия, и я подумал, может быть, всё и
Speaker A
стало гораздо более нагромождённым, но если перейти сейчас, мы получим доступ к новым функциям, которые в теоретическом будущем нам помогут. После чего была совершена колоссальная ошибка. Как мне кажется, сейчас в данной ситуации надо было чётко оценить ровно один момент,
Speaker A
что мы получим и что у нас заберут. Из-за того, что я полноценно в вопросе не разобрался, на чаше получим лежали воображаемые возможности GД, а на чаше заберёт ничего. Из-за этого по итогу полтора месяца были смачно просраны, потому что на чаше заберут под инвизом
Speaker A
находилась одна крайне важная вещь время. Кроме слв, как вы понимаете, мы получили очаровательное ничего, под которое пришлось переписывать код. И я, конечно, не хочу сказать ничего плохого про четвёртый годот, но этот движок голимая хуетта. Во всяком случае, по
Speaker A
части процедурной генерации. Началось всё с того, что на воссоздание кода третьей версии уже были потрачены нервы и время. Всё, что тогда было готово, надо было воссоздать чуть ли не с нуля.
Speaker A
И когда я дописывал последнюю строку, выяснилось, что демка жёстко лагает. Да, код из третьей версии, адаптированный и подстроенный под четвёртую, постоянно фризил, хотя тот же код в тройке выдавал стабильные [ __ ] кадров в секунду.
Speaker A
Разумеется, первым делом я подумал на себя и полез искать информацию в сети. Но вот не задача, её не было. Движку 2 недели. Даже сейчас на некоторые сегменты можно найти документации только из третьей версии движка, либо не найти ничего. Конечно, сразу появились
Speaker A
миллионы один ролик про то, как сделать платформеры и всё такое, но кроме этого не было почти никакой инфы. Стоит понимать, что ныне популярные нейросети ещё не вошли в обиход. Они массово станут популярны в ближайшие пару месяцев. Тогда всё ещё было по старинке.
Speaker A
Искать информацию негде, и абсолютно непонятно, в каком направлении надо двигаться. Когда я прописывал процедурную генерацию для третьего годота, я встроил сразу несколько систем оптимизации например чанки благодаря котором движок должен был отрисовывать всего 32 тайла, когда игрок двигался.
Speaker A
Причём не именно во время движения, а во время того, когда игрок пересекал тайл. Аналогичный код в четвёртом гадоте тупо не работал. Да, кто-то может сказать, что всё очевидно. Это же новая версия движка. Однако я вас удивлю.
Speaker A
Отресовывание тридцатидвух пиксельных квадратиков - это операция, которая имеет минимальные затраты. Ну, только если вы не играете на компе из 90ых. Это простейшая математика. И где в таком случае проблему искать, непонятно.
Speaker A
Конечно, я прошерстил все актуальные на тот момент форумы, посмотрел добрую половину видосов, которые в тот момент вышли. Я множество раз оптимизировал код с разных сторон. Дошло до того, что мною был добавлен таймер, который давал движку полсекунды на отрисовку одного
Speaker A
спрайта. Это очень много времени, и даже так фрезы никуда не делись. В один прекрасный день Тильт меня доконал, и я обратился к знакомым. Всё дело в том, что для воссоздания хоть какого-то вау-эффекта я работаю над играми и видео
Speaker A
в тайне. Я как бы говорю, что что-то делаю, но не вношу конкретики, но тогда мои нервы сдали. Я стал спамить запроса именно на форумах, посвящённых четвёртому гадоту, и параллельно обратился к знакомому Прогеру. Он, конечно, не работал с годотом, но
Speaker A
программист был со стажем. Итог один: никто ничего не понимал, что ребята из чатов, что мой друг, говорили одно и то же. Просто я пытаюсь и понимаешь, да, направление мысли. Я пытаюсь понять, а что вообще может нагрузить так, чтобы
Speaker A
оно начало лагать. Я не вижу других причин, потому что отрисовка тайла фигню весит. Объектов у тебя там фигня вообще.
Speaker A
То есть единственное, что тебя можно грузить - это то, что ты работаешь, например, в рамках одного ядра, в рамках одного процесса, и ты грузишь туда кучу математики.
Speaker A
[музыка] Код, который на тот момент я использовал в четвёртой версии, был намного более оптимизированнее, чем его старший брат, но даже так значимых изменений не было.
Speaker A
На четвёртый году я потратил добрый месяц-полтора и в конечном счёте понял, что идея была говном с самого начала.
Speaker A
Присковые решения по типу перехода на более новую версию движка должны быть отфильтрованы как минимум взвешиванием плюсов и минусов. Хотя даже так сложно однозначно сказать наперёд. Скажется ли это хорошо или плохо на работе. Ситуация в четвёртом году там была крайне
Speaker A
болезненной, но в тот момент это было далеко не главной проблемой, так как в самом разгаре был конфликт, к которому привело неверное.
Speaker A
[музыка] Как и большинство руководителей начинающих инди команд, я считал, что самая лучшая модель правления - это модель, в которой все могут всё.
Speaker A
Художник может предложить и утвердить какую-то идею, музыкант может изменить работу какой-то механики и так далее.
Speaker A
Все, всех слушают, и мнение каждого важно. На практике же это полная антиутопия. Конечно, команды, где работа ведётся именно так существует, и некоторые из них даже успешны. Но выставлять это как норму всё равно, что утверждать, мол, бросив универ сможешь
Speaker A
создать свой Apple. Для начала надо понимать, кем ты являешься в команде. Ты часть пирога с одинаковыми по размеру кусками или ты визионер-лидер. Это не какие-то там модели поведения. Это про то, кем ты являешься в работе над тем или иным проектом. Если ты визионер и
Speaker A
проект исходит и идёт в том направлении, в котором ты решил, значит, именно ты должен фильтровать все решения команды.
Speaker A
И это ты должен объяснять своим напарникам, что делать надо именно так, а не иначе. Если же ты рапная часть пирога, то не удивляйся, когда в проект попадёт то, что ты считаешь полным бредом и что в твоём понимании руинит
Speaker A
изначальную идею. У нас была попытка во вторую модель, где все равны, но с некоторыми нюансами. Все равны, но некоторые равнее. Извините, на монтаже вырвалась. Я был и остаюсь лидером внутри своей команды. Я собрал людей. Я говорю, что требуется, а что не
Speaker A
требуется. Именно мою идею мы стараемся воплотить в жизнь, но при этом я слушаю всех и каждого. Таким образом, например, появилась механика пищи. Изначально лечение в игре я думал сделать посредством сна или очередного аналога Эстуса, но появился Аркаша и предложил
Speaker A
механику еды, которая оказалась очень даже хорошей. Игрок, исходя из того, за какой класс он играл, мог крафтить разного рода еду, которая давала ему временную регенерацию здоровья. Звучит как минимум незаеженно. Но в это же время еды было слишком много. Аркаша,
Speaker A
как тётя Галя у плиты, придумывал и тут же рисовал всё новые и новые блюда, которые отличались названием, рисунком и больше ничем. Когда я указал на это, он стал добавлять к каждому блюду уникальную особенность, что хорошо. Но когда у тебя столько еды, механики в
Speaker A
таком количестве неизменно либо похерят баланс, либо перегрузят готовку как таковую. Также он предложил и утвердил класс травника, который по сути был фермером с новым названием. Аркаша просто очень любил заниматься фермерством и ухаживанием за своим домом в жпачах по типу Майнкрафта.
Speaker A
Соответственно, игру он клонил в сторону медитативного геймплея. И несмотря на то, что я старался сместить направление класса в сторону ядов и прочего алхимического, он всё ещё оставался фермером. В это же время Катя предлагала множество новых мобов и дополнительных
Speaker A
объектов в биомы, которые я также одобрял. По итогу тележку мы все тянули в разные стороны, из-за чего она предсказуемо не ехала. Вот только не подумайте ничего, ребята. тут совсем не виноваты. Проблема как раз в том, что я не выставил чёткие рамки с границами и в
Speaker A
попытке угодить всем и каждому внедрял в игру то, что там бы скорее всего не работало. Когда же до меня дошло, что новые и новые идеи ломают кормплей, я стал закручивать гайки и ограничивать потуги фантазии команды, что закономерно привело к ссорам и скандалам, большая
Speaker A
часть из которых была из-за того, что я, мол, не слушаю ничьё мнение, несмотря на то, что если бы я действительно его не слушал, в игре не было бы и половины того, что находится на доске. Как мне кажется, сейчас вы должны сразу
Speaker A
понимать, делаете ли вы свой проект или общий. Не в смысле слушаю команду или забиваю на них болт. Я про то, что если ребята согласились воплотить в жизнь твою идею, то последнее слово должно быть за тобой. И твоя команда должна это
Speaker A
понимать с самого начала. То есть ты садишься и говоришь, мол, чтобы не было в дальнейшем ссоры и недопонимания, последнее слово за мной, так как я отвечаю за весь проект в целом. Если тебя это устраивает, добро пожаловать в команду. Если нет, то нам не по пути. И
Speaker A
при этом ты всё ещё можешь выслушивать чужие идеи и мнения. Я думаю, что в работе должны быть роли и границы, где ты либо подчинённый, либо начальник. За пределами разработки что угодно, но если быть везде и сразу, это означает быть
Speaker A
нигде. В декабре прошлого года я был на GDS, Game Development Session. Тут важно, есть GDC, общемировая штука, посвящённая разработчикам игр, и GDS- локальная чешская конференция. На этой выставке, помимо встречи лично с Ваврой и Гленом Скофилдом, я также пообщался с
Speaker A
разработчиками второго Киндемкама. Это было до релиза второй части. Я разговаривал следом, который занимался движком, и несколькими ребятами из отдела катсцен. Подробно об этом и о моём разговоре с разработчиком из Larian Studios я писал у себя в тегканале. Так
Speaker A
что сразу к важному. Мне было интересно, как в таких больших командах идёт работа. Я спросил, мол, если я, например, разработчик интерфейса и мне не нравится какая-то игровая механика, могу ли я как-то повлиять на её доработку? На что мне был дан ответ?
Speaker A
Нет. То есть дизайнеры геймплея выше вас по статусу? Нет. Они не выше и не ниже, а не слева или справа. В любой разработке важно время. Если ты хочешь работать над геймплеем, иди работать в отдел, посвящённый этому. Если хочешь
Speaker A
работать над катсценами, в другой. Если мы будем выслушивать мнение каждого, то попросту ничего не успеем сделать.
Speaker A
Разумеется, тут речь идёт о triтпle и dou A уровне, но суть, я думаю, вы уловили. Надо понимать, к чему может привести отсутствие человека, ставящего точки. Всегда нужен тот, кто утверждает идеи, и тот, кто умеет и будет их отклонять.
Speaker A
Можно, конечно, добавить ещё пункт в 5 по типу обязательного гита, без которого работа в команде будет адски неудобной.
Speaker A
Но по сути все эти вещи вторичны, они влияют на удобство, но не на сам процесс. Так что перейдём к финалу.
Speaker A
Настало время собрать все рассказы из разных временных промежутков фильм Тарантино. А то я обо всём как бы рассказал, но не по порядку. Проект стартовал с небольшим подвохом. У нас была неделя на работу с прототипом будущей игры. Я понимал, что наши
Speaker A
поделки до этого были работающими исключительно потому, что основной массив механик был сделан в определённый срок. Додуматься, что эти сроки должны будут присутствовать везде, у меня, конечно же, не получилось. Но вот поставить первую неделю для создания каркаса игры так и было решено. Сперва
Speaker A
надо было расширить команду. Пополнил её Нет, не Катя пока что. Первым был парень под ником Утка, который спойлер по окончанию первой недели выйдет из проекта по причинам здоровья. По плану я, Аркаша, Вани и Утка должны были создать основу для будущей процедурно
Speaker A
сгенерированной карты, реализовать инвентарь и добавить строительство. Звучит, конечно, мощно, что я понимал, поэтому все механики должны были просто существовать в крайне упрощённом виде.
Speaker A
Карта - это всего два биома для тестагенерации. В каждом биоме по одному объекту, одному противнику и по одной постройке. Всё нужно было протестировать и, так сказать, подготовить почву для будущего расширения. В этой обстановке я занимался картой, а в дальнейшем должен
Speaker A
был взяться за боевую систему. Ваня отвечал за игрока, инвентарь и ходбар. Аркаша писал музыку, а Утка должен был всё нарисовать. Но, как вы уже прекрасно поняли, мы, прошу прощения, нихуя не успели. Работа над картой осложнялась из-за урезанной генерации. Ваня в лучшем
Speaker A
случае мог повторить инвентарь по гайдам, и то частично. О Хдбаре речи не шло. Утка через 3 дня слёг в больницу из-за переутомления на фоне учёбы. И только Аркадий сделал всё, что от него требовалось, в срок в двойном объёме
Speaker A
ситуация была так себе. Билд той версии я отснял и полученную кашу слепил в трейлер для канала моей типа студии, после чего мы стали двигаться дальше.
Speaker A
Интересный факт. В трейлере не работало почти ничего. Когда я его делал, было ощущение, будто я студия, которая рассказывает о проекте, которого ещё нет, но надо сделать рекламу. Карта - это не карта, а отдельный загон. Хотбар внизу экрана - это тупо PNG, которую я
Speaker A
наклеил для красоты. Строительство - это, ну, ты просто мог поставить картинку, которая ничего не делает. А моб, который на секунду появлялся в видео, крашил игру при соприкосновении с игроком. По окончанию недели Утка вышел из проекта, так как ему требовалось
Speaker A
время и силы на восстановление. Так что в команду с ноги влетела Катя в качестве нового художника. В этом кварте, как вы уже знаете, мы начали брейнштормить.
Speaker A
Итоги бурных обсуждений были следующими. Первый из задуманных кучи миров делился на два биома: лес и пустыня. Лес населяли звери со слаймами, а в пустыню всякие ползучие гады с големами. Игрок выбирал из трёх классов: травника, охотника и кузнеца. Травник
Speaker A
специализировался на использовании ядов, и его геймплей, помимо фермерства был похож на рогу из типичного RPG. Также траворождённый мог стрелять с дротиками, а его энтгейм заключался в добыче редких ядов из жителей пустыни. Сами яды, разумеется, имели свои эффекты и далеко
Speaker A
не всегда просто вносили урон. Охотник, что логично, охотился и получал множество бафов как от уникальной мясной еды, так и от своего дома. Этот класс единственный мог спать на хорошей кровати и размещать в доме ковёр.
Speaker A
Бойёвка у него была универсальной. Он мог как и вблизи навалять саблей, так и издалека луком выстрелить. НГ требовал добычи души големов, чтобы при следующем убийстве зверя получить уже душу животного, которая давала ощутимый баф в зависимости от того, чью душу вы
Speaker A
используете. Кузнец был тяжеловесом, у него был самый большой урон, но при этом были самые медленные атаки. Помимо сбора самого обычного железа на поверхности земли, кузнец умел крафтить буры, которые умели добывать редкие ресурсы, призывая всех противников поблизости.
Speaker A
Энгейм требовал уничтожения големов, из которых кузнец создавал пыльцу, которая имела сильные пусти и краткосрочные эффекты. А что, он будет чисто пыльцу нюхать или что? Куда он эту пыльцу себя засунет? Он возьмёт пыльцуки над собой.
Speaker A
Нет. Как это принцесса такая и как вдох не также из интересного прокачка не повышала никакие цифры. В моём понимании нужно было сделать геймплей скилозависимым, а не тем, где можно вкачать всячки навыков в урон и убить одним ударом. Да, у нас были уровни
Speaker A
оружия, но нужны они скорее в качестве барьера для игрока, чтобы он не лез туда, куда пока что рано. Прокачка выносила для каждого класса пять навыков, каждый из которых имел по два типа развития. Например, обычный дротик травника наносил урон, но с прокачкой
Speaker A
мог пугать цели и таким образом уменьшать количество противников, что очень полезно для тонкого алхимика.
Speaker A
Охотник получал возможность видеть следы и либо мог понимать, что это за противник, либо узнать расстояние до него. А кузнец мог есть железо. Да, просто из-за своего рода деятельности кузнец был единственным классом без особой пищи. А картина того, как игрок
Speaker A
стоит в поле и жрёт медь, нам показалась очень забавной. Тяжело, да? Когда есть нечего, [ __ ] Сложно.
Speaker A
Иди нахуй. Иди кирпичей поешь, а воть полещает, [ __ ] Камень не пережёвывается, [ __ ] Помоги.
Speaker A
Иди нахуй. Как проглотить, [ __ ] Какая у него почка. Несмотря на то, что самих навыков было в общей сложности пять на каждый класс, активировать можно было только три. Я могу ещё долго рассказывать про то, каких боссов мы придумали, какие
Speaker A
постройки были нарисованы и какие крафты для всего этого требовались. Но боюсь, столько времени у нас нет. И да, если вам показалось, что общая суть сильно так напоминает Do Starf, то нет, это чистое совпадение. Как минимум я на тот
Speaker A
момент ни разу в Дон Starf не играл. По окончанию выдумывания всякого разного настало время переходить к реализации.
Speaker A
На мне всё также висела карта, и я перетащил на себя дальнейшую работу над интерфейсом. Ваня же получил игрока и создание противников, в то время как Аркаш с Катей рисовали всё подряд. В первое время всё шло хорошо. Проект Роус
Speaker A
обрастал концептами, наработками и, как мне казалось тогда, механиками. Ну а когда удалось перестроить генерацию на бесконечную отрисовку, настроение в команде ощутимо поднялось. Дело в том, что изменения карты были визуальными, и от того ощущалась прогрессия, которой в действительности почти не было. Шло
Speaker A
время, карта росла и расширялась, пока до меня наконец не дошло. Пора делать что-то ещё. Держу в курсе, на тот момент сначала разработки прошло добрых 2 месяца. Только тогда я стал работать над интерфейсом, который Ваня сделать то ли не смог, то ли не успел. UI - это штука,
Speaker A
про которую можно интересно рассказать. Про неё, возможно, интересно слушать, но её вообще не интересно прописывать.
Speaker A
Например, вы знали, что предмет в инвентаре и в игре - это разные предметы? Типа, я долгое время думал, что это просто тот же айтем, который перемещают в другое место, и всё.
Speaker A
Оказывается предмет который подбирается с земли, вы видите в первый и последний раз. Когда нажимается кнопка подбора, условный меч удаляется с карты, а в инвентаре появляется его дельгангер, объект без свойств, который просто копирует название с описанием, а затем натягивает на себя модельку или спрайт
Speaker A
изначального предмета. Когда же вы берёте этот меч в руки, отправляется ссылка, основываясь на которой в руку персонажа добавляется уже полноценная модель меча со всеми свойствами. И вот насколько это необычно для рядового Нормиса, настолько же уныло всё это создавать. однообразные менюшки, баги,
Speaker A
которые надо выискивать с огромным количеством плей-тестов и прочая муть. Причём кода там так-то немало. Если меня кто-то спросит, что было самой скучной частью разработки, и я без промедления назову интерфейс. В один из дней нудного кодинга инвентаря, как гром среди ясного
Speaker A
неба появился GD 4. Что было дальше, вы знаете, но вот что произошло после, не очень. Когда стало понятно, что игру на этом движке оптимизировать не выйдет, как минимум в ближайшие пару месяцев, и я вернулся на тройку. Ощущения были
Speaker A
незабываемые. Я чувствовал себя рыцарем, проигравшим ожесточённую изнурительную дуэль. Но время на сопле не было.
Speaker A
Приближалось лето, во время которого были расширены и улучшены все механики, разработанные до этого. Сперва с новым опытом я улучшил оптимизацию, затем вернулся к инвентарю, над которым не работал всё время, что сидел на четвёртой версии движка. После я сделал
Speaker A
меню компаса. Тут можно было задавать координаты и сохранять текущее местоположение. Но интересно не это.
Speaker A
Аркаша во время придумывания дизайна предложил интересную идею с самим компасом, который крутился бы в сторону выбранной цели. Немного пошаманив, я это реализовал. Но в конце концов было решено, что компас будет крутиться хаотично, чтобы его действия были немного более разнообразными. Я начал
Speaker A
работу над механикой строительства. Это всё ещё была заготовка, так как на тот момент постройки не были даже нарисованы, но уже можно было строить стены и пол. Ну и на сдачу Аркадий aka Релхакер закончила работу над саундтреком игры. Работа была проделана,
Speaker A
как по мне, монструозная. Под каждый биом был обычный дневной трек. Был второй под то же время, чтобы музыка не повторялась. Были треки, которые играли исключительно ночью, что отражалось на их настроении. Разумеется, были композиции, сделанные для сражений и отдельные треки для боссов. Вот,
Speaker A
например, трек для одного из босс-файтов. [музыка] А вот один из треков, написанных специально для пустынного биома. Такой спокойный и умиротворяющий.
Speaker A
[музыка] На мой взгляд, это если не шедевр, то как минимум очень качественно сделанный саундтрек для крохотной и никому неизвестной игры. Короче, как вы понимаете, работа шла полным ходом. А затем лето кончилось. Вместе с этим команду покинул Ваня. Причём покинул
Speaker A
навсегда. Вообще, если сейчас зайти в комменты под первый де влог, то там можно обнаружить три группы людей.
Speaker A
Первые посылают меня на три буквы, так как я якобы унижаю друга. Вторые посылают на три буквы Ваню, так как он нихера якобы не делает. И третьи посылают нас на считают, что мы оба молодцы. В действительности я никогда не
Speaker A
хотел, чтобы меня или Ваню ставили выше или ниже, потому насколько у кого был большой вклад в игру. В первом девлоге я старался показать, что мы оба хороши и оба часто косячим, но в итоге одни замечали только косяки Вани
Speaker A
интерпретировали их как его унижение, а другие замечали косяки Вани интерпретировали их как его реальные недостатки. Хотя, повторюсь, мы оба были нубами. Да, [ __ ] мы до сих пор ими являемся. Я тогда просрал кучу времени на мозню и потратил много часов на
Speaker A
перерисовку локации вместо геймплея. Я не сделал нормальные головоломки и кучу всего по мелочи. У меня что тогда, что сейчас не стояла цель очернить человека, так как я без него и он без меня даже в джем бы не попали. Однако реальные
Speaker A
проблемы всё-таки были. Понимаете, Ивана никогда не интересовало программированием, хоть и он учился на программиста. Мне лично кажется, что он пошёл туда же, куда и я, просто потому, что он любит играть в игры. Писать код нужно на компьютере, а это там же, где
Speaker A
он играет в игры. Значит, подходит. У нас в классе суммарно было человек сем, которые реально писали код. Они вечно были с ноутом и что-то делали, писали сайты ботов, программы и так далее. Ваня тем временем играл в Факторию. И, [ __ ]
Speaker A
это неплохо. Ему это просто всё было неинтересно, как и многим другим, которые по окончанию Шараги пошли на экономический. Ваня не писал код до нашего знакомства и в момент он делал это только если я его просил. Если бы у
Speaker A
меня стояла цель его оскорбить или унизить, можно было бы вспомнить, например, как Ваня прописывал отдельный класс, который считал количество символов в строке. Хотя Python имеет встроенную функцию для этого, а сама функция выпадает сразу при вводе запроса в поисковик. То есть тут навыки поиска
Speaker A
информации не просто отсутствовали, они были временами на минусовой. Можно было вспомнить ещё дюжину таких ситуаций, но зачем? Во все проекты, начиная с первого Джема, я всегда приглашал Ваню. И он всегда сам на это соглашался, хотя у него абсолютно не было к этому интереса.
Speaker A
Ваня всегда упорно работал на дистанции длиною в неделю. И когда этот срок растягивался, его продуктивность снижалась. Всё лето мы с ним не пересекались в реале, поэтому каждый второй вечер я писал ему, мол, как идут дела? Ответ был всегда один и тот же:
Speaker A
"Не успеваю, делал много". В чём была проблема взять с собой Note и уделять делу хотя бы 2 часа раз в пару дней, мне неизвестно. Позже выяснилось, что он эти 2 месяца, а именно столько идут летние каникулы в Чехии, Иван катался по паркам
Speaker A
развлечений, был на море и в целом упорно работал, по итогу не написав ни одной строки. В общей сложности Ваня за всё время создал только главного героя, да и тот вечно боговал и нормально не работал. Продуктивность этого человека смущала не только меня, но и всю
Speaker A
команду. И в начале учебного Ваня пошёл на мороз. Однако мы с ним не поссорились. Мы всё так же сидели на последней парте вместе, так же как и 3 года до этого были той самой пары шизанутных, на которых показывали
Speaker A
пальцем. Мы вместе учились и вместе сдавали экзамены, просиживая жопу в библиотеке по несколько часов в день.
Speaker A
Иван неплохой человек, не глупый. Он так-то был отличником. Просто ему всё это было неинтересно, ведь вместо кода можно было сгонять за пивом или на тусовку. После уходования с новой силой встал вопрос поиска новых людей. В целом я систематически у себя в
Speaker A
Discord-сервере размещал инфу о том, что, мол, ищем человеков, но что тогда, а что сейчас, ничего путного из этой затеи не выходило. Через команду прошло множество художников и крайне мало программистов. Чест слово, ребят, всех по именам и никаком не помню. Проястите,
Speaker A
что не упомянул. Художники в основном приходили недели на две, после чего по внешним причинам уходили с проекта. С программистами всё было хуже. Нашлось несколько человек, которые вроде как прошли тестовое и уже собирались что-то писать. Но каждый раз весь процесс
Speaker A
спотыкался о то, что программист, как в целом и Ваня, ничего не делает. Я прихожу с вопросом, мол, как идут дела?
Speaker A
Мне говорят: "У нас тут баг. В течение следующего получаса он со мной магическим образом решается. Я слышу новые обещания о скорой сдаче работы, и через неделю всё повторяется снова".
Speaker A
Почему-то мне кажется, что большинство этих людей, разумеется, не все приходили, потому что я ютубер. И нет, я не высокомерный. Просто по этой же причине раз в неделю мне кидают запрос в друзья, новые посетители сервера, хотя мы с ними даже в чате ни разу не
Speaker A
пересекались. В результате весь код игры на данный момент написан лично мной, но об этом чуть позже. После уходований я начал таки фиксировать разного рода данные на доске, списки крафтов, цифры и прочее. Пока Аркаш дорисовывал спрайты.
Speaker A
Катя тогда прямой работы в проекте не велан, так как на носу у неё была курсовая и последний год университета, но она с нами часто сидела, предлагала разного рода идеи и временами что-то дорисовывала и исправляла. Настроение в команде в целом было хорошее, несмотря
Speaker A
на частые ссоры, обусловленные отсутствием дисдока и тем, как я в тот момент принимал решение. У меня много смешных моментов из того времени. Вот пары из них. Ну, кнопку ты знаешь по [ __ ] поменяем, пото что это [ __ ]
Speaker A
какое-то, [ __ ] [ __ ] Она объёмная, красивая. Иди в попу. Тут у тебя ровные кинется. Тут низ вниз, [ __ ] пузо. [ __ ] свисла. Вот это вот это объём называется. Слева тоже смотри, есть объём. Ти объёмная пузы. Конечно,
Speaker A
у меня такой же 30 лет будет. Ох ес. Ох ес. Батя. Батя, [ __ ] не надо, батя.
Speaker A
Папа, не трогай писю, [ __ ] Что это за [ __ ] [ __ ] происходит, [ __ ] Угрожает постоянно. Да не, в этом что-то есть.
Speaker A
[смех] Я понял вас. [смех] Вот это звучит интересно. Зачем ты там минус рисуешь, [ __ ] Пошёл в попу.
Speaker A
Давай, приезжай. О, сейчас, сейчас. О, мо. Что ты там рисуешь, [ __ ] Захера ты стрелку делаешь? Иди, иди нафиг. Не смотри, [ __ ] не смотри на меня и мою стрелку.
Speaker A
Тут минипояснение. После очередного рабочего дня мы пошли с Аркашей в майн. Работали мы в тот день над дизайном интерфейса, а если бы точнее, над его интуитивностью, то есть над тем, чтобы игрок с ходу понимал, куда и зачем нажимать. В итоге интуитивно понятный
Speaker A
интерфейс превратился в мем. [ __ ] почему эта ебаная фраза подходит под всё? Потому что она интуитивно понятая.
Speaker A
[ __ ] фраза на все случаи жизни просто в любой непонятной ситуации. А что, интуитивно непонятно что ли?
Speaker A
Смешно. Да интуитив-то непонятно. Дрк ты это записываешь, разумеется. А что, интуитивно непонятно, что ли? Я реально как бы вопрос что-то ты что считаешь я не записываю? Я всё я всегда записываю даже в туалете. То есть у нас ты вырезаешь видос с писюнами, да, в
Speaker A
процессе. Ну не часть я заливаю, кидаю ркаш. Да. А ну простите. Что было интуитивно? Непонятно что ли? [ __ ] [ __ ] [ __ ] это вечно будет продолжаться, да?
Speaker A
Что интуитивно-то непонятно. Ну как бы это интуиктивно понятно было, если ты не понимаешь. нормальны интуитивно понятно шло время и хорошо на разработке это не сказывалось дело в том, что на нас, на меня и Катю, всё сильнее и сильнее
Speaker A
давила учёба, из-за чего работать получалось всё меньше и меньше. Следом незадолго до летарено перестал выпускать ролики на канале, чтобы больше погрузиться в разработку. Но со временем это стало морально на меня давить.
Speaker A
Хотелось вернуться и что-то сделать, но нельзя. Я ведь сказал, что вернусь, когда всё будет готово. А ничего готового не было. Из-за того, что я был единственным программистом, прогресс ощущался крайне маленьким, и всё это вместе привело к одному. Появилось
Speaker A
выгорание. Слишком много сил и времени было потрачено на игру, и слишком мало мы от неё в итоге получили. Ссоры становились чаще. Это не были прямо какие-то срачи. И вне работы мы всё также могли во что-то дружно рубиться вечерами. Но разработка уже в тот момент
Speaker A
у меня лично плотно ассоциировалась с негативом. Хоть в игре и появилась смена дня и ночи, выбор класса, а также улучшился интерфейс, вместе со всей оптимизацией в целом было уже слишком поздно. Тогда из проекта ушла Катя.
Speaker A
Формально её тоже постигло выгорание. Но по многим нашим разговорам было понятно, что дело не только в нём. На фоне учёбы она отдалилась от проекта, уделяла ему меньше времени и, как я думаю, стала чувствовать себя не в своей тарелке. В
Speaker A
один прекрасный день она скинула последние анимации, которые нужно было доделать, и ушла со всех серверов, будучи на тот момент, если что, модером.
Speaker A
Сейчас, конечно, мы уже восстановили общение, и всё можно так сказать идёт как в старые добрые времена, но тогда для меня это стало последней каплей. На постоянной основе в нашей троице я был типа капитаном, как паладин классической пачки игроков ДНД. Аркаша был тем, кто
Speaker A
вечно фигачил за десятерых, то есть, наверное, варваром. А Катя бардом, который разбавлял эту монотонную рутину.
Speaker A
Вернуться полноценно к работе после её ухода я так и не смог. Да. После ухода Кати и Без Аркаши я прописал двоих NPC, кое-как реализовал строительство и интегрировал саундтрек. Однако меня не отпускало ощущение, что я лишь пытаюсь успокоить этими действиями самого себя и
Speaker A
что мне уже плевать на саму игру. Точка невозврата была пройдена уже давно. Остаётся лишь определить, какой из вышеуказанных пунктов повлиял больше остальных. Мне хочется верить только в то, что те ребята, которые прямо сейчас работают над своей игрой мечты, обратят
Speaker A
внимание на то, что я сегодня рассказал. И, возможно, из сотен неудачных историй появится на две-три больше тех, где всё закончилось хорошо. Не знаю точно, но скорее всего на момент просмотра этого девлога на моём HIO будет размещена игра, о которой я сегодня рассказывал.
Speaker A
По сути, это даже не игра. Это демка, в которой можно бегать, строить неработающие постройки и находить разного рода баги. Выложить я её хочу просто потому, что не хочу потерять дорогой для себя проект. Поскольку это именно демка, в ней большинство вещей
Speaker A
можно сделать только через командную строку. Всё от смены громкости до спавна NPC. Прочитайте, короче, файл RриID, который будет находиться рядом с эзэшником. В нём, как и в мануале, вся необходимая информация. Также там будет находиться артбук с концептами, которые
Speaker A
не вошли в игру, с тем, что было нарисовано, но не успело дойти до реализации, как, например, оружие. Ну и дополнительно полный саундтрек игры.
Speaker A
Ссылка находится в описании. А сама так называемая игра распространяется абсолютно бесплатно. Если проделанное мною и всей командой работа показалась вам стоящей, поставьте лайк и проделайте все эти манипуляции, чтобы поддержать канал. Также у меня есть Telegram, где я делюсь с вами самыми актуальными
Speaker A
новостями. Бусти, которые в первую очередь предназначены для перезалива моих заблокированных роликов. Видео про такийского гуля лежит именно там.
Speaker A
Discord, где я очень часто зависаю лично с вами. Ну и, конечно же, второй канал, на котором я провожу стримы каждые выходные. Спасибо, что потратил на меня время. удачи.
Topics:геймджемразработка игринди игрыдизайн-документкомандная работадолгостройjustapointигровой движокпрограммированиеошибки в разработке











