Ludum Dare 23: всё.

LDlogo.png

Как некоторые из вас, наверное, уже знают, недавно состоялся очередной Ludum Dare - конкурс быстрой разработки игр. В этот раз событие получилось несколько более примечательным по двум причинам:

  • Ludum Dare 10 лет.
  • Впервые за историю конкурса преодолён рубеж в 1000 игр. Причём с заметным отрывом - итоговое количество 1402 игры.

На этот раз избранной темой (причём с двукратным, если мне не изменяет память, отрывом) стала Tiny World.

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

ДОБАВЛЕНО: 2 игры, 2 пост-мортема.

Для меня всё началось тогда, когда мой большой товарищ, магистр шума и виньеток Nuprator прислал мне ссылку на пост Ludum Deals, в котором предлагался трёхмесячный триал на Юнити. Так как мой триал заканчивался буквально в тот же день, ссылка пришлась ну очень кстати)
Затем на какое-то время я про лудум забыл, а когда вспомнил - оставалось 18 часов до старта.

Всё произошедшее далее я помню сбивчиво, не полностью; воспоминания предстают передо мной как в тумане. Потому ну их нафиг, ведь речь не только обо мне.

Что я помню совершенно отчётливо - так это как я предложил разогреться перед лудумом в джаббер-конференции gamin@conference.jabber.ru. Путём поочерёдного выкидывания неугодных нам тем мы избрали Time travel - очень неудобную тему для двух-с-сорока-пятью-минутами-часового разогрева!) Несколько гаминцев подхватили идею, все инструменты были запущены, мозги подсушены, а пальцы размяты. Выхлоп - два прототипа из пяти участников.

Но не разогревами едиными полон Лудум! И в последующие "2 и ещё один" дня мы сотворили это:

trq - Download Incomplete

trq.png

Маленькая игра про отважного, предположительно в меру упитанного, кузена Карлсона, собирающего светящиеся мерным голубым светом треугольники. Будучи весьма дальним (кто знает, может быть даже из другой галактики!) родственником, главный герой пользуется технологичным аналогом пропеллера - джет-паком.

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

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

На следующий день начались мучения с созданием уровней. Идея заключалась в том, чтобы куски уровня подгружались постепенно по ходу игры в разных местах, постепенно заполняя игровой мир. Обычно в качестве редактора уровней я использую DAME editor, мощное, богатое возможностями решение, в котором мою фичу реализовать было бы проще всего, путем сохранения отдельных групп уровня в одном XML. Но по причине медленной производительности ДЭЙМа я изначально решил использовать OGMO, более легкий и шустрый, но и более слабый по возможностям редактор. Это решение в итоге обошлось мне большей частью дня, потраченной на решение задачи. После нескольких неудачных попыток, я пришел к довольно грубому и неудобному, но действенному методу сохранения скриншотов отдельных уровней и сведения их потом в одном изображении, с целью определения их координат "вручную".

Следующий день ушел на создание большего количества уровней, введение дополнительных объектов а также создание звуков и музыки. И опять работа над ассетами оказалась самой легкой и непринужденной. Для звуков использовался великий и ужасный Bfxr, музыка писалась в LMMS.

К сожалению, в итоге не обошлось без мелких багов (правда, вроде бы никто их не заметил, они были весьма некритическими), также финальная заставка рисовалась в последние минуты (буквально "тяп-ляп", увидите — поймете), за что уже получил несколько неодобрительных отзывов на Newgrounds, куда выкладывал игру.

Taugeshtu - GRIDiots

Gridiots9.jpg

Ещё до объявления окончательной темы я проследил основную тенденцию по темам-победителям промежуточных этапов голосования и решил, что все хотят сделать майнкрафт. Ну правда, темы типа Exploration, Build it then use it весьма способствовали такому мнению! Поэтому я решил придумать свой концепт майнкрафта, без блэкджека и шлюх. Получилось так себе :D Но лучше, чем в прошлый раз. Опять многое не успел по причине больших и толстых планов, но в целом сделать песочницу я смог.

С концептом никаких проблем у меня не было - как уже было сказано, он сформировался ещё до начала конкурса. А вот с воплощением - были!

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

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

Неожиданно лёгким стал процесс рандомизации ландшафта и процедурная анимация и ИИ "гридиотов". Я с большим удовольствием открыл для себя функции Mathf.PingPong и Mathf.PerlinNoise в юнити :D А ИИ построил, подобно майнкрафту, на вероятностном характере событий.

Nuprahtor - Real war

nupr.jpg

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

Выбранная тема оказалась для меня приятным сюрпризом. Я составил заранее концепты для One Room и Build It Then Use It, но я подозревал, что эти темы не будут выбраны, я считал, тема будет банальной и скучной. Однако этого не произошло.
Практически за 20 минут раздумий был придуман основной костяк концепта, который был вдохновлен мультиком о Щелкунчике (там было очень свирепая игрушечная битва!) и уровнем Junkyard из Legend Of Mana (там были очень трогательные монологи воинов-игрушек, которые уже не могли двигаться и были вынуждены сотни лет неподвижно лежать на поле битвы, которая превратилась в свалку игрушек).
Сначала я нарисовал текстуру с 6 буквами английского алфавита, а затем подумал, почему бы не сделать их русскими? После этого я сделал текстуры со всеми буквами русского алфавита, после чего принялся собирать из кубиков послания. Их довольно много размещено на протяжении всей игры. Я понимаю, что не знающий русского языка не поймет, что на этих кубиках написано осмысленное слово, но по другому я уже не мог сделать.
Разноцветных воинов быстро собрал в 3d max'е, они сделаны под впечатлением от упоминаемого мультика про Щелкунчика. Кони, которые в игре отображаются шахматными конями, сделаны под впечатлением от все той же Legend Of Mana, где подобные враги были расбросаны по всему миру.
Затем я поискал в своей коллекции звуков (которые взяты с freesound.org, что я опять таки забыл упомянуть и отчего мне стыдно) я выбрал несколько подходящих, затем отредактировал их и собрал в юнити в единую звуковую текстуру. Это звуки дальних выстрелов и взрывов вперемешку с низкочастотным гулом. Шум и потрескивания также были включену в звуковую палитру.
Марш был быстро написан в FL Studio с помощью FPC и пресета Polka. Надеюсь, у меня получилось передать игру военного барабана.
Весь текст был написан на русском языке, после чего мой хороший товарищ The Bad перевел их на английский, да не просто перевел, а очень отлично перевел, поправив мой текст, где это надо было и добавив различные красивости английского языка.
Мне кажется я успел сделать все, что планировал в самом начале, за исключением некоторых интересностей (черные деревья, на которых растут кубы, виселицы, чертики из коробки).
Это был хороший Ludum Dare. С нетерпением жду следующего. 

korri - FlyAway!

korri.PNG

Как признаётся сам автор - вышло плохо. Но и не сказать чтобы катастрофически плохо - сделать Lunar Lander, в котором не нужно приземляться, в столь ограниченное количество времени - тоже достижение! Тем более, что игра снабжена озвучкой.

keenblaze - Mirror Rays

keen.png

Старый-добрый платформер, да? А вот и нет. Ну, точнее не совсем. Игрушка вышла достаточно качественная, как с точки зрения арта (улыбающийся джентльмен в цилиндре бесподобен), так и с точки зрения механики, которая предлагает нам решить несколько паззлов. Я не смог :D А это точно показатель хорошего паззла.

О других играх других гаминцев сообщений не поступало.

UPD: добавлены игры epicSpeedTurtle и HD408

epicSpeedTurtle - Cage

epicSpeedTurtle.jpg

Эпически быстрая черепашка подготовила симулятор мыши. Да-да, симулятор мыши! Можно... Нет, нужно бегать в колесе, есть и спать. К сожалению, мне не хватило терпения, чтобы его пройти. Но жырррные пиксели мыши меня заставили умиляться.

HD408 - Equanimity

HD408.PNG

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