Category: Flash

Первый тизер Coloropus’а

Сегодня опубликовали первый тизер игры Coloropus:

Первая настоящая пати в Driving Kids состоялась!

Вчера состоялась первая настоящая вечеринка в Driving Kids!
Спасибо JI за проведение вечеринки!

Новость на сайте Driving Kids.

Игра – собери кандидата в президенты РБ на выборах 2010

Делали мы, делали, и наконец доделали развлекательную игру на популярную ныне тему – выборы президента Беларуси 2010 года.
Это самая быстро сделанная игра за всю мою практику. С момента первого контакта до финальной версии прошло 10 календарный дней. Если бы не мелкая задержка, которой можно было избежать, было бы 8 дней.
Заказчик: tut.by
Идея игры: tut.by
Дизайн и разработка: Альбимедиа (наша команда-банда).

Получилось весело и играбельно.
Сама игра.

Adobe совсем припухли

Сегодня поставил обновление для Flash Player 10.1
Поставилось все просто и быстро, за что Adobe спасибо.  Хотя, не без глюка. Было открыто одновременно два браузера. Инсталлятор определил только тот, из которого была выполнена загрузка инсталлятора и попросил закрыть его. Я закрыл, второй браузер остался открытым. В результате установка провалилась, причем без возможности сделать повторную попытку. Пришлось заново проходить всю процедуру.

Ну да речь не об этом. А о том, что я наконец-то понял, откуда у меня на компе появляется долбаный “McAfee Security Scan Plus”, которй я не ставил и разрешения на установку не давал. А от вет прост! Инсталлятор Flash Player сам устанавливает его вместе с новым Flash Player, при этом даже не спрашивает пользователя, хочет ли он установить этот типа-антивирус и даже опции не дает не устанавливать его! Прямо trojan-downloader какой-то! Выглядит это так:

Думал как бы это назвать, но кроме как “интернет-хамство” ничего в голову не пришло.

Размер flash-проекта

Всегда было интересно, как так не особо крупные проекты занимают много места на диске. Ну, казалось бы, чего там много может быть в проекте мультиплеерной игры для детей?
Сегодня, делая бэкап, обнаружил, что проект DrivingKids на винте занимает "скромных" 1.5Gb.

Полез смотреть, что ж там такое крупное. И оказалось, что, в целом, ничего… всего по немногу. Немного mp3, немного swf и fla, немного архивов с сырой графикой, дампы БД и т.п. Вот и 1.5Gb. Незаметно так проект пухнет и пухнет ;)

Anima

На Хабре написали про игру Anima. Посмотрел. Почитал. Поиграл. Много думал и сделал вывод:

даже если твоя игра – унылое говно, сделанное за пару часов, все равно найдется спонсор-уебан, который отвалит тебе за нее бабла.

Побежал дальше делать "свиней" ;)

PrayPal

Сегодня с удивлением обнаружили, что на проекте www.drivingkids.com перестали приниматься платежи через PayPal. При попытке оплатить услугу пользователи получали сообщение:

You have requested an outdated version of PayPal. This error often results from the use of bookmarks.

Ковыряние по сайту PayPal не принесло никакого результата. Нигде никаких упоминаний об изменении протокола, каких-либо проблемах или временных сложностях. Ничего. Ноль. Пусто. Zero, блять.
Как всегда, помог Google. 30-секундный поиск показал, что проблема появилась уже 10 марта, причем у огромного числа клиентов. В этой ветке форума поддержки PayPal люди жалуются, что их корзина заказа, используемая десятками тысяч (!) сайтов вдруг перестала работать. Кто-то жалуется на то, что не менял код взаимодействия с PayPal уже 5 лет и все работало, а тут без каких бы то ни было предупреждений со стороны PayPal все просто перестало работать. В общем, беспредел.

Оказалось, что PayPal со своей стороны без объявления войны каких либо предупреждений взял, да и ужесточил требования к запросам их гейта приема платежей (https://www.paypal.com/cgi-bin/webscr).
На гневные заявки пострадавших поддержка PayPal реагировала в духе: "ну, напишите заявочку, мы ее рассмотрим" (здесь).

По итогу, если кратко:

1. На сегодняшний день (25 марта 2010) PayPal до сих пор не решил проблему и вынудил всех клиентов изменять код связи с PayPal. Но обещают "разобраться".
2. Короткое решение для клиентских Flash-приложений – заменить переход на гейт пейпэла с POST на GET, т.к. PayPal стал нервно реагировать на передаваемый флэшем заголовок HTTP "Content-Type".
3. Короткое решение для (D)HTML сайтов – убрать из формы подтверждения заказа параметр enctype="multipart/form-data" и убедиться, что конечная ссылка имеет верный формат (в частности, отсутствуют пробелы в именах параметров и нет пропущенных параметров после знака ? (чтобы не было запроса вида: https://www.paypal.com/cgi-bin/webscr?&…).

P.S.: я все больше ненавижу PayPal. То они признают страны СНГ говнойм третьего сорта и вообще запрещают получение платежей на кредитки, выданные в СНГ, то без всяких объяснений и весих причин блокируют учетные записи своих пользователей. Теперь они откровенно кладут хуй забивают на проблемы клиентов, при этом сами теряя кучу денег (их репутация и маржа с оборота, как минимум).

Зажрались, видать.

Довесок от 26.ma.2010: Encyclopedia Dramatica имеет очень хорошую статью про PayPal (GayPal – это даже лучше, чем PrayPal ;) и отношение к клиентам.

Еще оружие…

Арсенал для уничтожения врагов в игре "Свиньи-2" пополнился еще двумя смертоносными игрушками (все в векторах, здесь хвастаюсь растром ;)

Верхний – шестизарядный гранатомет Milkor MGL (multiple grenade launcher).
Под ним – легкий пулемет M249 (американская копия FN Minimi).

Эх! Пока рисовал Milkor MGL чуть крыша не поехала от всех мелких деталей. Я ненавижу Flash CS4 – этот глючный продукт вылетал раз 10 за все время создания гранатомета!
Зато результат получился отменный! Аж захотелось поскорее увидеть его в действии в игре! Дайте пострелять!!! ;)

С M249 все оказалось гораздо легче. Это единственное оружие, которое я не рисовал сам, а создал с помощью проекта "Pimp my gun" (спасибо!) и немного доработал.
Правда, по качеству градиентов видно, что пулемет как бы не из общей картины, ну да ничего. Крупным планом он будет только в игровом магазине, а на панели и в игре будет небольшого размера.
На этот шаг пришлось пойти вынужденно, т.к. найти в сети качественное, большое изображение пулемета сбоку с правильным освещением не удалось.

К слову, сегодня приводил все стволы в соответствие по размеру друг к другу. Пришлось напрячь википедию, чтобы узнать длину каждой смертоносной игрушки. Меня поразили габариты CheyTac Intervention M200 (в прошлый раз я постил ее растровый вариант, но не в пропорциях). Эта винтовка просто огромна и завораживающе прекрасна! 1,35 метра с разложенный прикладом. Красава.

На очереди в разработке ракетная установка :)

 

Оружие против свиней

Не помню, писал ли я уже о том, что мы с напарником разрабатываем казуальную игру. Окончательного названия пока нет, но между собой мы ее называем "Pigs-2" (т.к. были просто "Pigs" – первая часть когда-то дааавно была мной написана, году эдак в 2001 и со второй кроме свиней ее ничего не связывает).

Сразу скажу: свиной грипп тут совсем не при чем ;) Чистой воды совпадение.

Вся графика в игре векторная. Оружие также приходится рисовать в векторах. Весь набор смертельных инструментов уже составлен и описан. Сегодня он пополнился еще одним элементом – Cheytac Intervention M200. Изначально в качесте точного и мощного оружия, но с низким SPS (shots per second) планировалась СВД, но т.к. найти для обрисовки (ручного перевода в вектор) приличного изображения СВД не удалось, пришлось заменить ее на Cheytac /спасибо Leshik’у за консультации по оружию/.

Итак, текущая коллекция готового оружия:

 

Pigs2 weapos / Pigs-2 оружие

Flash CS3 и жестокий баг со шрифтами для Flash Player 8/9

Работая над проектом Рулимоны (русскоязычный клон нашего проекта DrivingKids), я наткнулся на жесткий баг флэша, из-за которого пришлось потратить в общей сложности 6 часов напряженной работы, чтбы просто понять, кто виноват и что делать. Спешу поделиться опытом. Понятно, что AS2 и Flash Player 9 уже не особо актуальны, т.к. можно нынче писать на AS3 под 10, а теперь и под 11 плейер. Но ведь есть еще legacy-проекты, в которых используется AS2 и 9-й Flash-плейер.

В один прекрасный день в issue tracker на меня упала задача вида "Пропали некоторые надписи в GUI".
Полез разбираться и наткнулся на проблему: реально, пропала часть строк в диалогах. Сразу появилась злая мысль: "опять что-то напортачили в языковых XML-файлах". Но логи оказались чистыми, все загружалось, находилось и прописывалось в текстовые поля.

Ладно. Идем дальше.
Запускаем копию на локальной машине и начинаем ковырять. По прошествии некоторого времени подтверждается мысль: не виден один из шрифтов. Здесь нужно объяснить, как в проекте используются шрифты.
Все шрифты хранятся в одном внешнем файле и импортируются во все модули проекта (в т.ч. и в главный файл приложения). В этих эпических граблях оказались замешаны три шрифта: Bold, Light и Italic. Специфика работы Flash до версии CS4 (Player 10) со шрифтами такова, что Flash не различал поддержку различных начертаний самими шрифтами, а делал жирный и наклонный варианты сам. Это привело к необходимости использования трех вариантов одного и того же шрифта в шареной библиотеке этих шрифтов. Так вот, все эти три шрифта – это вариации Arial Narrow (обычный, жирный и жирный наклонный).

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

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

В общем, я долго ковырял библиотеку символов флэшки, отсеивал, тестировал и локализовал-таки баг. В итоге оказалось все нереально тупо. Flash глючил из-за того, что в одной шареной библиотеке использовался шрифт Arial Narrow для статического текста (это даже не TextField, а просто Static Text в одном из мувиклипов). Ну не нужен мне там был shared font! Просто надо было написать одну строчку, да и то, она была чисто техническая и отображается только в случае ошибки.

Достаточно было просто сконвертировать этот Static Text в кривые или заменить шрифт Arial Narrow на любой другой, как тут же проблема исчезла!

Каким-то образом у флэша этот Arial Narrow вызывал несварение совместно с Arial Narrow, импортируемым из вешнего файла со шрифтами, вкупе с несколькими подключаемыми шареными библиотеками, которые также используют этот же шареный шрифт.

Вывод: если у вас есть легаси-проект на AS2/Flash8/9, и там начались грабли со шрифтами в шаренных библиотеках, постарайтсь использовать везде одни и те же шрифты из внешних файлов, либо воспользуйтесь чем-то вроде FontLoader/FontManager. К слову, есть версия и для AS3.