Pull to refresh

DQ: Horizons

Reading time5 min
Views182
image
DQ: Horizons – это многопользовательская космическая веб-стратегия (turn-based space web strategy) рассчитанная на одновременную игру нескольких тысяч (и более, в зависимости от мощности сервера) человек.
Действие игры происходит во вселенной Delta Quadrant – sci-fi вселенной, где присутствует множество как гуманоидных (типичный пример — люди) так и не гуманоидных рас и даже не рас в прямом смысле этого слова.

Сами события в DQ:Horizons происходят за много веков до событий в игре предшественнице — DQ: Empires — мы предлагаем вам поиграть за самую агрессивную и понятную нам всем расу — людей, которые только-только становятся на путь познания и овладевания вселенной и перед которыми раскрываются широкие горизонты.
Для того, чтобы играть в DQ:Horizons (как и во все подобные игры), требуется всего лишь наличие подключения к Интернету и обыкновенный веб браузер – в данном случае для игры достаточно Mozilla Firefox или аналогичного по функциональности браузера.
Любой пользователь, обладающий навыками навигации в Интернет без труда разберется в интерфейсе игры – это обычная веб страница.
Несмотря на то, что действие игры происходит в фантастической вселенной, при создании самой игры мы использовали некоторые реальные определения из астрономии – к примеру, классы звезд взяты оттуда. При этом, разумеется сделаны некоторые допущения – расстояния между соседними звездами значительно меньше наблюдаемых в реальности, и практически каждая звезда обладает планетарной системой.
В игре также присутствуют и аномальные объекты – черные дыры (данные объекты пока недоступны в основной версии игры) и червоточины (wormholes). Первые могут уничтожить пролетающий мимо флот, вторые – могут помочь преодолеть значительные расстояния всего лишь за один ход.
Игра происходит следующим образом: игрок регистрируется в системе, выбирает галактику из списка доступных для игры, вводит желаемое имя для своей Империи и сразу может приступить к игре. После этого в его распоряжение поступает соответствующее количество ресурсов, необходимого для дальнейшего развития. Управляет своей империей игрок отдавая команды – некоторые из них могут давать результат моментально, некоторые требуют определенного игрового времени.
Раз в час (полчаса, четверть часа) происходит «ход» — система одновременно производит расчет действий всех игроков в системе. По результатам этих расчетов в империях добываются ресурсы, происходят битвы и прочие игровые события. Используемые нами технологии (транзакционность Firebird тут играет ключевую роль) гарантируют, что либо «ход» пройдет для всех игроков, либо (в случае критической ошибки, к примеру) не пройдет совсем – последнее, правда, устраняется на этапе тестирования и в настоящее время практически не происходит.

Цели игры:
стать самым влиятельным в данной галактике;
захватить планеты, охраняемые расой Хранителей (неигровая сторона);
захватить всю галактику.

Для более удобной игры есть «Гид Игрока», где объясняются все пункты меню и прочие особенности игры.
Игра расчитана на широкую интернациональную аудиторию – от школьников до взрослых, которым интересно попробовать себя в качестве правителя галактической империи. Несмотря на то, что основной упор в игре сделан на командную игру, т.е. противостояние альянсов, поклонники Masters Of Orion смогут заметить некоторые идеи, позаимствованные оттуда.

Особенности

Наиболее интересными и привлекательными с точки зрения игроков решениями в нашей игре являются следующие пункты:

  1. Наличие реальной карты Галактики, где происходят события. Карта является не просто красивым рисунком, а создается на основе реальных игровых данных. Нам особенно приятно, что подобная «фишка» в играх стала почти стандартом во всех играх подобного типа именно благодаря нашей предыдущей игре.
  2. Наличие тактической карты, так же строящейся с учетом игровых обстоятельств – исследованных систем, флотов альянса, местоположения противника и т.д.
  3. Возможность навигации по карте с возможностью просмотра характеристик практически всех объектов, отобржаемых на карте. (Звезд, флотов игроков и так далее).
  4. В самой игре есть общегалактический форум –отдельно для каждой Галактики – доступный для любого игрока в данной Галактике, и форумы альянсов, каждый из которых доступен только членам конкретного альянса.
  5. Наличие удобного интерфейса, сводящего к минимуму действия игрока по управлению собственной Империей.
  6. Наличие внутриигровой системы приватных сообщений.
  7. Огромнейший простор для стратегических маневров с участием нескольких альянсов.
  8. Широкий простор для боевых действий как в одиночку, так и с помощью союзников – в нашей игре участие в альянсе дает возможность проводить совместную с союзниками атаку или защиту.
  9. Единое информационное пространство для членов альянса – системы, известные одному из игроков, становятся известными всем членам альянса.
  10. Уникальная система боев – от космических до орбитально-планетарных.
  11. Возможность торговли на внутриигровом рынке всеми игроками Галактики.
  12. Возможность создания Галактик с разной скоростью течения времени, разной географией и даже разными начальными условиями.
  13. Наличие внешнего форума, позволяющего общаться игрокам всех Галактик.


Технические подробности и не только

Тем, кто занимается разработкой подобных игр (да и просто людям из IT-индустрии), наверняка будет интересно узнать, что:
  1. Практически вся логика игры реализована в виде хранимых процедур БД Firebird SQL 2.1, причём это не какая-то особенная сборка, а mainstream версия. Эта особенность позволяет выполнять любую «надстройку» в качестве интерфейса — будь то другая языковая версия игры или графический интерфейс в виде отдельного приложения.
  2. В БД 69 таблиц, 275 процедур и 25 триггеров, скрипт метаданных БД занимает 700 КБ текста.
  3. Сам веб-интерфейс игры написан на PHP5 с использованием шаблонов Smarty и мы активно используем AJAX в самом игровом интерфейсе.
  4. Приложение, которое осуществляет «игровой ход» написано на C++ только из-за того, что процедура космического боя — многофазная и требует очень интенсивной работы с массивами чисел, но при всём этом, до недавнего времени эта процедура была полностью на SQL.
  5. Игра была изначально написана просто для отработки некоторых технологий (AJAX, Jquery) одним человеком за 4 месяца.
  6. Размер нынешней игровой БД — чуть больше 300 мегабайт.
  7. Таблица с логами боёв содержит более миллиона записей, основные данные — числа.
  8. В графическом оформлении игры принимали участие таки специалисты по компьютерной графике (и космической тематике, в частности) как Геннадий (Henry) Пашков и Артём (Executor2005) Смирнов.
  9. Данная игра является хобби, и несмотря на то, что в игре есть некоторые платные игровые сервисы, мы практически не предпринимаем никаких усилий по её коммерческому продвижению.


Ну и небольшая фотосессия игры:
image
image
image
image
image
image
image
image
image
image

Опубликовано по просьбе друзей, не зарегистрированных на Хабре. Ответы на вопросы, при их возникновении, будут даны авторами, и опубликованы. (У меня что либо спрашивать про эту игру, как впрочем и про практически любую другую, бесполезно, не игрок.)
Сайт игры.
UPD На все вопросы заданные в теме — ответы авторов.
UPD 2 Так как на хабре появился один из авторов игры, то все вопросы можно задать в его личном блоге.
Tags:
Hubs:
+33
Comments47

Articles

Change theme settings