Содержание

Голубятня: Ась?

Автор: Сергей Голубицкий

Опубликовано 12 октября 2010 года

Читатели со стажем не дадут соврать: о системах распознания речи (VRS, Voice Recognition Systems) я писал регулярно, начиная с самой первой статьи, опубликованной в бумажной "Компьютерре" аж в 1996 году! Я делился, помнится, впечатлениями о чуде из чудес компьютерных технологий - программе Dragon Dictate. Вот этот исторический текст, отдаленный от нас во времени почти как полет американцев на Луну (от меня, по крайней мере, и от моих воспоминаний об Америке):

"Наблюдение за Бобом в офисе неизбежно рождало чувство приобщенности к XXI веку. Обставленный компьютерами и мониторами, Боб принимал и отсылал электронную почту, издавал резолюции и созывал собрания совета директоров - и все это без помощи клавиатуры: команды он подавал через микрофон благодаря программе Dragon Dictate. Зрелище просто феерическое! Иное дело - абсолютная сырость самой Dragon Dictate, которая не распознавала каждые три слова из четырех. Бобу приходилось постоянно отвлекаться и вносить изменения в словарный запас программы, причем для этого необходимо было произнести магическое слово"Oops" . В этом случае Dragon Dictate переключается в командный режим и позволяет делать исправления. Я сидел рядом и, закрыв глаза, слушал волшебную музыку очарования технологией: "Упс... упс... упс... упс!"

Но мистер Старер не был бы тем, кем он является на самом деле, - одним из тысячи самых богатых людей Соединенных Штатов (согласно журналу "Fortune"), - если бы не умел вовремя контролировать свои эмоции. После часа ритуальных утренних "упс"-заклинаний он снимал наушники, потягивался и принимался за настоящее дело - подписывал горы бумажных документов, звонил по телефону, летел за пятьсот миль на собственном реактивном самолете на встречи с деловым партнерами и потенциальными клиентами, которые, хоть и не ведали об очаровании технологией, однако обладали просто чудовищным финансово-материальным потенциалом".

Что ж, прошло 15 лет. За это время я предпринимал несколько попыток свериться со свежими достижениями в области распознания речи, однако всякий раз в совершенно конфузном состоянии закрывал тему, покрывая эти самые "достижения" конфузной фигурой умолчания. Отчего так? Оттого, что за 15 лет прогресс нулевой. Именно так - читайте по слогам: ну-ле-вой! Никакой!

Для аналогии приведу еще одну перспективнейшую сферу soft-hard решений, которая топчется на месте те же 15 лет: синтез речи (TTS - Text-To-Speech Engines). О нем я тоже писал миллионократно - при всяком очередном всполохе надежд: то какие-то белорусские товарищи (Sakrament) грозились не сегодня-завтра создать чудо-движок для русской речи, то объявлялась какая-то загадочная якобы 22-килогерцовая "Катя" (ScanSoft RealSpeak Katerina 22Khz), которая на поверку оказывалась чистой воды аберрацией разума (размер TTS 45 мегабайт, тогда как "всего лишь" 16-килогерцовый английский движок AT&T Natural Voices занимает 600 мегов и при этом звучит на фоне русской "Кати" как бог).

Короче говоря, и TTS и VRS, будучи едва ли не самыми перспективными инициативами ай-ти не только на уровне пользователей, но и бизнес-решений, одновременно яляются и самыми тупиковыми и безнадежными. Может найдется, все-таки, профессиональный человек среди читателей Голубятен (а то все больше мельтешат на форуме негативные голубицкоманы), которые объяснят старику-филологу: что такого страшно неподъемного в TTS и VRS, что не позволяет сдвинуть воз с места 15 лет к ряду?!

Поводом к посту послужил разговор с Антонелло, который хвастался андроидной приблудой, встроенной в последнюю версию мобильной ОС (2.2) - Google Voice Actions, кажется так это называется. Поначалу мне очень понравилось, как старый Козловский надиктовал прямо в камеру Скайпа мне письмо и одним кликом отправил по мылу. Все прошло гладко - примерно так, как мечталось нам в 1995 году. Впечатлившись, я тут же бросился искать нечто подобное на моем любимом айфоне. И быстро нашел: называется... вы не поверите: Dragon Dictation свежайшей (октябрьской) версии 2.02, который справляется с задачей распознания речи не хуже Google Voice Actions.

После получаса работы с Dragon Dictation эйфорию, увы, сменила печаль времен "Упс-упс-упс" моего дорогого учителя Боба Старера. Наверное, распознание происходит получше, чем в 1995 году. Во всяком случае мобильный вариант (на айфоне) смотрится сильно интереснее последней (второй) версии Dragon Dictate, изданной в этом году для Mac OS X. Эту - последнюю - приходится обучать и обучать до бесконечности, и все равно результату до идеала примерно как до Луны.

Продукты Dragon (компания Nuance Communications), кстати, работают только на английском, немецком, французском и - кажется, либо на подходе - испанском языках. О русском даже мечтать не приходится. Когда-то был такой "Горыныч" - явный филиал Dragon Dictate либо пародия на него - однако канул в лету: в прошлом году видел на Горбушке какую-то полуОЕМ версию этого барахла непонятно, какого года выпуска. Короче, все разработки с распознанием русской речи, похоже, сдохли окончательно и бесповоротно. Наверное, растворились в нанотехнологиях.

Google Voice Actions вроде с русским справляется. Встроенный в iOS 4 надкусановый вариант управления голосом на фоне андроидной приблуды смотрится, конечно, ребенком. Но, опять же, по гамбургскому счету: ВСЕ перечисленное, ВСЕ-ВСЕ-ВСЕ без исключения - это жалкие потуги, даже не претендующие на хоть какую-то динамику в направлении того, что 15 лет назад казалось и не идеалом вовсе, а гарантированной данностью завтрашнего дня.

Ну и что случилось? Почему все так печально? Кто-нибудь даст объяснение импотенции? Ась?

День рождения настоящего Pac-Man

Автор: Юрий Ильин

Опубликовано 12 октября 2010 года

10 октября 1979 года свет увидела игра Pac-Man. С этой даты началось её триумфальное, продолжающиеся и поныне, шествование по миру - и по всем мыслимым и немыслимым игровым платформам, вплоть до Xbox 360, Wii или браузера.

В 79 году, впрочем, игра называлась слегка по-другому - Puck-Man. Американский издатель настоял на переименовании - оригинальное название детишки могли бы испортить, затерев первую букву таким образом, чтобы она превратилась в F. Дата американского релиза игры - 22 мая 1980 года, и её юбилей праздновался весной 2010. Компания Google тогда даже на день сменила свой логотип на работающую версию Pack-Man, выполненную на JavaScript.

Как всё началось

В 1977 году некий Тору Иватани устроился на работу в компанию Namco Limited, которая в то время преимущественно занималась всякими аттракционами и "лазерными" галереями - игровые автоматы ещё не были в числе приоритетов.

У Иватани не было никакого формального образования в области компьютеров, изобразительного искусства или графического дизайна, однако руководители Namco смогли распознать в нём немалые креативные таланты, и взяли работать в новое подразделение - занимавшееся как раз созданием видеоигр.

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

Эта команда и выдала в 1978 году первую собственную игру Namco, носившую название Gee Bee, а затем - к концу 1979, и Puck-Man.

Казалось бы, причём тут пицца?

В конце семидесятых на японском рынке видеоигр самовластно доминировали Space Invaders и подобные военно-стрелятельные забавы "для мальчиков". Тору Иватани захотелось сделать что-то иное - более мирное. Придумывая главного героя, Иватани вспомнил детскую сказку про существо, которое защищало детей от чудовищ, заглатывая последних.

Отправной точкой стали слова "есть" (в смысле, "поедать") и "рот". Иероглиф, обозначающий в японском языке слово "рот" (kuichi), имеет прямоугольную форму, однако Иватани решил скруглить форму своего нового персонажа, возможно, под впечатлением от полученной как-то раз за обедом круглой пиццы, в которой не хватало одного куска. Так созрело дизайнерское решение в отношении главного героя.

В японском слэнге есть выражение paku-paku, обозначающее открывающийся и закрывающийся рот (чтобы не сказать, чавканье). Название Puck-Man напрашивалось само собой.

Особенности японского привидениеведения

Без врагов игра, естественно, обойтись не могла. Ими стали четыре разноцветных привидения - Akabei, Pinky, Aosuke, и Guzuta (в англоязычной версии они стали называться Blinky, Pinky, Inky и Clyde), - которые заводятся сначала в садке прямо по центру лабиринта, а затем начинают шастать по лабиринту во всех направлениях.

Как потом рассказывал сам Иватани, мультфильм "Том и Джерри" некоторым образом помог "выстроить отношения" между Pac-Man и сразу четырьмя его противниками - то они бегут за Пэкменом, то наоборот. Необходимо было добиться, к тому же, чтобы привидения нападали с разных сторон (и не постоянно). В противном случае они постоянно тащились бы за Pac-Man как та вереница, что идёт за синей птицей - никакого азарта.

Поэтому привидения оснастили подобием "искусственного интеллекта", причём каждое из них движется по-разному. Иногда кажется, что им вообще плевать на то, что Pac-Man чавкает где-то рядом, они тут просто так прогуливаются. А потом привидения вдруг бросаются со всех сторон разом, подчас зажимая главного героя с разных сторон - и с понятным результатом.

Секрет оказался прост:

• Blinky (красное привидение) в режиме преследования использует в качестве цели точку, в которой находится Pac-Man.

• Pinky (розовое привидение) в качестве цели использует точку, находящуюся на 4 клетки впереди Пэкмена, кроме случая движения вверх, когда в качестве цели используется клетка 4 вверх-4 влево от Pac-Man.

• Inky (голубое привидение) использует сложный алгоритм: в качестве цели для движения оказывается точка, координатами которой является один из концов отрезка, другой конец которого - это Blinky, а центр - точка на 2 клетки перед Pac-Man. Получившуюся точку очень сложно предсказать, так что Inky представляет недюжинную опасность.

• Clyde (оранжевое привидение) тоже неприятный противник: если он находится дальше 9 клеток от Pac-Man, то он использует в качестве цели самого Pac-Man (как Blinky), если же Pac-Man ближе 9 клеток, то Clyde меняет цель на точку ниже правого нижнего угла.

Разноцветными привидений сделали как раз для того, чтобы игра понравилась не только мальчикам. Для этого же каждое из привидений было снабжено весьма выразительными синими глазками - постоянно обращёнными в направлении движения. В результате получилось, что каждый из "охотников за Пэкменом обладает некоторым подобием характера.

"Я тебя съем!" - "Нет, это я тебя съем!"

Цель игры - съесть все точки, раскиданные по лабиринту, не попавшись привидениям на зуб. Впрочем, по углам лабиринта располагаются четыре прямоугольника, "скушав" которые Pac-Man мог сам отобедать охотящимися на него привидениями (их глаза, впрочем, избегали плачевной участи и стремительно возвращались в садок по центру, где привидения возрождались и снова отправлялись на охоту).

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

За первое истреблённое привидение игрок получал 200 очков, за каждое следующее призовые очки удваивались. Если удавалось слопать всех четверых, получался ряд 200 - 400 - 800 - 1600, т.е. в общей сложности три тысячи очков. Плюс временами в лабиринте появлялся какой-нибудь фрукт, который также приносил призовые очки.

Книга рекордов Пакмана

В принципе, игра бесконечна - пока есть хоть одна жизнь (а их изначально даётся три), можно продолжать играть, наблюдая, как растёт скорость привидений. Однако в коде оригинальной игры обнаружилась ошибка, связанная как раз с отображением фруктов. Не факт, правда, что это вообще ошибка: внутренний счётчик игры хранится в одном байте, в результате когда он отсчитывает в общей сложности 255 фруктов, подпрограмма сбрасывает его на ноль, затем главная програма пытается отрисовать на экране сразу 256 фруктов, и это "сводит её с ума" - низ и правая половина игрового экрана рассыпаются на символы, так что пройти 256 уровень оказывается невозможно.

Однако есть некоторые сведения, что в 1982 году президент США Рональд Рейган отправил некоему восьмилетнему мальчику Джеффри Йи поздравительное письмо за достижение мирового рекорда в игре Pac-Man - 6 131 940 очков. Столько Йи мог набрать только в случае успешного преодоления "разбитого" экрана.

В дальнейшем никто вроде бы так и не смог добиться этого, и не исключено, что история с Рейганом - не более чем городская легенда.

"Официальный" рекорд, а точнее, максимально доступное количество (до "разбитого экрана") - это 3 333 360 очков за преодоление 255 уровней. При этом игрок не должен был потерять ни одной жизни, и съесть всё, что только можно.

Родственники Pac-Man

Клонов и подражателей Pac-Man породил немало. Можно спорить о том, считать ли игры серии Boulder Dash родственниками Pac-Man - хотя бы очень дальними. А вот сходство главного персонажа игры Supaplex c Pac-Man видно невооружённым взглядом.

Самым же любопытным родственником Pac-Man является игра 1983 года 3-Demon (он же Monster Maze). Практически вся игровая механика Pac-Man здесь воспроизведена в точности, только лабиринт трёхмерный, поэтому не сразу понятно, куда идти.

А что же Иватани?

Дикая популярность разработанной Иватани игры никак не сказалась на его последующей карьере. Зарплату ему не подняли, повышения он получал в порядке общей очереди, в то время, как его творение занесли в Книгу Рекордов Гинесса как самую популярную в мире игру для автоматов.

Впоследствии Тору Иватани создал ещё несколько игр, но ни одна таким же успехом не пользовалась.

В 2007 году он разработал свою последнюю игру - Pac-Man Championship Edition для Xbox 360, после чего покинул Namco, и теперь читает лекции в Токийском политехническом университете.

А Pac-Man продолжает оставаться одной из самых (а может, и самой популярной в мире) видеоигрой.

arrow_back_ios