Pull to refresh

Подготовка к Ludum Dare

Reading time 12 min
Views 2.9K

Мероприятие Ludum Dare, регулярно проводимое 2 раза в год (а чуть ранее 3 раза в год) скоро не за горами и уже сейчас, за несколько недель до старта, можно настраиваться на нужный лад, обмениваться планами и идеями на грядущий 46-ой LD (официальная дата на сайте — 18-21 апреля 2020 года, старт в 4-00 МСК). В данной статье я хотел бы поделиться своими соображениями о том, чем можно занять эти пару недель, чтобы выйти на джем супер мотивированным, продуктивным и заряженным идеями.


КДПВ (подготовка к джему)


Disclaimer про книгу ''The Game Jam Survival Guide''

Возможно, кто-то скажет, что всё сказанное здесь и так описано и разжёвано в данной книге, в части про подготовку к джему. Отчасти, это так. Я читал эту книгу, в ней есть ценные рекомендации и советы. Но всё же заверю, что я не пытался пересказать её, сделать выжимку или конспект. Это именно мой опыт и соображения, оформленные в статью, приправленные историями и деталями от себя. Это то, как я действовал и планирую действовать при подготовке к Ludum Dare джемам.


А нужно ли вообще готовиться?


Решать конечно же вам. В первую очередь, любой Game Jam — это веселый яркий опыт. Это такой сугубо хардкорный и гиковский способ оттяга, где вы веселитесь, общаетесь, обмениваетесь своими играми, играете и оцениваете другие работы. То есть это должно приносить по большей мере веселье и хорошие эмоции. Поэтому сильно перенапрягаться или тратить все силы чтобы перегореть от переутомления и стресса конечно же не стоит. Короче, главное конечно же победа, а не участие. Со временем (и многие завсегдатаи джема так делают) конечно можно превратить это в некий спорт и азарт, ставив себе маленькие цели. Например, многие делятся своей статистикой прогресса по каждой из категорий оценки игры (Fun, Innovation, Theme, Graphics, Audio, Humor, Mood, Overall) и ставят себе цели улучушить какой-нибудь из показателей в новом LD.


Как готовиться к Ludum Dare


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


Техническая


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


Написание типовых игровых механик


Как только будет объявлена тема, вы конечно же начнете брейнштормить и вынашивать идею будущего игрового шедевра. Так или иначе он будет тяготеть к какой-то игровой механике, которую отбросив тонкости и спецэффекты можно с большой точностью соотнести с каким-то уже известным типом геймплея. Например, 2D-платформер (классика же!), тир, point-and-click квест, шутер, top-down шутер, пошаговая головоломка, RTS и так далее.


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


Изучение и применение популярных паттернов, приемов и эффектов


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


Ниже приведу парочку видео на эту тему, чтобы больше пояснить, что я имею в виду:


The Art of Screenshake — Jan Willem Nijman — Vlambeer. Здесь поэтапно в виде живого демо на сцене на игру навешиваются те самые мелочи (эффекты отзывчивости на ваши действия в игре), которые придают сок ("juice") игре, живость, ощущение значимости всех ваших действий и действий происходящих в мире игры. Camera-shake, отбрасывание персонажа при мощном выстреле, мерцание, отбрасывание в сторону и небольшое замедление анимации поверженного врага и еще много-много приемов, которые можно примерить на свою будущую игру.



Game Feel: Why Your Death Animation Sucks. Доклад вдохновленный предыдущим, о чем спикер прямо говорит со сцены, и здесь также в виде живого и смешного демо в игру вводятся мелкие видимые улучшения, которые придают тот самый наркотический эффект желания играть раунд за раундом.



Изучить или улучшить навыки в выбранном движке


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


Каждые движки уникальны в своей философии (минимализм в предоставляемой функциональности, упор на визуальное программирование, тотальное OOP/ECS/Functional Paradigm и так далее), лучший и быстрый способ написания хорошей работающей безбажной игры — это написание по возможноости в рамках парадигм, продвигаемых авторами движка, так у вас будет меньше неочевидности в поведении функций, объектов и систем, поддержка со стороны сообщества (подскажут и покажут, что вы упустили), безболезненная работа с движком (меньше велосипедов, максимальное переиспользование готового, стабильные и проверенные решения, готовые к быстрой правке, расширению, кастомизации, и если нужно, выкидыванию).


В особых случаях, кстати, может оказаться, что парадигма и подходы движка вам очень претят и только мешают продуктивности. В таком случае, насколько позволяет движок (больше в плане скриптинга и кастомизации плагинами), вы можете обнаружить совсем иной способ ведения проекта, который подходит вам наилучшим образом. Лично я как раз немного отошёл от официальных туториалов по проектированию GUI в выбранном мной движке, а также не применяю встроенные в движок Tilesets, а строю все на индивидуальных Game Objects, что даёт мне полную гибкость, убирая текущие ограничения Tilesets.


Сделать заготовки проектов с базовой структурой


Скелет (или лучше будет сказать, каркас) проекта игры с организованной понятной и удобной вам и вашей команде (если идете не соло) системой папок, именований файлов, компонентов и так далее.
Можно опубликовать исходный код со свободной лицензией и краткой инструкцией по использованию (читай, документация), выложить код на GitHub/Bitbucket и поделиться заготовкой с сообществом на оф. сайте (ldjam.com), в Твиттере или иной соц. сети, как вариант в крупном Discord-канале LD тусовки.


Мой скелет-заготовка будущей игры


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


Скорее всего вам понадобится система организации переходов между экранами, очистки и выделения ресурсов на каждом экране, базовый граф переходов игрового состояния: start, game, game over, victory, next level, pause, menu. Пригодится и обработка некоего минимального набора нажатий клавиш, мыши (джойстика), каркас обработчиков. Возможно, в большинстве игр вы прибегните к способу перемещения персонажа в двух измерениях, как в top-down играх или beat-em up бродилках.


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


Творческая


Вдохновиться


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


Здесь я мог бы выделить две категории видео:


  • работы YouTube-ров (интересные идеи, заряд мотивации!)
  • игры, обзоры на игры с LD

Из них вы можете почерпнуть идеи, заполнить голову пищей для ума. Иной раз, я просто придерживаю отвисшую челюсть и кручу в голове лишь одну мысль: "Как, чёрт возьми, он додумался до такой гениальной концепции на такую казалось бы бесперспективную тему Ludum Dare?!?!". Можно увидеть, чего люди добиваются в короткий срок джема, это просто шедеврально.


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


В правом верхнем углу можно увидеть автора данного YouTube-канала


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


Отдельно стоит упомянуть практику публикования людьми и коллективами пост-мортемов. Это эдакий разбор полётов, рассказывающий, что пошло хорошо и плохо, некий анализ, ретроспектива произошедшего. Кто-то пишет развернутые статьи в блоги, кто-то оформляет нечто вроде дневника. Мне очень нравится товарищ Pixel Prophecy (настоящее имя — Phil Strahl). Я думаю, он широко известен в Ludum Dare сообществе. То, что выходит на его YouTube канале точно достойно похвал и большого количества просмотров и поклонников. Товарищ сам является профессиональным монтажером, умеет в видео-, спецэффекты, имеет музыкальный талант. Он очень креативно и страстно подходит к делу подготовки ролика с пост-мортемов о разработке своих игр на Ludum Dare.



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


Поработать над креативностью, художественными навыками


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


Рискну здесь быть преданным анафеме настоящими художниками, но приведу книжку с несколько упрощенными и наивными теоретическими трактовками — "Марк Кистлер. Вы сможете рисовать через 30 дней". Это такой очень легкий quick starting guide в мир рисования, что-то наподобие Hello World или Fizz Buzz упражнений для новичков в мире программирования. Эта книга лишь небольшой толчок к погружению в эту сложную тему.


Организационная


Обеспечить себе возможность участия в нужные даты


Вы должны убедиться, что у вас будет свободное выделенное время и удобное место для участия в джеме. У многих из нас есть обязательства, родные и друзья. Ваш супруг скорее всего будет мягко говоря огорчен, внезапно узнав, что Ludum Dare отнимает вас у него на как минимум все выходные (для участия в Jam предоставляется 72 часа, это трое суток). Лучше сразу обговорить всё это заранее, поставив всех в известность, решив все неотложные или ближайшие дела, перенести встречи или иные события. Проще говоря, это вопрос приоритетов и здесь только вы решаете, что для вас важнее. Возможно, лучшим решением будет не учавствовать в ближайшем Ludum Dare, если ваш график плотно забит или голова занята проблемами серьезного плана.


Сколотить команду


Данный вопрос может быть для вас в принципе не актуален в случае, если вы твердо решили учавствовать соло (или Compo, в терминологии Ludum Dare). Если же вы выбрали формат джема (Jam), то там более расслабленные условия в виде 72 часов вместо 48 для соло-участия, а также ваша команда неограничена в размере. Конечно же не стоит навино полагать, что тот или иной способ даёт вам однозначное преимущество. Оба способа со своими плюсами и минусами. В команде вы можете распределить роли и сконцентрироваться на своей части работы очень глубоко и с большим КПД, однако вы должны учитывать издержки в виде синхронизации, коммуникации, объединения результатов работы членов команды в единую согласованную игру.


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


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


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


История про двух художников

Несколько джемов я учавствовал соло. Я ходил на оффлайновые тусовки и там не особо чего-то добивался. Я просто отрывался и ловил кайф от общения и соревновательного духа. Но в надвигающийся 45-ый Ludum Dare я решил рискнуть и попробовать пойти командой, взяв в команду художника, так как сам я программист, и мои арт навыки оставляют желать лучшего. Таким образом мы бы поделили свои сферы ответственности, что в результате очень хорошо бы сказалось на игре.


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


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


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


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


Собрать и подготовить все нужные технические средства


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


  • Интернет. Будет очень хорошо, если у вас будет план Б в виде например рабочего мобильного интернета (оплачен тариф на месяц участия в джеме, траффик ещё не высажен в ноль, скорость приемлемая, устройство способно раздавать интернет вашему ПК или лэптопу)
  • Рабочий ПК/лэптоп. Опять же можно, перепаранойить и обеспечить себе резервный ПК, с предустановленной средой, нужным софтом и прочими заготовками.
  • Собственно, подготовленная и проверенная за несколько дней среда. Редактор движка запускается и не просит обновлений, стабилен как чёрт, покорен как пёс. Шиндовс накачал все апдейты мира и успокоился, либо у вас Linux/Mac и там всё тоже ок.
  • Блокнот, ручки, карандаши. Для пометок, записей, прототипирования. Очень рекомендовал бы не пренебрегать такими предметами, так как это помогает быстро и очень гибко (бумага всё стерпит и скомпилирует :) ) склепать прототип, показать его членам команды.

Подготовить список сайтов, сервисов, баз ассетов


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


Пример онлайн-сервиса по подбору цветовых палитр


Ценными источниками информации по различным утилитам и сервисам является как ни странно само сообщество. За пару недель до начала джема активность на портале возрастает и набирает обороты вплоть до старта события. Я регулярно (раз в 1-2 дня) захожу на сайт в такие периоды, там всплывают посты, где люди делятся своими находками: MIDI-редактор для написания музыки, собственно написсанные маленькие полезные утилитки с разной функциональностью, кто-то публикует google-доки, где заботливо по категориям проведены ссылки на полезные инструменты с кратким комментарием автора подборки.


В канун события, сайт гейм джема оживает


И конечно же еще один мощный источник со списком полезного софта является GitHub. Ключевыми словами для поиска будут "Awesome Smth". Например, Awesome Love2d — курируемый лист полезняшек для адептов движка Love2D, Awesome Gamedev, https://github.com/Siilwyn/awesome-pixel-art etc.


Итого


Кратко идеальный план подготовки можно описать так:


  1. Подготовьте инструменты
  2. Сформируйте команду мечты (если идёте не соло)
  3. Сделайте примитивные заготовки проектов
  4. Зарядитесь идеями и мотивацией на YouTube и сайте Ludum Dare
  5. Немного попрактикуйтесь в создании игры (написание кода, создание спрайтов, музыки, анимаций)

Ну и конечно же приготовьтесь получать удовольствие и ловить кайф от участия.

Tags:
Hubs:
+7
Comments 0
Comments Leave a comment

Articles