alprog

Хакдей #24

Автор:

HackDay лого | Хакдей #24

  Сходил на Калининградский Хакдей — двухдневный марафон программирования (или просто хакатон). Это что-то вроде Ludum Dare, но не только по играм, а вообще.

Решение ехать.

  Всегда хотел поучаствовать в чём-то подобном. Когда я работал в HotLava, у нас были, конечно, Jam Contest'ы (и это было круто), но там на всё про всё было часов восемь. А я не был никогда бегуном на короткие дистанции: всякие Олимпиады, где нет места ни архитектуре, ни рефакторингу, ни порой даже кодстайлу — это не про меня. Я люблю какое-то время позапрягать, прежде, чем ехать.

  С другой стороны, опыт тусни с «просто IT'шниками» подсказывал, что там будет засилие web-разработчиков, которые смотрят на тебя немигающим взглядом, когда ты им распинаешься про убийцу Крайзиса. Это подтверждал и список проектов: из почти трёх десятков заявок только два были игровыми. Причём я уже успел наладить кое-какие контакты в Калининграде и поэтому смог определить, кому принадлежит один из проектов. Более того, я уже заранее знал, что он не поедет. Что касается второго, то на него была подписана куча народа, то есть у ребят явно была уже укомплектованная команда, да и вообще, своя атмосфера.

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

Сбор команды.

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

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Атмосфера мероприятия. Здесь дважды в кадре мелькают мои руки,
постановочно имитирующие бурную деятельность на камеру.

  После регистрации участников (человек восемьдесят-девяносто?) загнали в актовый зал. На представление своего проекта давали по полторы минуты. Мой проект назывался просто «Flash-игра». Сказал, что я Alprog, программист, и что мне нужны геймдизайнер и художники. Призыв сделать что-то ни сколько полезное, сколько крутое, как и ожидалось, ажиотажа тоже не вызвал. Однако, под конец был незаявленный ранее питч «Игра мечты», где опытный геймдизайнер искал флэш-программиста и художников. Разумеется, я его моментально выцепил и лёгкой рукой переименовал наши проекты во «Flash-игра мечты» (чем, кстати, сорвал аплодисменты на ближайшем чекпоинте).

  Что самое интересное, этим геймдизайнером оказался Ragnar. Он меня узнал по озвученному со сцены нику (как же я обожаю, когда это происходит!). Мы с ним даже какое-то время дружили сайтами и проектами, если можно так выразиться. Всё-таки хорошо жить в Интернете: знакомые есть во всех уголках необъятной. Вместе с ним был ещё один программист, которому нужно было кранчевать эти дни на работе, но который обещал выделить какое-то время на следующий день. Так что единственной проблемой у нас были художники. Поэтому, вооружившись плакатами «опытной команде требуются художники», мы стали кидаться на всех подряд. С горем пополам, нашли одного, но, естественно, не профильного (так что почти весь графон в игре представлял переколбашенные клипарты из Интернета).

Препродакшн.

  В 9 вечера началась работа. Мы окупировали кабинет физики с ещё двумя командами. Это проект «Uvedo.me» про подписку на частообновляющийся контент для сайтов, где её нет (крепкие хардворкеры, не чурающие закидываться ноотопами и писать всю ночь) и проект «Мама, Папа». Последние представляли собой многочисленную армию людей, находящуюся в постоянном брейншторме на тему беременности, секса, отношений и чего-то там ещё. Это должно было быть какое-то мобильное приложение для будущих родителей, но толком понять ничего было невозможно. Днём обсуждение было шумное, но зато ночью все разбегались и мы работали в тишине. Мы же, как мне кажется, выглядели, как какие-то «IT-панки», потому что всё время стебались над остальными проектами и их воодушевлённой манерой разработки:  «Сервисы для сервисов», «встретить Стартапера в тёмном переулке» и всё в таком духе.

HackDay24 - Первый день | Хакдей #24
Начало работ.

  После того, как мы расчехлили удлинители и нашли работающие розетки, стали вчетвером обсуждать концепцию. У меня был заботливо предустановленный триал Adobe Air, а у ребят сертификат разработчиков под iPad, так что решили делать пошаговую стратегию для мобилок в изометрии. Я такого рода вещи писал ещё на первых курсах (правда, без изометрии), а Ragnar, так вообще, Принцессу в доспехах геймдизайнил, так что объём работ представляли себе очень хорошо и смогли грамотно рассчитать время. Для простоты решили делать квадратное поле и передвижение по клеточкам. Однако, стрельбу мы хотели сделать вещественной. То есть выстрелы производятся прямыми линиями с каким-то разбросом и с учётом препятствий. Считается всё это дело в декартовых координатах (как будто игра с ортогональным видом сверху), но отображается в изометрии. Тут нужно было маленько покумекать над правильным выводом следа от выстрела (пришлось делить линию на много маленьких отрезков, чтобы она корректно вписывалась в сортировку спрайтов), но всё в пределах школьной математики. На сеттинг же вообще не заморачивались. Решили придумать по ходу.

FGD: Attack | Хакдей #24
Стрельба (скриншот из финальной версии).

Продакшн.

  Набирать первые строки кода я начал уже только заполночь. Думал, что писать на Флэше — это как ездить на велосипеде, но, оказывается, тут ещё нужно вспомнить в какую сторону крутить педали. Первые пару часов были перебои с Интернетом и полная паника из-за того, что у меня из под пальцев выходила какая-то каша из C#, Lua и PHP, но потом мозг перенастроился на ActionScript и машинка заработала.

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Первые часы разработки. Здесь я судорожно пытаюсь вспомнить что-то банальное (А-а-а! Как создать MovieClip?!)
и попутно в фоновом режиме отвечаю интервьюверам что-то про Интернет и кофе (третий сюжет).

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

HackDay24 - Рабочая обстановка | Хакдей #24
Соседний стол.

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

HackDay #24 - Конец второго дня | Хакдей #24
Вечер субботы.

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

FGD Grenade | Хакдей #24
Граната в действии.

Постпродакшн.

  Делать разные уровни и настраивать баланс не стали. Решили просто показать определённую последовательность ходов, демонстрирующие основные фишки. Несколько раз отрепетировали трёхминутное выступление: Ragnar говорил вводную речь и отвечал на вопросы, а я изображал и комментировал игру в режиме HotSeat с воображаемым другом (iPad и мои руки были видны на большом экране).

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

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Наша презентация.


Сама игра (кликабельно).

  Из всяких сервисов самыми интересными мне были «Uvedo.me» (о котором я говорил раньше) и ещё один сайт, подставляющий изображения корпоративного стиля в шаблон сложной сцены, где всякие визитки и документы разложены под разными углами, да ещё и с постэффектами.

  Но самое зажигательное выступление было от второй команды геймдевелоперов. Они делали игру про бобра Джастина в стиле Angry Birds и Cut The Rope, который уже успел стать локальным мемом. Их проект приберегли на последок. У них был качественный арт, но совершенно сырая демка: работали только менюшки (не с того конца начали) и из рук вон плохо настроенная физика (юнитиевская или своя — не знаю). Так что демонстрация демки превратилась в сплошное получение лулзов с того, что ничего толком не работает.

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Презентация Бобра.

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

Награждение.

  Нам дали какую-то второспенную номинацию (их было много). Что было неожиданно, учитывая, что мы были совершенно не в формате. Получили одну путёвку на четверых куда-то там в Артек (Are you kidding me? В бувальном смысле) и каждому по футболке (по традиции я схватил себе совершенно гигантского размера).

HackDay#24 - футболка | Хакдей #24
Футболка.

  Ещё более неожиданно было то, что главную номинацию за лучшую (!) техническую реализацию получил Бобёр. Нет, я ничего не имею против их проекта, артом и харизмой они его вытянули, но называть это лучшей технической реализацией… ну, я не знаю, если это так, то я Английская Королева. Всё-таки стоило переименовать номинацию хотя бы просто в «лучший проект», а то уж больно дико это смотрелось.

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

Итоги.

  Офигенный способ провести выходные. Что-то вроде рыбалки с ночёвкой, но место рыбы — код. Полезно иной раз так вкачегарить, особенно, если проекты на работе не вставляют, а личные законсервированы. Если в вашем городе будут проводить нечто подобное, настоятельно советую сходить.

#flash, #Hackday, #Калининград

27 февраля 2013 (Обновление: 22 мар 2013)

Комментарии [19]