Crie um RPG mínimo do zero usando os wizards — em ~15 minutos.

Seu primeiro projeto#

Vamos criar um GDD pequeno (uma dezena de páginas) pra você sentir o fluxo. O exemplo é um RPG de fantasia com economia simples, atributos, uma habilidade e um item.

Antes de começar#

Pré-requisitos:

  • Conta no GDD Manager (cadastro grátis em /login)
  • 15 minutos
  • Vontade de inventar nomes legais (você vai precisar)

Passo 1 — Crie o projeto#

Na página inicial (/), clique em "+ Novo projeto".

Dê um nome (ex.: Tutorial Aventura) e uma descrição curta. O projeto nasce vazio, com a estrutura padrão de 5 grupos (Visão Geral, Design, Conteúdo, Apresentação, Produção) — você pode ignorar esses por enquanto.

Passo 2 — Página de Atributos#

A primeira página real é a de Atributos, porque tudo no jogo vai depender dela.

  1. No sidebar, clique no + ao lado de Conteúdo (ou outro grupo).
  2. No picker, escolha o tipo 🎯 Atributos.
  3. Dê o nome Atributos Base.

A página nasce com uma tabela de atributos pré-populada (HP, ATK, DEF, SPD). Edite os valores padrão se quiser:

HP   100
ATK  10
DEF  5
SPD  5

Passo 3 — Página de Moeda#

Em seguida, uma moeda pra economia funcionar.

  1. + Nova página → tipo 🪙 Economia.
  2. Nome: Ouro.
  3. Configure no painel: código GOLD, nome Ouro, ícone se quiser.
  4. Defina o DataID clicando em "+ DataID" abaixo do título — sugestão padrão DATA_OURO, edite pra DATA_GOLD se preferir consistência.

Pronto — agora tem uma moeda que outros addons podem referenciar.

Passo 4 — Página de Item#

Vamos criar um item: Espada de Ferro.

  1. + Nova página → tipo ⚔️ Itens com efeito.
  2. O wizard vai abrir perguntando duas dependências:
    • Moeda: escolha Ouro (criada no passo 3).
    • Atributos: escolha Atributos Base (criada no passo 2).
  3. Nome da página: Espada de Ferro. Clique em "+ DataID" abaixo do título e edite pra DATA_IRON_SWORD (a sugestão automática vai ser algo tipo DATA_ESPADA_DE_FERRO).

A página nasce com 3 addons já configurados:

  • Inventário — peso, categoria, pilha
  • Economia — preço de compra (ex.: 100 GOLD), preço de venda (50 GOLD)
  • Modificadores de Atributos+5 ATK quando equipada

Configure os campos. Cada mudança salva automaticamente.

Passo 5 — Página de Habilidade#

Agora a parte divertida: uma habilidade de fogo.

  1. + Nova página → tipo ⚡ Habilidades.
  2. Wizard pergunta: qual página de Atributos? Escolha Atributos Base.
  3. Nome: Fireball. DataID (clique abaixo do título): DATA_FIRE_BALL.

A página nasce com 2 addons:

  • Habilidades (vazia)
  • Efeitos das Habilidades (Modificadores de Atributos, vazio)

Vamos preencher:

No addon de Modificadores, adicione uma entry:

  • Nome: Fireball Impact
  • Atributo: hp
  • Modo: add
  • Valor: -30

No addon de Habilidades, adicione uma skill:

  • Nome: Fireball
  • Tipo: ativa
  • Recarga entre usos: 5 (segundos)
  • Custos: nada por enquanto
  • Efeitos: marque a checkbox Fireball Impact (do modifier acima)

Pronto. Quando o jogo executar a Fireball, vai aplicar -30 em hp do alvo.

Passo 6 — Remote Config (export)#

O último passo: configurar o JSON que o motor consome.

  1. Em qualquer página (recomendo criar uma 📤 Configuração de Export), adicione um addon Remote Config.
  2. No painel, monte uma árvore tipo:
{
  "skills": [        ← array, source: skills:DATA_FIRE_BALL
    {
      "id": "...",       ← skillField/id (resolve pra dataId)
      "name": "...",     ← skillField/name
      "cooldown": 0,     ← skillField/cooldownSeconds
      "effects": [       ← array, source: skillEffects
        {
          "name": "",        ← skillEffectField/resolvedName
          "attr_id": "",     ← skillEffectField/resolvedDefinitionsRef
          "attr_key": "",    ← skillEffectField/resolvedAttributeKey
          "attr_value": 0,   ← skillEffectField/resolvedValue
          "attr_stack": ""   ← skillEffectField/resolvedStacking
        }
      ]
    }
  ]
}
  1. Clique em Exportar — o JSON pronto cai no seu clipboard ou arquivo.

Resultado:

{
  "skills": [
    {
      "id": "DATA_FIRE_BALL",
      "name": "Fireball",
      "cooldown": 5,
      "effects": [
        {
          "name": "Fireball Impact",
          "attr_id": "DATA_BASIC_ATTR",
          "attr_key": "hp",
          "attr_value": -30,
          "attr_stack": ""
        }
      ]
    }
  ]
}

Esse JSON é o que o seu motor lê. Ele tem identificadores estáveis (DATA_*), valores resolvidos, refs cross-section traduzidas — tudo pronto pra consumir sem cross-resolver no runtime.

E agora?#

Você fez:

✅ Atributos · ✅ Moeda · ✅ Item com efeito · ✅ Habilidade · ✅ Remote Config

Próximas direções: