15 Февраля мы объявили о проведении первого конкурса EVE Online API Challenge; приём заявок для участия в нём заканчивался 4 марта. С тех самых пор мы усердно трудились, облачившись в лучшие судебные мантии. Мы были невероятно счастливы увидеть целых 42 (мало кто знает, что это число в своё время было использовано для генерации Нового Эдема) заявки на участие в конкурсе.
Как мы оценивали работы
В первую очередь нам необходимо было ответить все участвующие в конкурсе работы дабы удостовериться, что мы смотрим на код, который не изменялся после крайнего срока. Когда все репозитории ответвлены и добавлены на https://github.com/eve-online-api-challenge, можно довольно просто просмотреть опубликованный код вместе со всеми, кто занимался судейством. После этого мы тщательно изучили все заявки и исключили из конкурса не проходившие по правилам (например, в силу отсутствия лицензии MIT или в силу существования до начала конкурса). К счастью (или к сожалению, если вы были среди нас и проверяли все работы), после этой процедуры конкурс покинуло лишь несколько заявок. После этого мы взяли оставшиеся работы и приступили к более подробной оценке, что среди прочего подразумевало запуск каждой работы на наших машинах. После первого такого просмотра работ мы смогли их приблизительно оценить и ранжировать; это сократило список заявок, ожидающих внимательного рассмотрения, до 15 штук. И наконец, мы просто собрались все вместе и долго и тщательно обсуждали оставшиеся заявки, пока не сошлись на трёх.
Победители
Дабы не тянуть кота за хвост, вот вам сразу список победителей вместе с их наградами.
Первое место
Название: Pathfinder
Создатель: Valtyr Farshield
Ссылка: https://github.com/farshield/pathfinder
Описание: Pathfinder — это настольное приложение, которое позволяет находить кратчайший путь между планетными системами (включая системы w-пространства) с использованием данных Eve SDE и сторонних инструментов для поиска маршрутов через червоточины. Если хотите посмотреть на работу программы без её получения, Valtyr как раз подготовил замечательный видеоролик с демонстрацией на YouTube:
Комментарии:
- CCP FoxFour: Вот что на самом деле круто, когда речь заходит об этом проекте: это не только инструмент, который по описанию мог бы меня заинтересовать. Нет, я и в самом деле активно пользовался им последние несколько недель, это действительно до блеска отполированная программа, которая нацелена на решение одной конкретной проблемы, с чем она очень хорошо и справляется.
- CCP Bartender: Я был удивлён, насколько сосредоточен и завершён был этот проект. Valtyr определённо устоял перед искушением перегрузить программу ненужным функционалом и получившийся в результате продукт решает одну задачу, но делает это очень хорошо без метания из стороны в сторону.
- CCP SnowedIn: Мне чертовски понравилась интеграция этого приложения. Очень прозрачно и интуитивно понятно выполняет одну функцию… замечательная работа.
Призы:
- Блейд-сервер классического «Транквилити»
- Набор шаблонов для перекраски Легиона Морду линейки «Парад» (для «Баргеста», «Ортруса» и «Гармура»)
- 5000 аурума
- 5 плексов
Второе место
Название: Time for EVE
Создатель: Batian Styx
Ссылка: https://github.com/batstyx/time-for-eve
Описание: Вотчфейс для Pebble Watch, который использует CREST чтобы отображать необходимую информацию.
Комментарии:
- CCP Bartender: В этом проекте на удивление много различных приятных мелочей. «Евовская» буква E на заднем плане очень в тему, а аккуратная настройка приоритета времени «Евы» над местным временем заставляет меня прыгать от радости!
- CCP Tellus: В кои-то веки Pebble пригодится! \o/
- CCP FoxFour: Просто и по сути отображает полезную информацию.
Призы:
- Шаблон покраски для корабля сверхбольшого тоннажа на выбор победителя.
- 3000 аурума
- 1 плекс
- Подписанная копия EVE Universe: The Art of New Eden
Третье место
Название: EVE Fast Fitting Assessment
Создатель: Rischwa Amatin
Ссылка: https://github.com/rischwa/eve-fast-fitting-assessment
Описание: EVE Fast Fitting Assessment — настольное приложение для Windows, позволяющее быстро получать доступ к характеристикам оснащения кораблей из отчёта о победе.
Комментарии:
- CCP Bartender: Мне безумно нравится то, насколько полезным на практике оказывается этот инструмент. Мне кажется, что я вполне мог бы пользоваться им когда шатаюсь по «лоу-секам». Также я думаю, что это приложение может значительно помочь с понижением порога вхождения для тех начинающих любителей PvP, которые решает его использовать.
- CCP FoxFour: У меня всё очень плохо с запоминанием дистанций работы орудий с различными типами зарядов, так что для меня одним из главных преимуществ этого приложения является возможность быстро прикинуть как мне эффективнее всего сражаться с целью на тех или иных дистанциях.
Призы:
- Набор шаблонов покраски Сестёр-служительниц «Евы» - Приют странников (для «Нестора», «Стратиоса», «Астеро»)
- 3000 аурума
- Подписанная копия EVE Universe: The Art of New Eden
Приз симпатий CCP Seagull
Название: EVE Online Contact Manager
Создатель: Julian Aldurald
Ссылка: https://github.com/Fijo/evecontacts
Комментарии:
- CCP Seagull: Управление контактами было одним из первых API с возможностью как чтения, так и записи, над которым мы несколько лет назад работали параллельно с созданием CREST. Теперь мы можем выпустить эти API на «Транквилити» и наблюдать за возникновением и распространением хорошо выглядящих и функционально богатых утилит управления контактами, таких как EVE Online Contact Manager; теперь мне выпадает честь констатировать ещё одну маленькую победу на пути к достижению нашего видения CREST. Именно поэтому это приложение получает мой специальный приз: написанное исключительно сторонним разработчиком приложение с полноценным использованием стека технологий аутентификации и CREST (а не нашей командой на тестовой инфраструктуре, что было бы невозможно использовать где-то за пределами CCP), для меня имеет особое значение, ведь я была у истоков разработки CREST. Мои поздравления Julian Aldurald за хорошо исполненную реализацию потенциала, заложенного нами в API управления контактами!
Призы:
- 3000 аурума
- Подписанная копия EVE Universe: The Art of New Eden
Почетные упоминания
- MarketBot: Господи, как же мы любим и одновременно ненавидим разработчика этого проекта. Мы любим его за создание великолепного приложения, поселившегося у многих из нас на смартфонах, и ненавидим, потому что нам пришлось снять его с конкурса за отсутствие лицензии MIT. Если на вашем смартфоне установлен Android, мы очень рекомендуем ознакомиться с MarketBot вот тут.
- Reset: Это приложение будет крайне полезно тем, кто хочет летать в флотах с политикой NPSI (прим. переводчика: Not Purple? Shoot It!, политика агрессии, которая подразумевает атаку всех, кто не состоит во флоте, независимо от уровня отношений членов флота). Оно автоматически подхватывает список альянсовых и корпоративных контактов и переопределяет их нейтральными личными контактами пилота, так что вы можете летать в NPSI-флоте и стрелять по «плюсам»!. Когда закончите вылет, сайт вернёт ваши контакты на прежнее место, а у вас будет надежда, что дипломаты вашей корпорации и альянса наконец-то согласятся: стрелять по «плюсам» в Новом Эдеме - это норма!
- Dynamic Exploration Route Planner (DERP): Это была замечательная маленькая заявка. Она специализируется на конкретной задаче и предоставляет минимально необходимый и отточенный инструмент для её решения. Точно можно сказать, что этой программой будут активно пользоваться несколько человек в нашем офисе. Это первый проект, который автор показал публике; им определённо стоит гордиться.
- EVE Online Atlas: Atlas использует очаровательную технологию, основанную на разборе логов чата: благодаря ей пользователи могут управлять информационной панелью браузера посредством команд в игровых чатах «Евы». Эта штука наделала много шума в офисе и определённо заслуживает награду «самый классный хак»!
- pizza-auth-3: В этой заявке запланированная возможность реализуется до её выпуска и вне клиента. В данном случае речь о системе группирования контактов. Принципиально в этом ничего удивительного нет, но здесь API используется также и для определения местоположения, что обеспечивает уведомления, основанные на местоположении и группе контактов. Кроме того, применена LDAP-аутентификация для использования с другими альянсовыми сервисами. Это довольно высокотехнологичная заявка, которая будет полезна тем, кто поддерживает информационную инфраструктуру альянса — и если вы именно из таких людей, это приложение поможет вам очень прочно объединить ваши альянсовые сервисы.
- EVE Fitting Bot: Бывало такое, что в вашем внеигровом чате корпорации или альянса кто-то просил дать готовую оснастку корабля? Если бы вы были в игре, можно было бы просто дать ссылку на ту самую идеальную сохранённую оснастку. А если вы не в игре? Если вы используете Discourse, этот бот вам очень пригодится. Он позволяет быстро и просто получить список оснасток и перекинуть их во внешний чат в формате EFT.
- OSXNeocom: Neocom - замечательная маленькая программка для OSX, которая позволяет организовывать планы освоения навыков, просматривать планетарные колонии, сверять цены в игровой торговой системе и оснащать корабли. Инструмент оснащения интуитивно понятно разделяет модули по типу разъёма, а использование CREST для хранения и отправки сохранённых оснасток корабля в клиент позволяет с идеальной простотой делиться комплектами оснастки и совершенствовать их в приложении к своим персонажам. Это приложение отполировано до блеска и определённо рекомендуется к знакомству каждому владельцу «Макинтошей».
С полным списком всех заявок можно ознакомиться в этой таблице.
Чему мы научились
Устанавливать/компилировать/запускать много проектов на разных языках и платформах сложно
Мы недооценили время, потребовавшееся нам, чтобы запустить каждый проект. Некоторые проекты сопровождались демонстрационными сайтами, где они работали, но мы хотели запустить их на собственным машинах, дабы убедиться, что оценивается именно то, что отправлялось в заявках. Мы пытались запускать большую их часть через Vagrantfiles, но даже просто понять, как работает каждый из языков с разными фреймворками — непростая задача. Думаю, в будущем мы добавим условие присутствия в заявке версии, запускаемой «из коробки». Для веб-приложений это скорее всего сведётся к использованию Vagrantfile или Dockerfile, а к настольным приложениям просто нужно будет прикладывать скомпилированную версию, которую мы сможем запустить.
Нужно конкретнее определять критерии оценки
В ходе судейства мы поняли, насколько у нас различаются критерии оценки. Это привело к ряду сеансов обсуждения деталей, которые, вероятно, следовало обозначить чётче. Например, чем определять техническую сложность — сложностью задачи, решаемой приложением, или степенью использования CREST, ведь основной темой конкурса было использование CREST? Ближе к концу мы, конечно, уже определились с этими вопросами, но было бы лучше договориться об этом заранее. Отсюда вытекает и неторопливость судейства: у всех нас на тот момент были разные представления о правильной процедуре. При запуске следующего подобного соревнования мы надеемся разобраться с этими вопросами до анонса конкурса.
Заключение
В конечном итоге этот конкурс оказался очень успешным. Он не только порадовал людей, участвующих в нём, и позволил некоторым получить хорошие призы, но и дал сообществу игроков замечательные новые инструменты. Мы выражаем огромную благодарность всем, кто принимал участие в этом конкурсе, и надеемся, что все участники с удовольствием потратили время на создание необычных проектов.
CCP FoxFour