Позиционирование TSGF (Ts-GameFramework)
TSGF — это фреймворк для разработки онлайн-игр с открытым исходным кодом, который представляет собой комплексное решение «всё в одном» и написан на языке TypeScript.
«Чёрный ящик» позволяет реализовывать онлайн-игры: клиентский SDK стыкуется с сервером, при этом не нужно заботиться о коммуникации и синхронной логике.
Пользователь может расширять синхронную логику и различные интерактивные сценарии.
Подробности
Временная диаграмма (см. рисунок).
Gate — сервер входа и управления кластером, выполняет роль сервера планирования. Существует необходимость разделения.
Backend — сервер игровой логики, один сервер соответствует одной глобальной игре, все подключённые игроки считаются присоединившимися к этой игре. Можно также использовать концепцию комнаты.
Frontend — клиент игры (включая 2 демоверсии), импортируется в проекты Creator 3.4.2 для запуска демонстрационной версии Creator.
Информация о подключении настраивается в конфигурационных файлах Gate и backend.
В качестве коммуникационного фреймворка используется TSRPC, поэтому сгенерированный код / синхронный модуль поставляется вместе с этим фреймворком, что приводит к появлению каталога с именем каждого элемента и относительного пути (незнакомого с хаосом, приводящего к ошибке).
PS: Корень каждого проекта требует выполнения команды npm i, frontend необходимо открыть один раз с помощью Creator.
Зависимости: redis, mysql.
Для каждой стороны каталога (GATE, BACKEND) выполняется команда npm install (можно выполнить один раз).
Каталоги GATE и backend содержат файлы gf.*.config.json (в основном настройка redis и mysql).
Выполняется cd gate, затем команда npm run dev.
Выполняется cd backend, затем команда npm run dev.
Запускается файл /SimpleDeploy/run.bat.
Зависимости: redis, mysql.
Для каждой стороны каталога (GATE, BACKEND) выполняется команда npm install (выполняется один раз).
Для каждого каталога (GATE, BACKEND) выполняется NPM Run Buildts, затем упаковываются следующие файлы:
./deploy
./dist
./node_modules
. / GF.*.config.json (конфигурация изменяется в соответствии с реальной ситуацией).
Развёртывание на Windows предоставляет услуги быстрого развёртывания, администратор запускает deploy/install_runasadmin.cmd.
Развёртывание на Linux можно использовать pm2 для запуска: pm2 start dist/index.js.
Выполняется команда cd frontend, затем npm install (один раз).
Просмотр простого многопользовательского боя: frontend импортирует Creator, запускается assets/occupationthewar/occupationscene.scene.
Эффект боя (см. изображение).
Предварительный просмотр, для открытия второго клиента необходимо открыть адрес предварительного просмотра с окном private или переключиться на два браузера.
Браузер Vue: выполняется команда cd frontend, затем npm run vue (если браузер не запущен, вручную откройте выходной адрес).
Пример изображения (см. Demo1.gif).
На данный момент не предоставляются мультиплексные режимы, только копирование исходного кода, две разработки или справочные модули. Эта функция ожидается в версии V1.2.0.
Отделение данных состояния, например классический дизайн ECS, удобная синхронизация состояний или использование фреймовой синхронизации в качестве промежуточного кэша состояний.
Отделение операций ввода: удобный доступ к фреймовой синхронизации.
Фактически, любой онлайн-игре требуется такой дизайн, здесь представлены принципы дизайна, предложенные в этом фреймворке.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )