Рейтинг@Mail.ru

Наши друзья и партнеры

UnixForum





Библиотека сайта rus-linux.net

Фреймворк Thousand Parsec

Оригинал: "Thousand Parsec", глава из книги "The Architecture of Open Source Applications"
Авторы: Alan Laudicina and Aaron Mavrinac
Перевод: Н.Ромоданов

Перевод был сделан в соответствие с лицензией Creative Commons. С русским вариантом лицензии можно ознакомиться здесь.


21.4. Усвоенные уроки

Создание и разработка обширного фреймворка Thousand Parsec предоставило разработчикам достаточно много возможностей, позволяющих оглянуться назад и оценить проектные решения, которые были сделаны на этом пути. Разработчики исходного ядра Тим Ансел (Tim Ansell) и Ли Бегг (Lee Begg), создавшие исходный фреймворк с нуля, поделились с нами некоторыми рекомендациями, касающимися запуска аналогичного проекта.

21.4.1. Что работает

Основным ключевым аспектом в разработке проекта Thousand Parsec было решение выделить и создать подмножество фреймворка, за которым бы последовала реализация. Этот итеративный и поэтапный процесс разработки позволил фреймворку расти органически, во время которого новые функции добавлялись без возникновения проблем. Это привело напрямую к решению разрабатывать версии протокола Thousand Parsec, что привело к ряду крупных успехов. Использование версий протокола позволило фреймворку расти непрерывно, причем, при этом, в него по ходу дела добавлялись игры, использующие новые методики.

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

21.4.2. Что не работает

Основным недостатком фреймворка Thousand Parsec оказалось решение использовать двоичный протокол. Как вы можете себе представить, отладка двоичного протокола оказалась совсем не веселой задачей, и это привело к затягиванию многих сеансов отладки. Мы настоятельно бы рекомендовали, чтобы никто в будущем не вставал на этот путь. При разработке протокола также следовало бы проявлять больше гибкости; когда создается протокол, важно реализовывать только базовые возможности, которые необходимы.

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

21.4.3. Заключение

Точно так же, как и при инспекции остова корпуса тяжелого боевого корабля на орбитальной верфи, мы прошлись по различным особенностям архитектуры проекта Thousand Parsec. Хотя общие проектные критерии гибкости и расширяемости сидели в умах разработчиков с самого начала, для нас, когда мы рассматриваем историю разработки фреймворка, очевидно, что только экосистема с открытыми исходными кодами, изобилующая свежими идеями и точками зрения, была в состоянии предоставить новый пласт возможностей, сохраняя при этом функционирование и целостность проекта. Это особенно амбициозный проект, и, как и во многих других подобных проектах из зоны существования открытых исходных кодов, в нем еще многое предстоит сделать; это наша надежда и ожидание того, что с течением времени проект Thousand Parsec будет продолжать развиваться и расширять свои возможности и для него будут разрабатываться все новые и все более сложные игры. В конце концов, путешествие в тысячу парсеков начинается с одного шага.

Примечания

  1. К числу некоторых отличных коммерческих примеров, получивших вдохновение от Thousand Parsec, относятся VGA Planets и Stars!, a также серии игр Master of Orion, Galactic Civilizations и Space Empires. Для тех, кто не знаком с этими названиями, серии игр Civilization — популярный пример игр того же стиля, но в другой обстановке. Также есть ряд игр реального времени в жанре 4X , например, Imperium Galactica и Sins of a Solar Empire.
  2. На самом деле, наоборот: сообщения и форумы были созданы на основе распоряжений из второй версии протокола.

Creative Commons

Перевод был сделан в соответствие с лицензией Creative Commons. С русским вариантом лицензии можно ознакомиться здесь.


К началу статьи: Фреймворк Thousand Parsec

Поделиться: