Drupal Как Игровая Платформа (Часть 1)

На одном из докладов я сказал, что мне не интересно делать только сайты.

Мне интересно создавать проекты, выходящие за рамки сайта с информацией о компании «Абырвалг» + интернет-магазин носков.

Мне интересно создавать проекты, предполагающие активное взаимодействие с пользователем.

И вот мне в голову пришла идея сделать игру.

Скажу сразу, что я (пока) не профессиональный разработчик игр и поэтому могу ошибаться.

Я просто делюсь своим опытом.



Начинать

Учитывая особенности Drupal, игра должна быть браузерной.

И не просто скрипт или флеш, встроенный в ноду, а полноценная игра, построенная на Drupal. С самого начала мне не очень хотелось делать что-то сложное; было интересно реализовать саму идею.

Я выбирал между экономической стратегией и файтингом.

Выбор в итоге пал на последнее, поскольку мне показалось, что оно несколько проще.



Давайте начнем строить

Итак, нам понадобится:
  • Игрок
  • Вещи
  • Рынок
  • Реализация боя


Игрок

Я создал персонажа, управляемого человеком, с помощью модуля Профиль2 .

Здесь все довольно просто.

Добавил кучу полей с характеристиками.

Лучший способ группировать поля — использовать Группа полей , и поля, значение которых необходимо получить программно с помощью Вычисляемые поля .

Нам потребуется закрыть некоторые поля от редактирования (например, деньги, здоровье и т.д.).

Нам поможет это сделать Разрешения на поля .

Процесс «оборудования» реализуется с помощью Ссылка на сущность И Просмотры .

Хотя сайт без просмотров все равно нужно поискать.



Вещи

С игроком разобрались.

Давайте посмотрим на оборудование.

Здесь, как ни странно, тоже нет ничего особо сложного.

Обратимся к моей статье о товарах с атрибутами и делаем классы товаров «Оружие», «Доспехи», «Амулеты» и так далее.

И да, нам это все еще нужно.

Уберкарт .



Рынок

Нам также понадобится упомянутый выше Ubercart для реализации рынка вещей.

Процесс назначения определенного предмета из базы данных конкретному игроку я реализовал с помощью модуля Флаг И Правила .

Делаем флаг (не глобальный!) «мой» и при покупке предмета вешаем его на этот узел отметьте «мой» от имени покупателя.

За счет этого также реализуется «экипировка» игрока.

Мы также показываем инвентарь с помощью представлений.

Мы просто отображаем все узлы с флагом «мой» и группируем по «классу» вещей.



Реализация боя

Вот самое интересное.

Реализовывая это, я фактически впервые близко познакомился с программированием на Drupal. Нам нужно будет включить PHP Filter в модулях.

Моей главной идеей при продумывании игры была фишка в том, что на человека можно нападать только тогда, когда он к этому готов.

Поэтому в «анкете» я сделал поле «готов к бою» и с помощью Просмотров вывел всех игроков, готовых к бою.

Далее делаем флаг «атаковать игрока» и привязываем к назначению этого флага правило, учитывающее:

  • Урон от оружия
  • эффективность брони
  • Количество здоровья
  • Исправления урона и здоровья от амулетов


Нижняя граница

В результате играть на Drupal вполне возможно.

Критика в комментариях приветствуется.

Особенно буду признателен за критику со стороны разработчиков игры.

Теги: #drupal #gamedev #Ненормальное программирование #drupal

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.