stringtranslate.com

Verso (lenguaje de programación)

Verse es un lenguaje de programación orientado a objetos de tipo estático creado por Epic Games . Fue lanzado junto con UEFN en marzo de 2023 y fue creado por un equipo de programadores conocidos liderados por Simon Peyton Jones y el director ejecutivo de Epic Games, Tim Sweeney . Verse está diseñado para interactuar con el sistema de dispositivos existente de Fortnite Creative . A partir de junio de 2024, UEFN sigue siendo la única forma de interpretar, analizar, compilar o ejecutar el código de Verse; se han discutido planes para implementar el lenguaje en el lanzamiento de Unreal Engine 6. [1]

Características

Módulos e importación

Verse admite la programación modular , lo que permite a los desarrolladores importar módulos específicos necesarios para sus scripts. Los módulos más utilizados incluyen los resúmenes de API que se generan cada vez que se abre un proyecto que contiene Verse. Hay un resumen de API para acceder e interactuar con objetos de Fortnite, objetos de Verse y objetos de Unreal Engine. Los desarrolladores también pueden crear sus propios módulos e importarlos a scripts si es necesario.

Clases y objetos

Verse emplea un modelo de programación orientado a objetos basado en clases . Los desarrolladores pueden definir clases para representar diversas entidades y comportamientos del juego.

Por ejemplo:

hola_mundo_dispositivo := clase(dispositivo_creativo): OnBegin<override>()<suspende>:void= Imprimir("¡Hola, mundo!") Imprimir("2 + 2 = {2 + 2}")

El código anterior define una nueva clase que hereda de `creative_device` e imprime el mensaje tradicional " Hola, mundo ". Todas las clases heredadas de un `creative_device` se pueden colocar en el entorno espacial del motor cuando se compila. La clase `creative_device` es necesaria para interactuar con el conjunto de herramientas preexistente de Fortnite Creative.

Funciones y métodos

Verse permite definir funciones dentro de clases. Estas pueden realizar diversas operaciones, como cálculos matemáticos, lógica de juegos y más. El siguiente ejemplo es un método para determinar si un personaje está mirando una ubicación específica.

IsLookingAtLocation(Carácter:fort_character, Ubicación a comprobar: vector3, Umbral: float):lógica

Manejo de eventos

El lenguaje admite programación basada en eventos, donde eventos como EliminatedEventy PlayerAddedEventpueden activar funciones específicas. También es posible suscribirse a eventos y escucharlos.

Operaciones matemáticas y espaciales

Verse admite varias funciones matemáticas necesarias para el desarrollo de juegos, como calcular magnitudes , normalizar vectores y convertir rotaciones en vectores de dirección. El módulo de matemáticas espaciales proporciona clases y funciones para matemáticas vectoriales y rotacionales, esenciales para tareas de desarrollo de juegos como posicionamiento y movimiento. Cos, Normalize, , y son algunas de las funciones disponibles para operaciones matemáticas. [2] [3]Distance , ArcTanLerp

Cálculo lambda

El código de Verse comparte varias similitudes con el cálculo lambda , particularmente en cómo maneja funciones y datos. En el cálculo lambda, las funciones son ciudadanos de primera clase, lo que significa que pueden pasarse como argumentos a otras funciones, devolverse como valores de otras funciones y asignarse a variables; mientras que en Verse las funciones pueden pasarse y manipularse de manera similar, mostrando el paradigma de programación funcional. Los ejemplos incluyen métodos como Normalize(v1:vector3)y DrawDebugLine(LineStart: vector3, LineEnd: vector3). Verse admite expresiones lambda y funciones anónimas, lo que permite definiciones de funciones en línea, de manera similar a cómo se usan las funciones lambda en lenguajes como Python o JavaScript . Verse también permite componer funciones encadenando llamadas a métodos y pasando funciones como parámetros. El estilo declarativo utilizado en el cálculo lambda también es una característica destacada de Verse para definir transformaciones y cálculos de datos en lugar de un modelo de flujo de control imperativo. Esto se ve en funciones como Normalizey DrawDebugLineque se definen de manera declarativa. [4] [3]

Planes futuros

Epic Games ha descrito a Verse como el lenguaje de programación para el metaverso y ha tenido en cuenta la escalabilidad masiva en su desarrollo. Hasta la convergencia propuesta con Unreal Engine , aún está por verse cómo se comportará Verse al interactuar con varios sistemas y procesos fuera del ecosistema de Fortnite .

Referencias

  1. ^ "VerseMetaVerse/UnrealVerse". Github . Consultado el 6 de junio de 2024 .
  2. ^ "Más allá de la programación funcional: una muestra de Verse. Simon Peyton Jones y Tim Sweeney | Lambda Days 2023". YouTube . Code Sync. 26 de junio de 2023.
  3. ^ ab JONES, SIMON PEYTON; SWEENEY, TIM; STEELE, GUY; SHIVERS, OLIN; JHALA, RANJIT; CLAESSEN, KOEN; BREITNER, JOACHIM; AUGUSTSSON, LENNART (2023). "El cálculo de versos Un cálculo básico para la programación lógica funcional" (PDF) .
  4. ^ "API de Verse no oficial". FNCwiki .

Enlaces externos