Добавление пользовательского LUA кода

Начата разработка добавления пользовательский скриптов которые можно вешать на объекты. Тем самым пользователи пользующиеся сервисом по предоставлению API для онлайн игр смогут создавать собственные сценарии игры и игровые механики , добавляя их любым объектам, игрокам и npc (так называемые события). Событиями будут иметь свой таймаут срабатывания и могут быть такими как:

  • Регенерация, где пользователь сервиса сам настраивает на своем аккаунте как и по каким параметрам будет она происходить, например в зависимости от времени суток, вещей в инвентаре, выпитых зелий и бесконечного множества других условий которые можно самим заложить с помошью кода Lua 
  • Дебафы в зависимости от условий 
  • Атаки со стороны npc в зависимости от условий
  • Реакция и действия NPC, объектов и игрового мира в целом на окружающий мир 
  • Преследование
  • Движение со своими алгоритмами как далеко и куда моб , например, может уйти
и тд

В функции событий Lua будут передаваться таблица (массив данных) самого объекта (если событие вешается на игрока - то это игрок, если на моба - моб и тп) и таблица с данными всех остальных объектов на карте (в которой есть игроки, неживые объекты и npc ). Так же из Lua буду доступны  вспомогательные функции реализованные на сервере, такие как 

  • поиск объектов в радиусе
  • поиск кратчайшего пути до выбранного объекта
  • отправка персональных пакетов игроку (в остальном все данные что будут меняться объектам будут разосланы всем)
Помимо событий что вешаются на объекты будут доступны события которые можно вызвать из клиента , например такие как

  • использование определенной магии с указанием как она влияет на игрока и весь окружающий мир
  • вызов существ 
  • действие с объектами и npc

По сути своей данная возможность позволит пользователям сервиса писать механики и команды, а сервис возьмёт на себя улучшение скорости работы , удобства администрирования игр пользователей, онлайн взаимодействия 






Все новости

Что нового?


Статьи про разработку продукта

PHP, Программирование, Разработка игр, Unity, Unreal Engine, php, игровой сервер, разработка сервисов, онлайн-игры, разработка онлайн-игр

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

В этой статье я расскажу о причинах , по которым пришлось сменить взаимодействие между потоками на процессы и выделить компоненты в отдельные сервисы.

Бонус - архитектура игрового сервера в картинках.

Читать далее
Создание сервера для онлайн ММО игр на PHP ч.14 — Сетевая карта и задержка кадра (Latency frame) по RFC 2544 (1242)
PHP, Проектирование и рефакторинг, Разработка игр, Сетевые технологии, Параллельное программирование, php, go, c#, онлан игры
Создание сервера для онлайн ММО игр на PHP ч.13 — Event-driven паттерн, JSON-RPC и почему не сервисная (SOA) архитектура
PHP, Программирование, Проектирование и рефакторинг, Разработка игр, Алгоритмы, php, event-driven, разработка игр, mmo, mmorpg, шаблон проектирования
Создание сервера для онлайн ММО игр на PHP ч. 12 — Очереди и параллельное программирование на CPU
PHP, Анализ и проектирование систем, Разработка игр, Сетевые технологии, Параллельное программирование, php, go, онлайн-игры, очереди, очереди задач, очереди сообщений, очереди с приоритетом, websocket, unity, ммо

Кабинет

Игры