demo-personas.json

Обзор файла

Файл demo-personas.json представляет собой структурированный JSON-документ, который описывает набор демонстрационных игровых персонажей (персон), а также окружение и настройки демонстрации для игровой системы, основанной на использовании внутренней валюты "MANA". Основная цель файла — предоставить готовые профили пользователей с различными уровнями опыта, действиями и сценариями использования, чтобы продемонстрировать возможности игры и ее экономической модели в тестовом режиме.

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


Структура файла и подробное описание

Основные разделы


1. Раздел "personas"

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

Структура отдельной персоны

{
  "name": "string",
  "description": "string",
  "profile": { ... },
  "demoActions": [ ... ],
  "demoFlow": { ... }
}
Пояснения к полям:

Описание профиля персонажа (profile)

Для персонажа validator добавляются дополнительные поля:


Описание demoActions

Каждое действие содержит:

Пример использования для casual_gamer:

{
  "action": "craft_sword",
  "description": "Craft first weapon",
  "manaCost": 100,
  "expectedResult": "Iron Sword added to inventory"
}

Описание demoFlow

Объект с параметрами демонстрационного процесса:


2. Раздел "demoEnvironment"

Содержит текущие метрики сети и экономики:


3. Раздел "demoSettings"

Настройки поведения демонстрации:


Важные детали реализации и алгоритмы


Взаимодействие с другими частями системы


Пример использования

import demoPersonas from './demo-personas.json';

// Получить профиль casual_gamer
const casualGamer = demoPersonas.personas.casual_gamer.profile;

// Запустить первое демонстрационное действие
const firstAction = demoPersonas.personas.casual_gamer.demoActions[0];
console.log(`Выполняем действие: ${firstAction.description} (стоимость: ${firstAction.manaCost} MANA)`);

// Отобразить ключевые моменты демонстрационного потока
demoPersonas.personas.casual_gamer.demoFlow.keyPoints.forEach(point => {
  console.log(`- ${point}`);
});

Диаграмма структуры файла

flowchart TD
    personas["personas"]
    demoEnv["demoEnvironment"]
    demoSet["demoSettings"]

    personas --> casualGamer["casual_gamer"]
    personas --> powerUser["power_user"]
    personas --> validator["validator"]

    casualGamer --> cgProfile["profile"]
    casualGamer --> cgActions["demoActions"]
    casualGamer --> cgFlow["demoFlow"]

    powerUser --> puProfile["profile"]
    powerUser --> puActions["demoActions"]
    powerUser --> puFlow["demoFlow"]

    validator --> valProfile["profile"]
    validator --> valActions["demoActions"]
    validator --> valFlow["demoFlow"]

    demoEnv --> networkStatus["networkStatus"]
    demoEnv --> economicMetrics["economicMetrics"]
    demoEnv --> gameMetrics["gameMetrics"]

    demoSet --> autoAdvance["autoAdvance"]
    demoSet --> showMetrics["showMetrics"]
    demoSet --> enableInteraction["enableInteraction"]
    demoSet --> fallbackMode["fallbackMode"]
    demoSet --> recordSession["recordSession"]

Итог

Файл demo-personas.json — это ключевой компонент системы демонстрации игрового приложения, обеспечивающий многообразие персонажей, реалистичные игровые сценарии и актуальную статистику для тестирования и презентации функционала игры. Он структурирован таким образом, чтобы покрыть разные категории пользователей и поддерживать гибкую настройку поведения демо-режима.