Инфоканал Телеурай: Гороскоп

Ребята, гороскоп сделать проще простого 🙂

vlcsnap-2013-04-02-10h53m25s173

 

Digi-TV прекрасно ставит в плейлист SWF-ролики, поэтому я заказал фрилансеру нарисовать красивый гороскоп во Флеше. Данные берутся из XML-файла, который лежит в той же папке, что и гороскоп. XML-файл скачивается скриптом каждую ночь:

use XML::RSS::Parser::Lite;
use LWP::Simple;
use HTML::Entities;
use utf8;
print «Hello!\n»;
$content = get(«http://img.ignio.com/r/export/utf/xml/daily/com.xml»);

open (FILE,»>:utf8″,»c:\\pearlib\\goroskop\\xml.xml»);
print FILE $content;
close (FILE);

Если вы не умеете пользоваться Perl-скриптами, значит дождитесь моей следующей статьи на эту тему.

Единственный нюанс — DigiTV не может определять длину флеш-ролика, её нужно вводить вручную при вставке ролика в плейлист.

Инфоканал Телеурай: внутренности

После выступления на CSTB2013 у меня полная почта вопросов по поводу нашего телеканала «Телеурай», поэтому я решил сделать серию статей о разных know-how и рассказать, как там всё устроено.

vlcsnap-2013-02-11-15h50m59s73

Формирует сигнал ПК на Windows 7 с установленной программой DIGI-TV. Компьютер требуется мощный, чтобы видео успевало раскодироваться для эфира. Программа на основе плейлиста крутит по очереди те или иные ролики, и по расписанию включает элементы оформления. Вся идея нашего канала как раз в том, чтобы реализовать максимум возможностей через эти самые «элементы оформления». Например, когда нам нужно вывести на весь экран галерею с картинками, то на самом деле мы вещаем пустой ролик длительностью одну минуту с включеным элементом оформления «flash-баннер», в который загружена наша галерея. Но, об этих ухищрениях позже.

Вещающий ПК подключен по Firewire в Канопус ADVC110 (который теперь GV Thomson), на котором есть композитный выход, который и подается в телевизионный модулятор.

Вот и вся система.

Дополнительно имеется второй мощный ПК, который обсчитывает ролики. Мы используем After Effects. Редактор готовит ролики на своем ноуте сидя в уютном кафе, затем закидывает проект на Рендер-сервер и ставит в расписание на обсчёт. Раз в сутки (поздно ночью) скрипт берёт все ролики и утаскивает по гигабитной сети на вещающий сервер. Мы готовим ролики без сжатия, поэтому минута видео весит гигабайт и выше. Зато вещающему серверу потом проще это выводить.

Обсудим само ПО DIGI-TV.
Софт стоит дёшево, что приводит к определенным трудностям при использовании. Наверняка, если просто гонять плейлист с роликами да бегущей строкой — ничего страшного не произойдет, но мы любим экспериментировать, и в необычном использовании прога любит невероятным образом рухнуть. Например, какое-то время назад у меня сломалась команда в плейлисте «Запустить произвольную программу» — я хотел, чтобы после определенного ролика у меня запускался скрипт для обновления новостей. Так вот, при попытке исполнить это, DigiTV просто вылетал с ошибкой ACCESS_VIOLATION. Саппорт давал советы проверить антивирус, выключить-включить и так далее, хотя судя по всему проблема была связана с безопасностью Windows 7, и решилась в итоге включением режима совместимости с Windows XP для DIGI-TV.
Ну, или модуль «СМС-Чат» выбивает программу с крэшом если в смске будет два переноса строк подряд. Или вот на нашей системе непонятно почему, но DIGITV не хочет забирать звук радио «из системы», пришлось ставить перемычку — из звуковой карты в Canopus — и примешивать звук радио к эфиру.

В следующих сериях рассмотрим конкретно как устроен смс-чат, инстаграм, погода и прочее.

Спецкурс в Гимназии: игры-1.

Сегодня на очередном занятии в Гимназии старшеклассники быстренько научатся делать землю, небо, свет и тени. А я в очередной записи блога делюсь своим опытом создания компьютерной игры.

[more]

На самом деле, я разрабатывала не всю игру, а только модуль искуственного интеллекта — это была моя дипломная работа, а курировала нас студия «Таргем» компании «Нивал». Когда я примерно разобралась с тем, что от меня хотят — меня охватил ужас. Когда стоишь у подножия высокой отвесной горы, она кажется непокоряемой. Можно долго бояться, но если более опытный человек ведёт тебя в связке, то находишь силы, карабкаешься — и вот ты уже наверху. Когда вспоминаю об этом проекте, то кажется, что мы в два счёта с ним разобрались…

Суть игры была в следующем: на большой арене двигаются две команды машинок. Одна команда пытается догнать другую и бортануть её, как в ляпах (более литературное название — салочки). Я начала разработку, когда до финальной версии было ещё далеко. Физика машинки ещё активно разрабатывалась, поэтому она довольно неуклюже ездила и переворачивалась на поворотах. Я спросила — будут ли машинки переворачиваться в финальной версии? На меня посмотрели с изумлением и ответили «конечно же да!».

Хорошо, задача выглядит так: мы стоим где-то на карте, видим врага. Мы должны построить путь от текущей точки до врага и поехать по нему, объезжая препятствия. Но одно дело — если вы программируете шахматы, ну или, скажем, Героев магии и меча: прыгай себе по клеточкам.
 А здесь нужно уворачиваться от других машин, потому как боковое столкновение непременно тебя перевернёт, да ещё и нужно постараться не наскочить на кочку и не заложить слишком крутой поворот! Да и рулить машиной — не тоже самое, что Пэкмэном: её качает, заносит и нельзя резко поворачивать.

В общем, я стояла у подножия высокой горы и тосковала. Самое сложное в восхождении — начать.

Я начала с начала: научила машину ехать вперёд до определённой точки, затем задом сдавать назад. Долго билась с рулём, но научилась делать плавные повороты вправо-влево. Попробовала это всё скомбинировать и сделать разворот задом. Поездила восьмёрками, покрутила машину по кругу…

В разработке игр главное — быстрее реализовать вывод на экран, тогда ты видишь что делаешь. Прошло всего пару недель, а я уже вижу, что моя машинка может ехать из точки А в точку Б и объезжать шарики — препятствия. Это очень помогает не падать духом. Кроме того, когда работа начинает надоедать, можно быстренько набросать весёленькую демонстрашку  — вот на картинке моя машинка ездит на двух задних колёсах.

Ну, а когда ты уже умеешь ездить — уже можно придумать, как убегать или догонять. Поэтому работа пошла быстро и ни о какой тоске мыслей не было.

В итоге вышло так круто, что дипломная комиссия не поверила, что мы — авторы этой игрушки. Конечно, когда другие сдают в качестве диплома програмку, играющую мелодию «В траве сидел кузнечик»… 🙂