Open Cobalt — это бесплатная программная платформа с открытым исходным кодом для создания, доступа и совместного использования виртуальных миров как в локальных сетях , так и через Интернет , без необходимости использования централизованных серверов.
Эта технология позволяет легко создавать многопользовательские виртуальные рабочие пространства с глубокими связями и гиперссылками , виртуальные выставочные пространства, а также игровые среды обучения и обучения, которые работают на всех основных операционных системах программного обеспечения . Используя протокол передачи сообщений на основе одноранговой сети, чтобы уменьшить зависимость от серверной инфраструктуры для поддержки базового взаимодействия между многими участниками, Open Cobalt позволяет людям связывать свои виртуальные миры гиперссылками через 3D -порталы , чтобы сформировать большой распределенная сеть взаимосвязанных пространств для совместной работы. Это также позволяет школам и другим организациям свободно создавать свои собственные сети общедоступных и частных виртуальных 3D-рабочих пространств, которые включают интегрированный просмотр веб-страниц , голосовой чат , текстовый чат и доступ к приложениям и службам удаленного рабочего стола .
Open Cobalt использует программную среду Squeak , которая представляет собой систему Smalltalk с открытым исходным кодом, бесплатно доступную для Windows, Mac и Unix. Как и почти любое приложение Smalltalk, Open Cobalt одинаково функционирует на любой поддерживаемой платформе. Поскольку это система Smalltalk, ее обычно можно обновлять во время работы системы без необходимости ее перезапуска.
Open Cobalt предназначен для развертывания безопасных пространств виртуального мира, которые поддерживают образование, исследования и деятельность виртуальных организаций . Используя 3D-графику на основе OpenGL , Open Cobalt поддерживает высокомасштабируемую совместную визуализацию данных , виртуальные среды обучения и решения проблем, 3D-вики, среды онлайн-игр, называемые многопользовательскими ролевыми онлайн-играми (MMORPG), а также конфиденциально и безопасно поддерживаемые многопользовательские игры. виртуальные среды.
Приложение Open Cobalt использует одноранговый обмен сообщениями, чтобы устранить необходимость в серверах/коммерческих услугах виртуального мира, а также упрощает для конечных пользователей создание и безопасный обмен виртуальными мирами с глубоким сотрудничеством, которые работают во всех основных программных операционных системах. Пользователи, перемещающиеся и взаимодействующие в мирах Open Cobalt, одновременно участвуют и сотрудничают в динамичной, параллельной среде, где они могут работать, исследовать и учиться на уровне интеграции и расширяемости, который нелегко достичь с помощью коммерческих технологий виртуального мира. Без лицензионных сборов пользователи и разработчики также могут свободно создавать и совместно использовать высокофункциональные многопользовательские виртуальные рабочие пространства, игровые среды обучения и тренировок или даже просто создавать места для встреч и общения с друзьями.
Open Cobalt создан на основе пакета разработки программного обеспечения Croquet (SDK), который был публично выпущен под лицензией MIT компаниями Hewlett-Packard и Croquet Consortium в начале 2007 года. [1]
В начале 2008 года при поддержке Фонда Эндрю У. Меллона [2] Джулиан Ломбарди и Марк П. МакКахилл из Университета Дьюка начали работу сообщества по разработке программного обеспечения с целью создания Open Cobalt как виртуального мира с открытым исходным кодом. браузерное приложение и набор инструментов для построения.
В мае 2008 года Ломбарди получил грант Национального научного фонда [3] на дальнейшее укрепление усилий сообщества по разработке программного обеспечения и доведение браузера виртуального мира Open Cobalt до его альфа- версии.
Вместе с Джоном Дуганом в качестве руководителя технического проекта и растущим международным сообществом разработчиков программного обеспечения и волонтеров участники проекта Open Cobalt выпустили Open Cobalt Alpha в апреле 2010 года.
OpenCobalt 1.0 Alpha 22 был выпущен в июне 2015 года. О последних действиях, связанных с проектом, можно узнать в группе Open Cobalt Google.
Цели проекта Open Cobalt — стимулировать использование распределенных виртуальных сред, продвигать визуальное моделирование и углублять сотрудничество в сфере образования, исследований и личных развлечений — и при этом:
Open Cobalt — это одновременно приложение для конечного пользователя и полнофункциональная среда разработки программного обеспечения для создания богатой сети взаимосвязанных виртуальных миров, созданных конечными пользователями. Она более расширяема, чем запатентованные технологии, лежащие в основе таких миров совместной работы, как Second Life и до этого ViOS . Это потому что:
В отличие от большинства других платформ виртуального мира (за исключением архитектуры Hypergrid OpenSimulator ), Open Cobalt использует метод гиперссылок , известный как «пространственное соединение», [4] который напоминает оконную раму или портал и при вращении показывает 360-градусное представление одного региона в реальном времени для пользователя в другом регионе; через такие порталы также могут проходить пользователи. Связь с пространством — это альтернатива телепортации, более распространенный способ перемещения между регионами или пространствами, а также основной способ перемещения между целыми сетками.
Подобно красным ссылкам MediaWiki , такие порталы также используются для ссылки на еще не созданные пространства или регионы (окрашены в черный цвет), чтобы указать на необходимость создания новых пространств. [5]
Open Cobalt — это приложение, созданное с использованием инструментария разработчика программного обеспечения Open Croquet . Его связь с открытым крокетом дает ему ряд мощных возможностей.
Среда разработки программного обеспечения Open Cobalt позволяет программистам пользоваться возможностями настоящего языка отправки сообщений с поздней связью . Поскольку Open Cobalt построен на Squeak / Croquet , он представляет собой чисто объектно-ориентированную систему программирования, обеспечивающую значительную гибкость в ее проектировании и реализации.
В рамках Open Cobalt программисты могут редактировать исходный код трехмерного мира изнутри мира и сразу же видеть результат, пока мир еще работает. Работающую программу не обязательно завершать, и цикл разработки «компиляция-связывание-запуск-отладка» отсутствует. Любую часть программы можно редактировать, вплоть до виртуальной машины (ВМ) и вызовов OpenGL . Использование Open Cobalt универсального распределителя памяти и сборщика мусора Squeak делает его высокоэффективным в режиме реального времени и позволяет безопасно изменять форму объектов.
Как и Squeak, Open Cobalt поддерживает множество неанглийских языков и шрифтов , таких как немецкий , испанский , французский и японский .
В основе Open Cobalt лежит объектно-ориентированная семантика, основанная на активных объектах , обладающих способностью временного отражения .
Каждый объект осознает и напрямую контролирует свое поведение во времени. Open Cobalt также напрямую поддерживает репликацию вычислений, позволяя по требованию перемещать вычисления ближе к точке взаимодействия, сохраняя при этом согласованное представление о поведении, которое можно масштабировать для включения тысяч узлов. Это достигается за счет использования комбинации семантики объектов и модифицированной версии однорангового протокола обмена сообщениями TeaTime Дэвида П. Рида в качестве распределенной системы транзакций сообщений, позволяющей реплицировать вычисления (синхронизацию) между несколькими узлами. [6] Это делает реплицированные вычисления такими же простыми, как и репликацию данных, и делает синхронизацию всех событий между несколькими узлами фундаментальным свойством системы.
Благодаря этим свойствам разработчики программного обеспечения могут использовать Open Cobalt как способ создания приложений для глубокого сотрудничества, не прилагая усилий, необходимых для понимания того, как работают реплицируемые приложения. Это снижает накладные расходы на программирование, необходимые для широкого развертывания виртуальных пространств с глубокими возможностями совместной работы. Это также позволяет развертывать и координировать деятельность виртуальных миров на нескольких машинах без необходимости поддерживать ресурсы центрального сервера (кроме тех, которые необходимы для специализированных данных и услуг институционального промежуточного программного обеспечения).
Реализация TeaTime от Open Cobalt включает в себя: