Живые, прозрачные для сети 3D-игры

    0
    1

    [ad_1]

    Что из этого привлекает больше: новая бесплатная среда Javascript для написания сетевых 3D-игр, дополненная интегрированным физическим моделированием и пространственным звуком… или полная, зрелая, динамическая платформа программирования, которая может реализовать метавселенную?

    Почему не оба?

    Новое объявление от Croquet Corporation на конференции разработчиков игр, GDC, в Сан-Франциско — очень редкая вещь, которую можно встретить на Рег Виртуальный стол FOSS можно использовать несколькими способами. Хотя это далеко от наших обычных рассуждений о дистрибутивах Linux, виртуализации и т. д., это гораздо важнее и может затронуть гораздо больше людей. Мы надеемся, что вы выдержите несколько абзацев, пока мы попытаемся объяснить, почему, потому что мы считаем, что это действительно важно.

    С одной стороны, это модные вещи — 3D-игры, иммерсивная виртуальная реальность, метавселенная и так далее. Это новая среда Javascript для прозрачных для сети 3D-приложений для нескольких устройств. Теперь он может общаться с Unity, который мы ранее называли «самым популярным кроссплатформенным игровым движком, предпочитаемым разработчиками видеоигр». Хотя он в основном написан на Javascript, он также поддерживает Rust, скомпилированный в кроссплатформенную среду выполнения WASM. Это FOSS, но у компании есть доходная модель. Если это еще не очевидно, пресс-релиз Croquet и его веб-сайт высоко модное слово-совместимый.

    YouTube видео

    Croquet позиционирует себя как «ОС для Открытой Метавселенной», и это не преувеличение: это может быть одна из самых значительных программных технологий, которые стол FOSS видел до сих пор в этом столетии. Однако, чтобы заинтересовать основных разработчиков, компания слегка маскирует его и рекламирует как инструмент, значительно упрощающий написание кроссплатформенных многопользовательских игр, которые без проблем работают через Интернет, на настольных компьютерах, ноутбуках, планшетах и ​​​​смартфонах. Это все, но это намного больше.

    Одна вещь Крокет не является стартапом. Хотя эта версия одноименного продукта была полностью переписана на ванильном Javascript, ее первая версия была выпущена около 20 лет назад и построена на трансформирующей технологии, впервые выпущенной в 1985 году и получившей открытый исходный код в 1996 году. Несмотря на модные словечки, технология является зрелой. , с корнями в дизайне, который старше, чем Microsoft Windows. Это также означает, что он крошечный, эффективный, быстрый, легкий и местами удивительно простой. Там также есть прямые ссылки на нашу статью на прошлой неделе о Xerox Alto и трех способах, которыми он повлиял на современные компьютеры.

    Крокет — это умное сочетание передовых технологий с очень мощными идеями, которые совершенствовались десятилетиями. Отчасти это связано с тем, что Croquet изначально создавался исключительно умными людьми, большинство из которых сегодня выступают в качестве его советников. Среди них Алан Кей, который в значительной степени изобрел графический интерфейс пользователя; Дэн Ингаллс, который реализовал оригинальный Smalltalk и несколько важных более поздних производных, а также изобрел всплывающие меню; Дэвид Рид, изобретатель протокола UDP; Марк П. МакКахилл, изобретатель URL и Gopher; и пионеры виртуальной реальности Джулиан Ломбарди и Ави Бар-Зеев. Мы уже писали о Бар-Зееве раньше, но если вы не узнаете имя, он построил оригинал Google Земля (и большая часть Second Life), а Ломбарди изобрел ViOS, вероятно, самую раннюю попытку коммерциализации концепции метавселенной.

    Основателем и техническим директором Croquet Corporation является Дэвид А. Смит, написавший, возможно, первую в истории трехмерную стрелялку от первого лица. Колониявыпущенный в 1988 году — на четыре года раньше Вольфенштейн 3D в 1992 году. Он также сделал инструмент 3D-визуализации для фильма Пропасть, что привело к появлению первого коммерческого приложения для 3D-визуализации Virtus Walkthrough. Вместе с Джеймсом Кэмероном он строил проекты с Томом Клэнси, Майклом Крайтоном и работал в таких компаниях, как Lockheed-Martin.

    Так что можно с исключительной уверенностью сказать, что эти люди действительно знают свое дело, потому что они его изобрели.

    Крокет изначально был реализован в Squeak. Произведено из Apple Smalltalk-80 [PDF]выпущенный в 1985 году, Squeak — это Smalltalk, виртуальная машина которого написана на самом Smalltalk тем же Дэном Ингаллсом, который внедрил версию Alto в Xerox PARC.

    Было много реализаций Smalltalk, а также более поздних языков, которые он вдохновил. Среди них следует отметить еще один проект Xerox PARC, Self. Первоначально это был диалект Smalltalk, но в Sun Microsystems он превратился в нечто особенное: богатый язык, полный и достаточно быстрый, чтобы на нем можно было реализовать версию Smalltalk. Своевременный компилятор Self превратился в Hotspot JIT в том, что сейчас называется Oracle Java JVM. Тем не менее, наиболее значительным потомком Self на сегодняшний день является его версия с синтаксисом фигурных скобок, чей создатель описал его как «любовное детище C и Self». Это, конечно же, JavaScript.

    Нас удивили восторженные выражения, в которых Смит описал это Рег:

    Это тот момент, когда переход Croquet с Smalltalk на JavaScript внезапно стал для нас логичным.

    Когда этот стервятник впервые увидел демо-версии Croquet в 2004–2005 годах, это выглядело как забавный эксперимент по расширению двухмерной модели с перекрывающимися окнами Smalltalk в трехмерную среду в стиле виртуальной реальности с использованием OpenGL для ускорения. В результате получился полупрозрачный мир с окнами, парящими в воздухе. Нам показалось, что все находится под водой. Он предназначен для совместной работы: каждый экземпляр может общаться с другими экземплярами по сети, синхронизируясь с помощью легковесного протокола под названием TeaTime, изобретенного вышеупомянутым доктором Ридом. Среда Croquet может даже встраивать другие приложения, такие как веб-браузер на основе Mozilla.

    Прямо на первой странице, как и в 2004 году, были указаны относительно скромные на тот момент требования к оборудованию:

    В FAQ они сузили последнее:

    20 лет назад крокет казался довольно большим и сложным. Теперь такие спецификации тривиальны, и он работает на гораздо более оптимизированной, а также вездесущей виртуальной машине. Даже самый дешевый бюджетный смартфон намного превосходит их, имеет аппаратный 3D-рендеринг и быструю постоянную связь.

    Часть проблемы, однако, заключалась в том, чтобы убедить людей попробовать это. Smalltalk — это не только язык, но и операционная система, и большинство реализаций Smalltalk работают внутри автономной виртуальной машины, что является одной из причин, препятствующих его внедрению. Основной способ развертывания приложения Smalltalk — отправить образ виртуальной машины со всеми ее компонентами, готовыми к работе. Приложения Smalltalk не выглядели нативными в большинстве операционных систем, и хранить код Smalltalk в системе контроля версий, такой как Git, непросто, потому что приложения Smalltalk заполнены сложными объектами в памяти, а не простым текстом.

    Но сегодня самый распространенный язык программирования является прямым потомком Smalltalk, который работает на сильно оптимизированной виртуальной машине, которая поставляется в комплекте с каждым браузером на каждом компьютере и в каждой лаборатории фонда.

    Смит сказал нам:

    О текущей версии он сказал:

    Инструмент богатый, зрелый, широко распространенный и очень известный. В мире около 30 миллионов разработчиков, и около 65 процентов из них используют JavaScript. Идеально подходит. В одном из демонстрационных видеороликов компании показано, как VS Code редактирует фрагмент кода, который управляет миром, в котором находится докладчик, при этом код также виден в окне реального времени в этом мире.

    YouTube видео

    Такая степень интеграции была невообразима в старой версии Smalltalk. А теперь этот инструмент может общаться и с Unity.

    Все виртуальные среды Croquet независимы и могут быть защищены, но они работают синхронно со всеми другими экземплярами этого мира благодаря сообщениям TeaTime, отправляемым на интернет-серверы, называемые «рефлекторами». Как и протокол, они достаточно легкие для работы на периферийных устройствах. Croquet Corp размещает свои собственные и взимает плату за их использование, поэтому, хотя код является FOSS, существует модель получения дохода.

    Независимо от того, на скольких устройствах они работают, новые экземпляры могут присоединиться в любой момент и синхронизироваться в течение нескольких секунд. Нет отдельного кода на стороне клиента, который обращается к сложному серверу с передаваемым состоянием. Действительно, вам не нужно писать код доступа к сети совсем. Как сказано в документации (и акцент сделан в оригинале):

    Для сравнения представьте живую миграцию ВМ с одного хоста на другой: сохраняется моментальный снимок ее состояния, и пока ВМ загружается в память на новом хосте, состояние пересылается со старого хоста, так что ВМ может забрать, где он остановился в течение нескольких секунд.

    Здесь вместо виртуальных машин каждый экземпляр Croquet загружается с URL-адреса, выполняется полностью в этом браузере, а отражатель просто следит за ними.

    Разработчики не иметь использовать Юнити. Существует множество других инструментов, таких как Worldcore, который доступен непосредственно из NPM.

    На домашней странице компании есть простое двухминутное объяснение с коротким демонстрационным видео в конце, а также несколько эффектных демонстрационных видеороликов.

    YouTube видео

    Но этот стервятник почувствовал, что именно примеры начали делать его более впечатляющим и веселым. Запустите любую из программ, встроенных в страницу — нам понравилось Фонтан под 3D. Запускается фонтан 3D-форм; щёлкайте мышкой, и вы сможете забрасывать новые в поток.

    У каждого апплета внизу есть небольшое гамбургер-меню. Нажмите здесь, и один из вариантов — отобразить QR-код. Отсканируйте код с помощью портативного устройства, и через несколько секунд он присоединяется к этому экземпляру, показывая тот же живой контент. Коснитесь экрана телефона, и объект, который вы бросили, мгновенно появится на всех других подключенных устройствах, столкновениях, рикошетах и ​​прочем. Другие демонстрации более практичны и включают интерактивные общие доски или совместное редактирование кода.

    Хотя каждый экземпляр находится в изолированной программной среде в браузере, различные виртуальные среды могут взаимодействовать через «порталы»: живые окна в реальном времени, показывающие содержимое других экземпляров, и, если им предоставлено разрешение, пользователи могут пройти через портал в этот другой экземпляр. Если в 2004 году встраивание браузера в Smalltalk производило впечатление, то теперь этот трюк стал проще. Среда Croquet может содержать несколько веб-представлений в реальном времени, а код Croquet также может извлекать данные из внешних источников и отображать их в виртуальной среде. Это позволяет очень легко, например, создать виртуальное выставочное пространство, в которое пользователи могут входить, исследовать и взаимодействовать, а любые изменения мгновенно распространяются на все другие экземпляры — все в FOSS, без клиента, на любом устройстве.

    Сначала мы отнеслись скептически, когда узнали, что одно из демонстрационных приложений 21-го века для Smalltalk было преобразовано в Javascript, но после того, как мы поиграли с несколькими демонстрациями, мы в этом убедились. Крокет и JavaScript созданы друг для друга.

    Smalltalk сформировал пользовательский интерфейс каждого современного компьютера конечного пользователя, хотя большинство из них не используют Smalltalk. К началу 1980-х годов Smalltalk сделал разработку оконных приложений с графическим интерфейсом буквально детская игра: дети младшего школьного возраста могли легко собирать работающие интерактивные программы, даже не зная, что такое загадочные понятия операционных систем 1960-х годов, такие как «файлы» или «каталоги».

    Несколько многомиллиардных корпораций современной индустрии программного обеспечения потратили десятилетия на пересадку этих технологий пользовательского интерфейса поверх многопользовательских, многозадачных операционных систем, построенных на технологиях 1970-х годов, таких как C и Unix. После 40 лет грандиозных усилий по разработке создание приложений с графическим интерфейсом теперь стало чрезвычайно сложным и трудным делом, сферой деятельности оплачиваемых профессионалов, поддерживающих обширные многомиллионные кодовые базы чрезвычайно хрупкого кода, большая часть которого написана на небезопасных для памяти компилируемых языках, таких как С и С++.

    Но в то же самое время, когда это происходило, Smalltalk развивался в новый язык, который теперь есть почти в каждом компьютере. Тихо, в основном незаметно, люди из Xerox PARC и люди, создавшие TCP/IP и Интернет, перешли к гораздо более амбициозным вещам.

    Переход от перекрывающихся прямоугольных окон к иммерсивным 3D-средам интернет-масштаба. Созданный не из статических, хрупких, скомпилированных языков, а из живых языков с поздней привязкой, код которого можно редактировать на лету в самом инструменте, пока вы его запускаете. Совместно, через интернет. И все же это почти второстепенный атрибут: это примечание, приятное дополнение для людей, которые его создают.

    Приложениями для этого являются такие вещи, как превращение Интернета из набора плоских страниц, которые ссылаются друг на друга, в живую совместную виртуальную среду… с добавленной бесплатно физической моделью… с двусторонними шлюзами в другие экземпляры и из них, и существующие веб-страницы и веб-приложения… что также является богатой средой программирования, но также работает с существующими локальными инструментами… и также может использоваться для создания игр, медиаплееров и других приложений для конечных пользователей… где можно собрать приложение, сравнимое с Zoom или Microsoft Teams — это не крупное техническое предприятие, включающее огромные облачные серверы, а второстепенная, почти тривиальная техническая демонстрация.

    Где «бессерверный» не означает «это на чужом сервере, но вам не нужно знать где», это на самом деле означает «нет серверов».

    И это бесплатно, вы можете встроить его в существующие веб-страницы, и оно работает с вашей существующей инфраструктурой.

    YouTube видео

    Предлагаем посмотреть, а лучше попробовать. Не говоря уже о скриншотах, видео не могут передать это должным образом. Запустите несколько примеров кода, отсканируйте штрих-код на телефоне и посмотрите, как они взаимодействуют. Это, вероятно, самая впечатляющая технология, которую автор видел со времен первых компьютеров с графическим интерфейсом в начале 1980-х годов, и она имеет открытый исходный код. ®

    [ad_2]

    В чем преимущества и инновации, принесенные новым программным обеспечением Javascript, представленным Croquet Corporation?

    ьных и беспрецедентных вещей, которые мы увидим за последние несколько десятков лет. На конференции разработчиков игр, GDC, в Сан-Франциско было объявлено новое от Croquet Corporation представляет из себя бесплатное программное обеспечение Javascript, которое содержит интегрированное физическое моделирование и пространственный звук, направленное на то, чтобы пр

    Предыдущая статьяAssassin’s Creed Odyssey: как легко убить Калидонского вепря
    Следующая статьяПо слухам, Apple снова подала заявку на трансляцию футбольных матчей английской премьер-лиги
    Виктор Попанов
    Эксперт тестовой лаборатории. Первый джойстик держал в руках в возрасте 3 лет. Первый компьютер, на котором „работал” был с процессором Intel i386DX-266. Тестирует оборудование для издания ITBusiness. Будь то анализ новейших гаджетов или устранение сложных неполадок, этот автор всегда готов к выполнению поставленной задачи. Его страсть к технологиям и приверженность качеству делают его бесценным помощником в любой команде.