Введение

Бывший программный проект

Проект Croquet — это программный проект, который был задуман как средство продвижения дальнейшей разработки комплекта разработки программного обеспечения Croquet с открытым исходным кодом для создания и распространения совместных многопользовательских онлайн-приложений. Croquet реализован на Squeak Smalltalk. Croquet обеспечивает связь, совместную работу, обмен ресурсами и синхронные вычисления между множеством пользователей. Приложения, созданные с использованием комплекта разработки программного обеспечения Croquet, могут применяться для поддержки совместной визуализации данных, виртуального обучения и сред для решения задач, 3D-вики, онлайн-игровых сред (включая массовые многопользовательские ролевые онлайн-игры (MMORPG)) и частных или объединенных многопользовательских виртуальных сред. Дальнейшая разработка технологии также привела к появлению проектов Open Cobalt и Open Croquet.

Технические функции

Croquet — это комплект разработки программного обеспечения (SDK) для создания приложений совместных виртуальных миров. Приложения, разработанные с использованием Croquet SDK, автоматически поддерживают совместную работу, поскольку объекты приложений в Croquet используют общий протокол, позволяющий им взаимодействовать друг с другом, применяя принцип реплицированных вычислений (синхронизации) в сочетании с протоколом обмена сообщениями между равноправными узлами. Технология разработана для упрощения репликации между участниками, что значительно снижает накладные расходы, необходимые для широкого развертывания совместных виртуальных миров. Эта эффективность, в сочетании с возможностью развертывания виртуальных миров на базе Croquet на потребительском оборудовании, позволяет разработчикам создавать масштабные и высокоинтерактивные совместные миры с минимальными затратами по сравнению с технологиями виртуальных миров, полностью зависящими от серверной инфраструктуры для поддержки действий пользователей.

Виртуальная машина

Виртуальная машина (ВМ) Croquet работает абсолютно идентично на различных платформах и поддерживает множество возможностей, которые может предоставить только язык с поздним связыванием и отправкой сообщений. Связь Croquet с Squeak наделяет Croquet свойством чисто объектно-ориентированной системы, обеспечивая значительную гибкость в проектировании и природе протоколов и архитектур, разработанных для этой системы. Благодаря этому, Croquet способен продолжать работу во время модификации и тестирования кода, а также внесения изменений, что является ключевым элементом возможностей Croquet для совместной разработки. Пользователи могут изменять код, управляющий средой, непосредственно во время её работы.

Погруженный терф

Первоначальные авторы Croquet основали коммерческую компанию под названием Qwaq, которая впоследствии была переименована в Teleplace. Эта технология позже была продана группе из числа первоначальных разработчиков Croquet и превратилась в Immersive Terf.

История

Крокет – это результат объединения нескольких независимых направлений работы, выполненных шестью его основными разработчиками: Аланом Кеем, Дэвидом А. Смитом, Дэвидом П. Ридом, Андреасом Раабом, Джулианом Ломбарди и Марком МакКахиллом. Современный облик проекта берет начало в беседе Смита и Кея в 1990 году, когда оба выразили свое разочарование состоянием операционных систем того времени. В 1994 году Смит создал ICE – рабочий прототип двухпользовательской системы совместной работы, который стал предшественником ядра современного Croquet. Также в 1994 году команда Марка МакКахилла из Университета Миннесоты разработала GopherVR – трехмерный пользовательский интерфейс для Internet Gopher, чтобы исследовать возможности использования пространственных метафор для организации информации и создания социальных пространств. В 1996 году Джулиан Ломбарди обратился к Смиту с предложением изучить разработку высокорасширяемых интерфейсов для совместной работы в World Wide Web. Позже, в 1999 году, Смит создал систему под названием OpenSpace, которая представляла собой раннюю версию Croquet. Также в 1999 году Ломбарди начал сотрудничать со Смитом над прототипными реализациями высокорасширяемых онлайн-сред для совместной работы, основанных на OpenSpace. Одной из таких реализаций был прототип ViOS – способ пространственной организации всех ресурсов, доступных в Интернете (включая веб-страницы), в масштабируемой многопользовательской трехмерной среде. Смит и Кей официально запустили проект Croquet в конце 2001 года, к ним немедленно присоединились Дэвид Рид и Андреас Рааб. Рид привнес в проект свои многолетние исследования в области масштабируемых одноранговых архитектур обмена сообщениями, основанные на его докторской диссертации, опубликованной в 1978 году. Первый рабочий код Croquet был разработан в январе 2002 года. Одновременно и независимо друг от друга Ломбарди и МакКахилл начали сотрудничать в разработке и внедрении высокомасштабируемых и интегрированных корпоративных архитектур для многопользовательской совместной работы и в 2003 году были приглашены Кеем присоединиться к основной архитектурной группе. С 2003 по 2006 год технология разрабатывалась под руководством шести основных разработчиков при финансовой поддержке Hewlett Packard, Viewpoints Research Institute Inc., Университета Висконсин-Мэдисон, Университета Миннесоты, Японского национального института информационных технологий и коммуникаций (NICT) и частных лиц. 18 апреля 2006 года проект выпустил бета-версию комплекта разработки Croquet Software Development Kit 1.0 с открытым исходным кодом. С тех пор инфраструктура Croquet успешно используется частными компаниями для создания и развертывания коммерческих приложений с закрытым исходным кодом. Параллельно разрабатывались и внедрялись программные решения с открытым исходным кодом для создания безопасных, интерактивных, постоянных виртуальных рабочих пространств для образования и обучения в Университете Миннесоты, Университете Висконсин-Мэдисон, Университете Британской Колумбии и Университете Дьюка. С 2009 года дальнейшее развитие оригинальной технологии Croquet также осуществлялось в рамках проектов Open Cobalt и Open Croquet.