Первый геймджем - первая игра


Я впервые поучаствовал в геймджеме, создал свою первую игру и занял 20 место.

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

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

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

Первый день разработки. В пятницу геймджем начался в 12, но собрались только вечером. Мы смогли собраться полным составом (единственный момент когда мы все сразу были) и много поговорить, но это в основном была вода и ничего конкретного так и не было готово. Единственное что мы поняли за пятницу (примерно 6-7 часов) - игра будет 2д с видом сверху, это будет детектив с разгадыванием причины смерти. 

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

Третий день разработки. В воскресенье мы продолжили рисовать всей командой потому что конкретно так не успевали. В итоге к середине дня закончили с основными асетами (по плану к этому моменту должны быил закончить с игрой и начать тестить ее на баги и доводить до идеала). Но только к середине дня основные ассеты были загружены в юнити, что должно было быть готово еще к концу второго дня. И начали клепать что-то, параллельно доделывая то чего не хватало. Что-то более конкретное тяжело сказать про этот день. Могу сказать что очень много времени было потрачено на работу с гитом, потому что многие из нас с ним вообще впервые работали, а гитом вместе с юнити вообще никто никогда не работал. И могу сказать избегайте параллельную работу 2х человек на одной сцене, потому что вы не сможете потом это смерджить и потратите еще больше времени на вытекшие из этого проекта, лучше пусть будет одна сцена(ы) у разрабов (если они еще занимаются демкой) и отдельная(ые) у дизайнеров. И еще для разработчиков: пишите tooltip'ы и комментарии чтобы дизайнеры могли сами расставить например телепорты и им не пришлось бы обращаться к вам для этого. В итоге примерно за 2 часа до конца мы поняли что еще вообще не занимались "воротами", а это очень важная часть нашей игры потому что без них в игре нельзя выиграть или проиграть, а значит это и не игра. Примерно за час был готов черновой вариант ворот и проект окончательно сломался у всех кроме меня, поэтому пришлось отвлечься от ворот и через демонстрацию настраивать диалоги и телепорты под строгим надзором сценариста и геймдизайнера. Потом по быстрому были добавлены звуки в игру, добавлено освещения и вот осталось только 10 минут до конца. Эти 10 минут были потрачены на сверх скоростное расставление декораций и билдинг игры. После отправки игры я пощел спать, а через 20 минут мне звонит сценарист и оказывается что джем продлили на 2 часа, причем в канале главного организатора никак это не анонсировали, получилось как-то не очень красиво, потому что многие как и я не рассчитывали сидеть до 2х потому что многим как и мне в понедельник в 5.30 вставать.

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

До геймджема:

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

    0.2) Если в вашей команде больше 1 человека ОБЯЗАТЕЛЬНО нужно пользоваться гитом. Советую этот гайд. И еще обязательно создайте тестовый проект и потренируйтесь пользоваться гитом чтобы за несколько часов до конца не получилось что разработчик и дизайнер не могут смерджить свои наработки.

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

Перед/вовремя геймджема:

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

    2) (первый день) Пообщаться на тему игры и ОБЯЗАТЕЛЬНО в файл записать то к чему вы пришли, потому что утром следующего дня вы уже забудете что вчера обсудили. Вообще такой файл называется дизайн-документ, подробнее про них можно узнать в моей статье на хабре (выйдет чуть позже, ссылка будет), но если джем идет меньше недели скорее всего нет смысла составлять полноценный дд, особенно если вы участвуете впервые. В файлике нужно написать общую концепцию игры, в общем изложить сюжет, и core-механики. А также провести первичное разбиение на задачи, поставление ролей всем участникам команды, и распределение задач между участниками. Также в файлик можно запихнуть концепт-арты, референсы и вообще все, что поможет после непродолжительного сна вспомнить что вы вообще хотите делать. 

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

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

Либо вы сразу начинаете делать игру параллельно с разработкой ассетов для нее. Тут могут возникнуть сложности при работе в команде, потому что гит хоть и сильная штука, но мерджить практически все коммиты вам прийдется ручками, потому что вы "потрогали" один файлик вместе с кем-то и гит уже не сможет такое объединить (подробнее в видео про гит). Больше подходит для соло разработки, максимум для дуо, если второй человек вообще не лезет/минимально лезет в юнити.

    4.1) Мы выбрали первый вариант, поэтому и распишу для него. (второй день, сборка всех ресурсов (ассетов) для игры) Необходимо составить примерный план минимум, максимум того что вам 100% пригодится, может быть пригодиться, и собрать план минимум, но так как вы обязательно что-то забудете, то прийдется доделывать это потом. После того как план минимум можно разделяться на 2 потока если достаточно ядер человек в команде.

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

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

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

    7) (третий день) Бета тест игры. Это часть также важна как и 6, потому что не очень хорошо если вам нужно отправлять игру, а в вашем финальном билде текст финального выбора (как в нашей игре) при определенных условиях вообще не отображается. А еще необходимо проверить насколько интересно вообще играть в игру, настроить всякие циферки, которые раньше вы скорее всего захардкодили (или указали в редакторе) на рандом. Потому что если окажется что только на перемещение по игре нужно тратить по 10 минут времени потому что очень маленькая скорость, или наоборот - скорость настолько большая, что невозможно попасть в какой-нибудь маленький триггер. Бетта тестом стоит заниматься всей командой, потому что большая часть участников к этому моменту должны быть свободны. И сразу составляйте список того что необходимо изменить. И когда этот список станет достаточно большим все в нем стоит поделить по какому-нибудь критерию. Например по сложности решения и важности этого. И в соответствии с ним решать проблемы. После решения некой части проблем стоит сделать новый билд и снова отдать команде на поиск ошибок. Если серьезные ошибки больше не появляются, а точнее пока они не появляются нужно заняться фиксом тех что до этого вы посчитали несущественными. На это стоит тратить всю вторую половину третьего дня. Таким образом ко времени отправки у вас будет практически идеальная игра (время которое стоит тратить на бетта-тест можно изменить в зависимости со сложностью проекта и количеством багов. Если остается например 5 часов, а игра уже не имеет серьезных багов, возможно стоит заняться добавлением еще каких-то механик, а не фиксом малозначимых багов).

    8) (третий день (после джема), конец) За несколько часов до конца (иногда можно оформлять и после отправки проекта, тогда не тратьте время разработки на это) стоит начать оформлять страничку на itch.io, не стоит тратить на это слишком много времени. Но стоит поместить хотя бы краткие инструкции если нужно делать что-то неинтуитивное. Но вам это не будет казаться не интуитивным, поэтому либо спросити у тех, кто имел косвенное отношение к разработке, например у художников что им было непонятно. Также стоит написать лор игры если он есть, чтобы привлечь внимание к игре и увеличить шанс, что человек зашедший на страничку вашей игры ее скачает.

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

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

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

P.p.s. Хочу поблагодарить свою команду за такой опыт, за опыт тимлидера, за проблемы которые появлялись передо мной и которые приходилось решать. И особенно хочу сказать спасибо сценаристу @Tortaleto и тем кто ему помог со сценарием, потому что сюжет действительно получился бомбическим и мы не просто так заняли 3е место в топе по соответствию теме. И хочу извиниться за то что не смог создать достаточно интересный геймплей в нашей игре, поэтому она получила не такие высокие оценки по остальным параметрам. И еще хочется сказать про визуал <...> (*вырезано по причине передозировке мата).

Get Soulo death

Leave a comment

Log in with itch.io to leave a comment.