LudumDare for dummies, или "как написать игру за два дня и не умереть".

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

Итак, для начала субъективный опыт:

Пролог

Первый настоящий компьютер я впервые увидел в 1987 году в школе, когда нас, тогда ещё второклашек, строем привели на экскурсию в кабинет информатики. Там стояли 4 свежеприобретённых школой БК-0010 c мониторами формой напоминающими башку инопланетянина из фильма «Чужой». Классная нас строго предупредила, что каждый из них стоит аж 700 рублей, и если нидай бог чтото сломается, то родителям придётся полгода копить деньги чтоб возместить убытки школе. После чего нас всех поочереди посадили поиграть в игру, где нужно было управляя пушечкой на земле расстреливать падающих с неба парашютистов. Эта двухцветная картинка за две разрешённых минуты игры настолько прочно засела в мозгу, что я несколько недель только и думал о том, что когданибудь, когда я вырасту, я обязательно куплю себе такой компьютер и поиграю в неё снова… и каждый вечер дома, засыпая у печки, тыкал пальцем в выступающие края кирпича, представляя что это кнопки, а серо-белая побелка выше -это экран.
Шли годы, после окончательного развала СССР на нас с родителями обрушилась мучительная нищета. Отцу на заводе не платили зарплату, а зарплаты матери в детском саду едва хватало чтоб расплатиться за жильё и за свет. Несколько лет подряд мы питались кухонными отходами, которые она приносила из детского сада в бидончике куда складывали то, что не доели за обедом дети, пили морковный чай из высушенной на печке морковной стружки, и мечтали о том как заживём когда всё это кончится. Про компьютер, игры и прочие радости жизни на несколько лет я просто позабыл.
В 1993 году у одного из моих одноклассников появилась приставка Денди. Это было просто эпохальное событие для всего класса. Мы ходили к нему в гости толпой и поодиночке, составляли графики кто и когда будет играть, пока его родители на работе. И мечтали как было-бы здорово добавить в игры чтонибудь своё, какуюнибудь классную «фишку», о которой глупые разработчики совсем не подумали. Через некоторое время родителям товарища надоела постоянная толпа ребятни у них дома, и они запретили ему играть на приставке во время их отсутствия. Это был просто ужас… Я начал умолять родителей чтоб мне такую купили тоже, хорошо учился, делал всю возложенную на меня домашнюю работу, колол дрова, носил воду с колонки, ну всё делал что только можно, чтоб заслужить такой царский подарок… И мне её купили… в 1994 году, на 14-летие, отец после нескольких упорных шабашек с загадочным видом принёс домой эту яркую коробку. С тех пор меня от игр было просто не оторвать. Я сидел ночами, подцепив к телевизору наушники, чтоб не мешать родителям спать, я делал домашнее задание прямо на переменах в школе, чтоб дома не тратить на это время, а побольше поиграть. В субботу по несколку раз в день бегал в ларёк на рынке чтоб поменять картридж на новую игру… Это было счастье… и длилось оно целую вечность, почти год :)
А потом случилось страшное… после тяжело перенесённой ангины, по дороге в магазин за хлебом я неудачно попал под горячую руку шпане из соседнего двора. Деньги я им отдавать не захотел, за что получил удар неизвестно чем по голове… Когда я очнулся, то мир вокруг меня изменился до неузнаваемости, всё стало бесцветным, расплывчатым, и незнакомым, я почти ослеп… Последовала череда операций в микрохирургии глаза в городе Чебоксары, за которую мои родители отдали все деньги которые копили мне на институт, долгая реабилитация, и запрет на любую деятельность приводящую к напряжению глаз… Ни о каких играх уже не могло быть и речи. К окончанию школы зрение стабилизировалось, но так и осталось на уровне -8 на оба глаза…
Потом был Сарапульский коледж радиоэлектронной промышленности, который я закончил с красным дипломом, заочная учёба в Удмуртском Государственном Институте и паралельная работа на задиозаводе имени Орджоникидзе во вторую и третью смену прогонщиком (тестировщиком) радиоэлектронной аппаратуры, чтоб было чем платить за учёбу. Вобщем, опять было совсем не до игр.

И вот однажды… в 2001 году в магазине я увидел уже давно не модную в то время приставку SegaMegadrive 2… практически даром. И меня понесло… я купил приставку, купил, а потом и просто получил бесплатно в подарок от друзей кучу давно не нужных им картриджей. Играл на обеде, играл по ночам и в выходные… ко мне снова вернулась моя детская радость.
Вот тогда то я и решил серьёзно заняться игровым программированием и написать свою игру.Только вот, для этого нужен был полноценный компьютер со свободным доступом к нему… Поднапрягшись, подкопив и пошабашив, я купил себе простенький системник с самым дешёвым монитором, и засел за изучение доступных документов по разработке игр, игровым платформам и т.д. Интернет в те времена здесь был только диал-ап, торрентов не существовало в принципе, и вся доступная информация черпалась исключительно из книжного магазина в виде книг «программирование для чайников» или «програмирование игр на Delphi». Это было здорово и интересно. Правда, как только появился компьютер, сразу появилось куча шабашек связанных с повсеместно внедрявшейся тогда 1С 7.7… я научился писать обработки под неё, ковырять конфигурации, и однажды ушёл с завода во фриланс…
Фрилансил несколько лет… и за всей этой беготнёй и писанием кода постепенно опять забыл про игры…
в 2004 году мне это надоело, и я устроился на местный Молокозавод системным администратором(с функциями программиста, как это у нас водится), постепенно прошёл вверх по карьерной лестнице до начальника ИТ отдела, но поняв что начальствовать- это не моё, ушёл в другую организацию снова системным администратором, где и работал дальше, время от времени развлекаясь написанием вирусов на ассемблере, программированием роботов на простецких микропроцессорах, рисованием сайтов и прочими мелкими радостями жизни…

А потом… в начале 2012 года я случайно наткнулся на блог Антона Карлова. Почитал, и вновь загорелся… этож надо… можно писать игры и зарабатывать на этом деньги!!! Здорово. Я написал Антону письмо, в котором объяснив свою ситуцию попросил совета «куда пойти чтоб научиться». Антон оказался отзывчивым парнем (за что ему огромное спасибо), и ответил мне приложив ссылки сюда и на аукцион FGL :)… так я начал писать игры на AS3.
Первая игра писалась больше полугода и оказалась полным ЭпикФейлом и сборищем всех мыслимых ошибок в дизайне. нгикто её не купил, так досих пор на аукционе и валяется :).
Вторую игру я написал за 5 месяцев (прогресс!!!:) ) и даже умудрился продать за 500$… хоть конечно и надеялся на тысячу :)…
Потом написал ещё парочку, прокачивая свои навыки, но они продались ещё хуже, поскольку я, в попытках сделать что то своё, начал отходить от популярного игрового формата… В моих играх нет ни апгрейдов, ни ачивок, ни прочих плюшек, которые так любят современные потребители. Я их дико не люблю добавлять в игровой процесс, и это накладывает свой след на стоимость итогового продукта.
Я всячески пытался побороть в себе эту ненависть, но тщетно… Коробит каждый раз и всё тут, и как только начинаю добавлять ачивки, сразу начисто пропадает желание доделывать игру дальше. Мерзенький такой эффектик. Но желание делать игры постоянно жжёт изнутри, и чтото с этим нужно было решать.

И вдруг… я узнал о такой замечательной штуке… LudumDare

Экспозиция

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

Конкурс проходит в двух форматах:
  1. Compo
  2. Jam

Compo — это самый хардкорный вариант — нужно, работая в одиночку, за 48 часов создать игру «с нуля» (основной код игры (движок можно брать готовый), всю графику, весь звук).
Jam — это вариант попроще, можно использовать стороннюю графику/звуки, можно работать командой, и времени даётся больше.

Как правило, те кто не уложился по времени в Compo, плавно переходят в режим Jam, и продолжают участие уже в более свободном формате.

Вообще, о правилах рассказывать отдельно смысла не вижу, их всегда можно прочитать на оффсайте, вот здесь: http://ludumdare.com/compo/rules,

Завязка

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

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

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

Собственно, тут я и прокололся в первый раз. Весь первый день конкурса я пробегал по семейным делам, в наивной глупой надежде «успеть всё завтра», и, в итоге, не успел даже половину того что планировал. Расстроился, и в джем переходить не стал, ибо «умерла, так умерла»…
На этом мой первый LD закончился, я пообещал себе планировать всё точнее на будущее, и стал ждать следующий раз.

Развитие


К следующему LudumDare (это был LD31, 30-й я пропустил по семейным причинам) я начал готовиться заранее. Тщательно отслеживал результаты голосования по темам, готовил необходимые инструменты, подготавливал площадку для размещения игры.
О подготовке площадки хочу сказать особо.

Разработку игры для конкурса можно вести на любом доступном для вас языке программирования, под любую платформу. Но учитывая ленность многих игроков, которые и будут оценивать вашу игру в итоге, самая лучшая платформа -это Web. Можно конечно и для Спектрума игру писать… но врядли кто в такую игру поиграет…
Так вот. Организаторы предлагают механизм встраивания Web игр прямо на страничке вашего конкурсного поста, но ввиду того, что максимальные размеры встраиваемого содержимого там жёстко лимитированы, рекомендую заранее подготовить у себя(у друзей) на сайте отдельную страничку для размещения вашей игры (заодно сможете её там засайтлочить и всё такое). А со странички конкурса просто сделаете на неё ссылку. Это весьма удобно, и не потребуется тратить силы во время конкурса. Плюс, сможете быстро и просто править игровые баги, которые обнаружатся в процессе тестирования её игроками(это не возбраняется).

Также я приготовил инструментарий для записи ТimeLapse процесса разработки, но уже во время конкурса заметил, что он мне только мешает (чисто психологически… не хотелось чтоб ктото видел на итоговом видео мою переписку с друзьями и родственниками, какието личные фото, которые попадались когда искал референсы и т.д.) в итоге я его включал/выключал постоянно, и мне это быстро надоело.

результатом моего участия в LD31 стала вот эта игра: Alice:nightmare
Вот её страничка на LD.
ludumdare.com/compo/ludum-dare-31/?action=preview&uid=46239

ну и скриншотик:


Оценки были такие:

место /  категория     / балл по пятибалльной шкале
#45	Graphics        4.19
#324	Overall	        3.43
#352	Audio	        3.04
#365	Innovation	3.39
#411	Mood	        3.09
#416	Theme	        3.70
#505	Fun	        3.13
#634	Humor	        2.38


т.е. более менее народу понравилась только графика, по факту 45-е место из более полутора тысяч игр, это само по себе неплохо, но в топ25 я таки не попал… печально.

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

Но как бы то ни было, я не отчаялся, принял во внимание все пожелания, и к следующему LD32 подготовился ещё тщательнее.

Темой на этот раз было "An Unconventional Weapon", тобишь — «Неконвенционное оружие»
обратившись к словарику, видим:
unconventional weapons — особые виды вооружения (ядерное, химическое и бактериологическое оружие), средства массового поражения


Хорошо… отлично! У меня какраз давно крутилась в голове одна идея на эту тему.
Идея была такова: Маленькая девочка оказывается среди разрушенного города охваченного гражданской войной. Обеим сторонам конфликта на неё попросту насрать, и девочка, не имея при себе ни какого оружия, вынуждена выживать под шквальным огнём с обеих сторон и постоянными бомбёжками с воздуха. По механике -платформер, по духу -игра на выживание.

ссылка на игру (оригинальная LD версия)
Deadly rain
Страничка игры на LD:
ludumdare.com/compo/ludum-dare-32/?action=preview&uid=46239
Скриншотик:


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

youtu.be/bVumq9HCWII

и маленькая гифка:


Для генерации звуков использовал sfxr, а фоновую мелодию быстренько наиграл на синтезаторе Casio CTK-3200, который отжал на это время у дочери :)
К сожалению, толком не успел отполировать левел-дизайн (кучу времени грохнул в рисование вертолёта), заканчивал игру уже перед самым дедлайном, но успел вовремя, и выложив итоговую версию и исходники (обязательное правило compo), довольный лёг спать.

А на утро началось самое интересное… Чтение комментариев игроков. И вот тут то я прозрел…
Яж был свято уверен, что идеально попал в тему, и графика у меня приличная, значит точно попаду как минимум в топ 25 по реализации темы игры.
Но не тут то было…

Уже второй по счёту комментарий гласит:
This game looks and feels good, but im not sure how it relates to the topic An Unconventional Weapon.

читаю дальше…
This was awesome, especially the graphics. I like how the game is super hard, I didn't get far at all but this is something I will most likely return to and try to beat. And that says a lot. Though all the weapons in here look really conventional so I'm not sure how the theme applies. Great job overall! :)
и дальше:
The game if quite good, but the weapons felt a bit conventional to me, but anyways great job on a game

Мои волосы слегка зашевелились… Неужто вертолёт поливающий девочку напалмом -это конвенционное оружие? Ведь все же знают, что напалм -зло, античеловечное и жестокое оружие…

Но после дебатов в комментариях, и в отдельных тредах форума, я понял… Большинство игроков -американские и европейские подростки. Они просто НЕ ЗНАЮТ что такое «неконвенционное оружие». Для них «неконвенционное оружие» — это енот стреляющий из задницы картошкой, но никак не напалм…
Кстати, один из наших комрадов оказался в этом плане мудрее меня, и сделал на LD32 игру про избиение мужиков резиновым членом, за что ему респект и уважуха ;) На будущее буду придерживаться того же принципа, и не стану искать глубинных смыслов (хотя хочется, но что поделать...)

Вобщем, резумируя итог по теме игры, могу сказать, что с «играми со смыслом» -это не на LD. Не та здесь аудитория :)

Вот её оценки:

место /  категория     / балл по пятибалльной шкале
#84	Graphics	4.08
#93	Mood	        3.68
#202	Audio	        3.36
#441	Overall	        3.29
#647	Innovation	2.95
#829	Fun	        2.72
#880	Humor	        2.03
#945	Theme	        2.72


Сейчас я допиливаю тихонько эту игру, и портирую на мобильники.
вот свежие скриншотики:




и видео:
t.co/l9Ro0X45Ee

Ладно. На этом лирическую часть закончу, и хочу дать несколько советов тем, кто ещё только собирается попробовать себя в этом конкурсе. Советы несколько субьективны, но это мой личный опыт, поправьте меня или дополните, если есть желание.

  • Внимательно смотрите за ходом голосования по теме конкурса, когда объявят последние 10 тем, уже примерно ясно какая из них выиграет, и можно начинать думать над сюжетом.
  • Если в вашем часовом поясе конкурс начинается в 4 утра — ну и хрен с ним не спешите читать тему, спокойно выспитесь, и утром, часов в 8 на свежую голову читайте тему и начинайте работать. Конечно есть соблазн как можно больше времени уделить разработке, но не забывайте, что спать тоже нужно! не будете спать, сгорите раньше времени.
  • Заранее продумайте и подготовьте место, куда будете выкладывать игру /исходники, сильно сэкономите время перед дедлайном
  • Не используйте новых инструментов. LD- это не повод осваивать новый движок/язык, пользуйтесь только тем, что интуитивно понятно, и стабильно работает
  • Делайте геймплей понятным, а управление логичным и интуитивным. В идеале -делать так, чтоб можно было вообще ничего не читать, но было понятно как играть
  • Если вы не музыкант, и не имеете опыта работы с программами для написания музыки, возьмите «железные» инструменты. Настучать ритм на барабанчике, или набренчать пару нот на синтезаторе может даже человек без слуха/образования, а для небольшой игрушки этого будет вполне достаточно. Не забывайте. игры хоть с какимто звуком смотрятся лучше, чем без звука совсем.
  • Не пытайтесь объять необъятное. Времени всего 48 часов, и мало просто написать рабочий прототип. Нужно чтоб он был играбельным! Поэтому игры с развитым сюжетом лучше не писать. Делайте чтонибудь быстрое-аркадное. Народ такое любит
  • На сайте LD есть раздел с инструментами для разработчиков, там есть почти всё что нужно для разработки, да и вообще просто полезных штук. Не пренебрегайте! вот ссылка: http://ludumdare.com/compo/tools
  • Заранее спланируйте эти два дня и попросите родню/друзей вам не мешать. Не надейтесь на то что они сами всё поймут. Предупредите заранее.
  • Не забывайте спать. Есть большой соблазн в первый день поработать до упора. Не стоит этого делать. Лучше выспитесь, а до упора будете работать перед дедлайном. Это неизбежно в любом случае, такчто лучше выспаться :)
  • Не сдавайтесь!

Эпилог



Вообще, LD- замечательная штука. Иногда за 48 часов можно сделать столько, что в обычных условиях обычно делается за месяц :) Так что это, можно сказать, идеальный «инструмент» для разработки прототипов. Делаете играбельный прототип на LD, а потом спокойно допиливаете его себе дальше, получая готовый продукт, который будете запускать самостоятельно (+ уже имеете небольшую базу и отзывы игроков ;))

Комментарии (7)

0
Крутой пост! Замечательный путь к играм с драматичными моментами и камбэками. Ключевая фраза всей истории «не сдавайтесь!» Удачи автору! ))
К сожалению, Ludum — это больше про получить эмоций и отдохнуть от текущих проектов. Хотя и истории вроде Titan Souls тоже случаются (хоть и гораздо реже чем хотелось бы). В любом случае прокачать скиллы помогает хорошо! А про аудиторию и игры со смыслом — тут вопрос скорее в том, чтобы смысл донести, как мне кажется.
0
Да, всё верно. Нужна чёткая линейная подача по принципу: вот игра -вот такой у неё смысл, вот такое управление, чтоб не возникало у игрока сомнений в том что он делает и зачем. Впринципе, это весьма нужный скилл для всех разработчиков (многие за собственным видением забывают про объективную картину происходящего), и LD-отличный способ его покачать на досуге ))
0
Отличный пост. Первое участие в LD напомнило мне как я впервые участвовал в оффлайновом джеме. Многое пошло кувырком.
Как увидел упоминание Сарапуле сразу оживился. Я сам оттуда родом, приятно было узнать флешера в родном городе.
0
а мне понравился «Пролог», спасибо, зацепило. Таких серьёзных травм хоть и не было, но всё остальное довольно близко.
+1
Пролог мало кого оставит равнодушным)))
0
Сильный духом человек, не сломался даже после тяжелой травмы, прошел через жизненные неурядицы и делает прекрасный игры. Про девочку вообще очень атмосферная получилась, надеюсь на мобильниках её ожидает успех. От всей души всего самого наилучшего.
0
Спасибо парни,
И да, здесь, Сарапуле много хороших людей :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.