- PVSM.RU - https://www.pvsm.ru -
О феномене Ludum Dare
уже есть немало материалов, статей и обсуждений. Например, тут [1], вот тут [2] или тут [3], но всё же ниже будет небольшая вводная, минимальный контекст.
Ludum Dare
— это соревнование по ускоренной разработке компьютерных игр. Основано парнем по имени Geoff Howland
и впервые было проведено в апреле 2002. Всего за пару дней вы окунаетесь в безумное приключение с неожиданным финалом. В начале у вас есть только тема (которая выбирается в канун события посредством нескольких раундов голосования из формируемого сообществом пула тем), и что у вас получится в конце — невозможно предугадать и в этом заключается интрига, азарт и одна из вещей, что заставляет людей вновь и вновь жертвовать себя на пару дней этому событию. Кстати, о жертвах. Тема минувшего, 43-го Ludum Dare
была — "Sacrifices Must Be Made". И уж тут полёт фантазии трактовать эту формулировку просто неограничен.
Сжато изложу основные правила (Compo
-режим):
самостоятельно
).48
часов.исходный код
.Вообще, есть официальный сайт [4], куда вы подаете заявку на участие и загружаете все материалы по игре, голосуете, играете в игры других участников, вообщем, получаете тот самый фан и ощущение всеобщего праздника.
В данной статье я поделюсь опытом своего участия и личным восприятием. Однако, я не буду рассказывать подробно о своем проекте, технологической стороне вопроса или каких-то трудностях участия во всеобщем соревновании на официальном сайте. Нет. Я хотел бы уделить внимание побочному аспекту мероприятия — оффлайн участие в офисе с живыми людьми, работающими рядом друг с другом в одном пространстве. Это то, что впечатлило меня и доставило мне кайф больше всего!
В нашей необъятной есть города с уже устоявшейся тусовкой, где регулярно в офисах ИТ-компаний проводится двухдневный марафон геймдева. Например, в Омске [5] очень сильное движение и уровень организации и качество проектов вызывают уважение.
В Новосибирске [6] в Академгородке тоже проводят Ludum Dare.
В Санкт-Петербурге эта культура также развивается и идёт в массы благодаря нескольким очень славным и очень инициативным ребятам.
В качестве участника я учавствую в Ludum Dare во второй раз, до этого посещал Ludum только во второй день, пробовал проекты на компьютерах команд на ярмарке игр. И во второй раз я вкусил все прелести и хлебнул все горести и должен заявить — я нисколько не жалею о потраченном времени.
Я просто постарался ощущать все, что я делаю и что происходит вокруг, в то же время пребывая конечно в нескончаемом потоке, под давлением всех дедлайнов, рисков и ожиданий. Да, да! Именно здесь почти каждый впадает в такой качественный поток, что любая картинка с котиком или NSFW
-гифка бессильна оторвать ваш разум от мыслительной деятельности. Вы на 99% фокусируетесь на проекте — getting shit done, так сказать.
Ты видишь здесь команды из нескольких человек, увлеченных одиночек, парочки закадычных друзей или просто парочки (муж и жена, парень с любимой девушкой). Все это очень интересно, очень захватывает, ты невольно с кем-то пересекаешься, иногда спрашиваешь, на какой технологии люди делают свой проект и завораживаешься возможностями движка или тем, как виртуозно этот парень за соседним столом владеет своими любимыми инструментами, своим
Итак, пробежимся по тем граблям, которые собрал я, учавствуя в Ludum Dare свой второй раз.
1876
. Столько строк кода суммарно составил мой проект к концу второго дня. Я уверен, код мог бы быть компактнее, лаконичнее и проще, если бы под все подсистемы игры я подобрал известные и понятные мне библиотеки и решения и тогда, моя скорость была бы на порядки выше, а качество — лучше.
В итоге, я потратил уйму времени, кодируя собственный велосипед для системы тайлов, определения наложения и пересечения тайлов, отрисовки этих тайлов, "умной" системы drag-n-drop-а etc. Возможно, это нельзя отнести к ошибке, скорее к отсутствию большого опыта, я просто ещё не набил руку и не расширил свой кругозор в этой области в достаточной мере.
Реализация своей идеи и участие во всеобщем голосовании на сайте — это конечно ценный и крутой опыт. Но давайте попробуем сфокусироваться на офлайн-формате Ludum-а. Итак, ряд ключевых полезностей, которые я для себя отметил.
В формате сходки ты общаешься с живыми людьми, видишь, как люди пишут код, дизайнят уровни, рисуют текстуры и сочиняют музыку. Я наблюдал художников и музыкантов, приносивших свою аппаратуру, какие-то немыслимые midi-пульты, и это очень круто. Я изредка подходил к людям и стараясь не отвлекать от процесса выяснял, на какой технологии люди делают игру или как именно они сделали какой-нибудь спецэффект или фишку.
(Одна из игр, занявших призовое место в офлайн-голосовании — Paw Of Black)
Такое событие даёт тебе силы и мотивацию — взять и засесть за свой текущий проект, взяться реализовывать будущие долгоиграющие проекты. Да просто выбивает всю лень и неуверенность. Ты впитываешь множество идей, удивляешься разным подходам и тому, как люди берутся за работу. В офисе, где побывал я, собрался народ довольно разных возрастов — студенты, школьники старших классов, взрослые мужики. Но возрастные различия тают во всеобщей эйфории и увлечённости конкурсом. Подведя итог, для меня в плане вдохновения это дало:
В масштабах большого ИТ-проекта или одного спринта дейдлайны как правило редки и при хорошей организации процессов, грамотных лидах и менеджерах не бьют сильно по ЦНС разработчиков. Однако, здесь, вы так или иначе сжаты рамками жестких неумолимо приближающихся сроков. И вот это как раз тот самый шанс проявить свой талант планирования, учета рисков, расстановки приоритетов, усидчивости и стрессоустойчивости. За два дня ( в Jam-режиме — за три) вам нужно довести свою идею до работающего и цепляющего игроков продукта с ключевой фишкой, темой, с некой графической составляющей, ясным управлением и с элементом вызова в конце концов! Иначе, в это будет просто неинтересно играть. А теперь попробуйте уместить все эти аспекты в двухдневный цикл. К концу Ludum Dare я ощущал некое подобие выгорания, когда уже не хотелось делать ничего, просто плыть по течению жизни и не прилагать лишних усилий.
Что я усвоил твердо и железно для себя по истечении двух дней Ludum-а, так это следующее простое правило:
Упрощая — упрощай.
Нужно работать над максимально упрощенным и минималистичным проектом, имеющим только одну-две базовых идеи, которые вы придумали по теме Ludum
-а. Это значит — минимальный набор функций, легкий для поддержки, тестирования, компонуемый если нужно в производные элементы, которые добавят разнообразия или улучшат вашу игру. Как раз накануне я читал статью о важности прототипирования в геймдеве [9], и она всплыла у меня в памяти, когда я уходил домой с мероприятия. Именно здесь нужно подобрать идеальный уровень абстракции и отрешения от деталей, ньюансов, ветвлений и сложных списков правил.
Ваша игра, произведённая за такой сжатый срок — суть ярчяйший пример MVP, прототипа до старта проекта, если хотите, технологической демки вашей идеи инвесторам. Можно наверное подобрать другие аналогии из смежных областей и сфер.
Если правда очень сильно ограничить себя по набору задуманного функционала и задать простоту работы и простоту взаимодействия всех функций игры — то будет очень много шансов успеть сделать игру со всеми составляющими описанными ранее — будет и фишка и уровни и графика и музыка и соревновательный элемент.
(Участники облепили ноутбук с запущенной игрой Jlim — игрой, запускаемой на той самой PICO-8)
Ещё я очень четко подметил для себя, насколько этот двухдневный (для меня — двухдневный в силу Compo-режима) марафон является хорошей и наглядной иллюстрацией того, что происходит с кодовой базой проекта, если совершать грубые ошибки разработчика.
Когда вы закладываете ошибки еще на начальном этапе, проектируя плохо расширяемые, негибкие конструкции, криво применяете паттерны или выбираете совершенно неподходящий подход или паттерн, пренебрегаете хорошими читабельными именами функций, переменных и компонентов, выделяете неинтуитивные интерфейсы. К концу первого дня мой код сильно распух и уже превращался в безформенную кашу. Ответственность и абстракции протекали буквально из "класса" в "класс" и это конечно же порождало сложно отлаживаемые баги, замедляло разработку, тестирование и в итоге полностью сорвало все мои сроки и отбросило все мои планы по внедрению фишек в какое-то утопичное нереальное будущее.
При офлайн-формате вы обычно выходите всей командой (или лично вы, если вы учавствуете один) в центр помещения и анонсируете своей проект, еще до того, как он готов. Вы представляетесь, обрисовываете свою идею, ключевые фишки, сеттинг, Lore, если угодно, описываете технологии, которые планируете применять. Также вам нужно подготовить некую афишу (участники просто рисовали маркерами на больших листах А3 плакаты с произвольным дизайном по своему вкусу, подписывая название команды, название игры, любую другую информацию, которую команда посчитала ценной). Да, это всего несколько минут, да, вы не перед аудиторией в большом спикерском зале, но всё же — чем не возможность немного попрактиковаться в ораторстве, мастерстве продажи идеи, в конце концов просто не бояться публики и её пристального внимания и давления. Здесь все дружелюбны, все шутят и поддерживают друг друга, так что все происходит в мягкой и гладкой форме, и здесь только одни плюсы, никаких минусов.
Также, в моем случае, в конце, во время ярмарки игр, предстояло снова выйти на сцену и немного поиграть в свою игру (организаторы выводили картинку на проектор, звук на колонки), так сказать провести демо с комментариями, что за игра в итоге вышла, почему вы должны её попробовать, что вам удалось, чем вы особо гордитесь, где провалились, всё опять же, в вольной форме, на несколько минут. И это ещё один небольшой треннинг ваших спикерских навыков и навыков проведения демо.
В случае, если вы подались в заявку не один, а целой командой, у вас есть дополнительное время и дополнительные ресурсы, но и ворох новых интересных вопросов и проблем. Вам нужно параллелить работу, делегировать, придерживаться общей линии, дизайна, темы и общей планки качества игры, в конце концов. Это не так то просто. Короче говоря, на лицо имеем типичный проект по разработке, только очень креативный, по разработке игры.
За моё посещение Ludum-ов в режиме оффлайн мне несколько раз довелось наблюдать драму раскола в команде, конфликты, недопонимание участниками друг друга, процессов, и все это конечно же плохо сказывалось на конечно результате. Либо человек уходил в другую команду, так как чувствовал себя более нужным в другом месте, либо проект затормаживался или срывались задуманные сроки, и тогда команда жертвовала многими кусками задуманного.
К минусам участия в таком мероприятии можно отнести:
Хотелось бы поблагодарить организаторов Питерского Ludum Dare (вы классные ребята, так держать!), компанию и их сотрудниц, выделивших офис для участия в мероприятии, организовавших весь процесс (обеспечение электричества, интернета, провизии на два дня, необходимой видео-аудиоаппаратуры, все вопросы логистики и организации, все было классно). Также выражаю благодарность создателям и ментейнерам движка Love2d, open-source сообществу этой экосистемы и своей жене.
Автор: K Z
Источник [10]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/gamedev/301650
Ссылки в тексте:
[1] тут: https://habr.com/post/319142/
[2] тут: https://habr.com/post/241381/
[3] тут: https://habr.com/post/283526/
[4] сайт: https://ldjam.com/
[5] Омске: https://vk.com/old48
[6] Новосибирске: http://incubator.academpark.com/2018/09/11/ludum-dare-43-%D0%B2-%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D0%B8%D0%B1%D0%B8%D1%80%D1%81%D0%BA%D0%B5/
[7] мозгом: http://www.braintools.ru
[8] PICO-8: https://xakep.ru/2018/03/27/pico-8/
[9] статью о важности прототипирования в геймдеве: https://habr.com/post/430276/
[10] Источник: https://habr.com/post/432590/?utm_source=habrahabr&utm_medium=rss&utm_campaign=432590
Нажмите здесь для печати.