Skip to content
Verse Scripting

Guia de Verse para Iniciantes: O Seu Primeiro Dispositivo UEFN

2026-03-059 min de leitura

O Que É o Verse?

Verse é a linguagem de programação da Epic Games, concebida especificamente para o UEFN. Se já utilizou Python, vai achar o Verse familiar — utiliza sintaxe baseada em indentação e lê-se quase como inglês. Mas também empresta ideias de linguagens de programação funcional como Haskell, tornando-o poderoso para lógica de jogo.

Todo o comportamento personalizado no UEFN que vai além dos dispositivos básicos do Creative requer Verse. Sistemas de pontuação, interfaces personalizadas, gestores de loadout, gestão de rondas, progressão ranked — tudo em Verse.

Configurar o Seu Primeiro Dispositivo Verse

No UEFN, crie um novo dispositivo Verse:

  1. Abra o seu projeto no UEFN
  2. Vá ao menu VerseCreate New Verse File
  3. Escolha Creative Device como modelo
  4. Nomeie-o my_first_device

O UEFN gera um ficheiro base com este aspeto:

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }

my_first_device := class(creative_device):

 OnBegin<override>()<suspends>:void=
 Print("Hello, Fortnite!")

Vamos analisar isto.

Compreender as Bases

Instruções `using` — Estas importam APIs. /Fortnite.com/Devices dá acesso aos dispositivos Creative. /Verse.org/Simulation fornece funcionalidades base de simulação. /UnrealEngine.com/Temporary/Diagnostics dá acesso ao Print() para depuração.

Definição de classemy_first_device := class(creative_device) cria uma nova classe de dispositivo que herda de creative_device. Este é o seu dispositivo personalizado que vai colocar no mundo.

OnBegin — Esta função executa quando o jogo começa. A etiqueta <override> significa que está a substituir o OnBegin da classe-mãe. A etiqueta <suspends> significa que esta função pode utilizar operações assíncronas (como Sleep()).

Construir um Contador de Eliminações

Vamos construir algo útil — um dispositivo que regista eliminações e as apresenta. Primeiro, precisa de referenciar um dispositivo de UI no seu nível:

using { /Fortnite.com/Devices }
using { /Fortnite.com/Characters }
using { /Verse.org/Simulation }

kill_counter := class(creative_device):

 @editable
 EndGameDevice : end_game_device = end_game_device{}

 var KillCounts : [agent]int = map{}

 OnBegin<override>()<suspends>:void=
 # Subscrever eventos de eliminação
 GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerAdded)

 OnPlayerAdded(Player : player):void=
 if (FortCharacter := Player.GetFortCharacter[]):
 FortCharacter.EliminatedEvent().Subscribe(OnEliminated)

 OnEliminated(Result : elimination_result):void=
 if (Eliminator := Result.EliminatingCharacter):
 if (Player := player[Eliminator.GetAgent[]]):
 if (set KillCounts[Player] += 1) {}

Conceitos-Chave do Verse

Expressões falíveis — O Verse utiliza if para operações que podem falhar. Player.GetFortCharacter[] pode não retornar nada se o jogador não tiver personagem. Os parêntesis retos [] indicam uma chamada falível, e envolvê-la num if lida com o caso de falha de forma elegante.

Mutabilidade — Variáveis declaradas com var podem ser alteradas. Sem var, os valores são imutáveis por defeito. Isto previne mutações de estado acidentais.

Eventos e subscrições — O Verse utiliza um padrão orientado a eventos. Subscreve eventos (PlayerAddedEvent, EliminatedEvent) e fornece funções de callback. É assim que se reage ao gameplay sem fazer polling.

Maps e arrays[agent]int é um tipo map (dicionário) que mapeia agentes para inteiros. map{} cria um vazio.

Padrões Comuns

Eis padrões que vai utilizar em praticamente todos os dispositivos Verse:

Temporizador/atraso:

Sleep(5.0) # Esperar 5 segundos

Ciclo:

loop:
 DoSomething()
 Sleep(1.0)

Iteração de jogadores:

Players := GetPlayspace().GetPlayers()
for (Player : Players):
 # Fazer algo com cada jogador

Próximos Passos

Este guia cobre o básico absoluto. Para aprofundar:

  • Leia a documentação oficial do Verse da Epic
  • Estude projetos Verse de código aberto no GitHub
  • Pratique recriando dispositivos Creative existentes em Verse
  • Junte-se à comunidade Discord do UEFN para obter ajuda

Construir dispositivos Verse personalizados é o que separa programadores UEFN profissionais de entusiastas. Se precisa de mecânicas personalizadas complexas para o seu mapa, a nossa equipa é especialista em programação Verse — desde sistemas de pontuação personalizados a frameworks completos de modos de jogo.

Consulte o nosso portfólio para ver o Verse em ação com mais de 4,8 mil milhões de minutos jogados.

K

Kaio

Developer de Mapas UEFN na Kaio Corporation

Developer profissional de mapas Fortnite UEFN. Mais de 4,8 mil milhões de minutos jogados. Saber mais

Precisa de um mapa personalizado?

Contactar