Разработчик из Нидерландов воссоздал классическую игру на браузерном PDF-движке
Томас Ринсма (Thomas Rinsma) из Нидерландов воссоздал Тетрис внутри PDF-файла. Для этого он воспользовался возможностями движков рендеринга PDF-документов PDFium и PDF.js, которые встроены во многие современные браузеры. Они позволяют манипулировать отображением объектов в документе с помощью кода на JavaScript. Об этом автор игры рассказал в твиттере.
Уже много лет среди программистов и энтузиастов компьютерных игр существует негласное интеллектуальное соревнование по запуску видеоигр на нестандартных для этого аппаратных и программных платформах. В этом контексте больше всего повезло классическому шутеру Doom 1993 года. Его запускали не только на многих экзотических устройствах, таких, например, как клавиша клавиатуры, Porshe 911 и тест на беременность, но и воссоздавали в других программах, например, в приложении Блокнот.
В этот раз объектом подобного эксперимента стала другая не менее легендарная игра. Разработчик из Нидерландов Томас Ринсма (Thomas Rinsma) сумел воссоздать классическую головоломку «Тетрис» внутри PDF-документа. Для этого он воспользовался возможностью обработки скриптов JavaScript PDF-движками PDFium и PDF.js, встроенными во многие современные браузеры.
Pdftris работает прямо внутри одноименного файла PDF. На единственной странице документа находится игровое поле, состоящее стандартных объектов PDF, которые обычно используются для отображения аннотаций и форм. Они появляются и исчезают, имитируя движение фигур. Управление реализовано двумя способами: с помощью кнопок на странице и через текстовое поле, куда игрок может вводить команды с клавиатуры. Клавиша W отвечает за вращение падающих фигур, A и D перемещают их влево и вправо, а S ускоряет падение. Набранные очки отображаются в отдельном поле.
Хотя сам PDF-файл — это статичный документ, однако встроенный в него код на JavaScript позволяет манипулировать объектами в документе в реальном времени. С его помощью и реализована вся игровая логика: обновление интерфейса, считывание нажатых игроком кнопок, генерация и движение фигур, проверка столкновений, удаление заполненных линий и подсчет очков. После окончания игры пользователи могут сохранить свой результат, распечатав страницу на принтере.
Чтобы сыграть в тетрис внутри PDF, необходимо открыть файл pdftris.pdf в любом современном десктопном браузере, поддерживающем библиотеки PDFium (браузеры на базе Chromium) или PDF.js (Firefox). А вот в распространенном просмотрщике PDF-файлов Acrobat Reader, по словам разработчика, игра работать не будет, однако, возможно, запустится в Foxit Reader. Исходный код можно посмотреть просто открыв файл в любом текстовом редакторе. Также код игры вместе с файлом на языке python, с помощью которого можно сгенерировать «игровой» PDF, доступен на странице проекта в GitHub.
Недавно команда исследователей из Google DeepMind и Тель-Авивского университета представила необычный игровой движок GameNGen, который может симулировать классическую игру DOOM со скоростью более 20 кадров в секунду, обеспечивая при этом качество изображения сопоставимое с JPEG. В его основе лежит нейросеть, которая на вход получает управляющие команды от игрока, а на выходе генерирует готовые кадры игры.
Она умеет разговаривать, видеть, и имитирует эмоции
Компания OpenAI представила мультимодальную генеративную модель GPT-4o, которая может работать с текстом, аудио и изображениями, включая видео. Модель может общаться с пользователем голосом и поддерживает 50 языков. Она может имитировать различные интонации, шепот, пение, смех. При этом модель работает гораздо быстрее предшествующей версии — время задержки ответа в голосовом режиме составляет в среднем около 0,3 секунды, что сравнимо с временем реакции человека. Также модель может видеть, получая и интерпретируя изображение с камеры в реальном времени. Трансляция презентации велась на YouTube.