На одном из докладов я сказал, что мне не интересно делать только сайты.
Мне интересно создавать проекты, выходящие за рамки сайта с информацией о компании «Абырвалг» + интернет-магазин носков.
Мне интересно создавать проекты, предполагающие активное взаимодействие с пользователем.
И вот мне в голову пришла идея сделать игру.
Скажу сразу, что я (пока) не профессиональный разработчик игр и поэтому могу ошибаться.
Я просто делюсь своим опытом.
Начинать
Учитывая особенности Drupal, игра должна быть браузерной.И не просто скрипт или флеш, встроенный в ноду, а полноценная игра, построенная на Drupal. С самого начала мне не очень хотелось делать что-то сложное; было интересно реализовать саму идею.
Я выбирал между экономической стратегией и файтингом.
Выбор в итоге пал на последнее, поскольку мне показалось, что оно несколько проще.
Давайте начнем строить
Итак, нам понадобится:- Игрок
- Вещи
- Рынок
- Реализация боя
Игрок
Я создал персонажа, управляемого человеком, с помощью модуля Профиль2 .Здесь все довольно просто.
Добавил кучу полей с характеристиками.
Лучший способ группировать поля — использовать Группа полей , и поля, значение которых необходимо получить программно с помощью Вычисляемые поля .
Нам потребуется закрыть некоторые поля от редактирования (например, деньги, здоровье и т.д.).
Нам поможет это сделать Разрешения на поля .
Процесс «оборудования» реализуется с помощью Ссылка на сущность И Просмотры .
Хотя сайт без просмотров все равно нужно поискать.
Вещи
С игроком разобрались.Давайте посмотрим на оборудование.
Здесь, как ни странно, тоже нет ничего особо сложного.
Обратимся к моей статье о товарах с атрибутами и делаем классы товаров «Оружие», «Доспехи», «Амулеты» и так далее.
И да, нам это все еще нужно.
Уберкарт .
Рынок
Нам также понадобится упомянутый выше Ubercart для реализации рынка вещей.Процесс назначения определенного предмета из базы данных конкретному игроку я реализовал с помощью модуля Флаг И Правила .
Делаем флаг (не глобальный!) «мой» и при покупке предмета вешаем его на этот узел отметьте «мой» от имени покупателя.
За счет этого также реализуется «экипировка» игрока.
Мы также показываем инвентарь с помощью представлений.
Мы просто отображаем все узлы с флагом «мой» и группируем по «классу» вещей.
Реализация боя
Вот самое интересное.Реализовывая это, я фактически впервые близко познакомился с программированием на Drupal. Нам нужно будет включить PHP Filter в модулях.
Моей главной идеей при продумывании игры была фишка в том, что на человека можно нападать только тогда, когда он к этому готов.
Поэтому в «анкете» я сделал поле «готов к бою» и с помощью Просмотров вывел всех игроков, готовых к бою.
Далее делаем флаг «атаковать игрока» и привязываем к назначению этого флага правило, учитывающее:
- Урон от оружия
- эффективность брони
- Количество здоровья
- Исправления урона и здоровья от амулетов
Нижняя граница
В результате играть на Drupal вполне возможно.Критика в комментариях приветствуется.
Особенно буду признателен за критику со стороны разработчиков игры.
Теги: #drupal #gamedev #Ненормальное программирование #drupal
-
Словенский Язык
19 Oct, 24 -
Жучок Для Подслушивания Своими Руками
19 Oct, 24 -
Предупреждение О Взломе Debian
19 Oct, 24