Вчера состоялась первая настоящая вечеринка в Driving Kids!
Спасибо JI за проведение вечеринки!
Новость на сайте Driving Kids.
Вчера состоялась первая настоящая вечеринка в Driving Kids!
Спасибо JI за проведение вечеринки!
Новость на сайте Driving Kids.
Понадобилось для проекта Driving Kids сделать качественное HTML-письмо (подтверждение регистрации).
Составили, нарисовали, написали, закодили в HTML с tables layout. Но оказалось этого мало.
В наше время Flash и HTML5 существует еще такая ниша, где весь HTML создается как 20 лет назад – чем проще, тем лучше. Шаг в сторону и твое письмо отображается как говно в каком-нибудь сраном Lotus Notes. Да и всеми любимый Google Mail работает с HTML-письмами по принфипу мясорубки: остается только фарш.
Спешу поделиться очень ценной статьей, где все подбробно, для домохозяек, расписано как создавать и использовать HTML-письма.
Всегда было интересно, как так не особо крупные проекты занимают много места на диске. Ну, казалось бы, чего там много может быть в проекте мультиплеерной игры для детей?
Сегодня, делая бэкап, обнаружил, что проект DrivingKids на винте занимает "скромных" 1.5Gb.
Полез смотреть, что ж там такое крупное. И оказалось, что, в целом, ничего… всего по немногу. Немного mp3, немного swf и fla, немного архивов с сырой графикой, дампы БД и т.п. Вот и 1.5Gb. Незаметно так проект пухнет и пухнет ;)
Работая над проектом Рулимоны (русскоязычный клон нашего проекта 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.
Бумажное прототипирование. Никогда не думал, что буду его использовать, ведь есть такие вещи как Visio, Flash, Axure Pro и т.п.
Но вот вчера свершилось – при проектировании графического интерфейса в игре Driving Kids оказалось эффективнее всего использовать paper prototyping. Основной выигрыш оказался в возможности экономии времени. Как верно подметил Андрей, при этом методе в работу включаются участки мозга, которые мало задействованы при работе с компьютером, либо они работают иначе. Действительно, при такой работе с прототипом графического интерфейса нет промежуточного звена в виде экрана компьютера и мышки. Есть бумага, руки с пальцами, глаза и мозг (это тоже важная часть! ;).
Так выглядит результат:

К слову, довольно занимательный процесс. Даже детство вспомнилось, когда из цветной бумаги делал разные аппликации ; )
Попозже выложу конечный вариант интерфейса, чтобы был виден результат.
Ранее я писал о своем участии в проекте Driving Kids. Серия статей про разработку не удалась – элементарно не хватило времени и заряда еще и на описание того, что я делаю. Как правило, горишь идеей, обдумываешь реализацию, реализуешь, тестируешь, а на описание процесса и особенностей элементарно не хватает времени.
Ну да ладно. Возможно, еще вернусь к этой задумке (статьи про разработку).
Сейчас же хочу поделиться новостью: мы запустили информационный портал проекта. Создать проект- одно, а сделать для него отдельный сайт – другое. Особенно проработать его целевую аудиторию, ее потребности, наполнение и структуру. Когда создаешь сайт под заказ (читай: говносайты, уровень первый), то не возникает постоянного чувства недостаточного качества, несоответствия требованиям. Здесь же ситуация меняется в корне. Когда знаешь проект изнутри, понимаешь, что ему нужно и куда он должен расти и как развиваться, то готов полировать его сайт до блеска. Так можно его и не запустить никогда. Будет себе блестеть где-то на забытом URL.
Но мы себя пересилили и волевым усилием решили полировку прекратить. Результат – www.drivingkids.com