gamepadRoblox

Si has creado juegos en Roblox, hay algunas diferencias clave que necesitarás conocer para comenzar en All Out.

Si vienes de Roblox Studio + Lua, esta página te ayudará a traducir tu modelo mental a All Out + CSL (el lenguaje de scripting de All Out).

Las grandes diferencias (a primera vista)

  • Entidades + componentes (no Instancias + Servicios): los mundos se construyen con entidades en el Jerarquía, y el comportamiento proviene de agregar componentes (integrados o scriptados).

  • Multijugador está “integrado”: CSL está diseñado para que la mayor parte del código de juego pueda escribirse como si fuera para un jugador mientras el motor sincroniza el estado relevante.

  • El flujo de trabajo del editor está más cerca de “edición de escena”: colocas entidades, ajustas sus componentes en el Inspector, y reutilizas grupos mediante Prefabs.

  • CSL es tipado estáticamente: se sentirá más cercano a Go/Odin que a Lua. (Ver Comenzando con CSL.)


Hoja de trucos Roblox → All Out

Concepto de Roblox
Concepto de All Out / CSL
Notas

Roblox Studio

Editor de All Out

Lo ejecutas desde el Creator Portal (ver Lanzando El Editor).

Lugar / Experiencia

Proyecto de juego All Out

Tu carpeta de proyecto local incluye un scripts directorio para .csl archivos.

Explorer / Workspace

Jerarquía

La jerarquía muestra todas las entidades en el mundo/escena actual.

Instance / Model / Part

Entidad

La organización “tipo carpeta” se hace parentando entidades (ver “Carpetas” en Jerarquía).

Ventana de propiedades

Inspector

Donde editas campos de entidad/componente y agregas componentes.

Atributos

Campos serializados de componentes

Expón campos al editor con @ao_serialize (ejemplo abajo).

Reutilización de modelos

Prefabs

Los prefabs están en etapa temprana y aún no soportan campos personalizados por instancia además de la posición (ver Prefabs).

ProximityPrompt / ClickDetector

Componente Interactable

Agregar Interactablecomponente derivado y implementar can_use/on_interact (ver Interactuables).

Touched / Region3 / GetPartsInPart

Consultas por rango (por ahora)

Los callbacks de entrada/salida de colisión aún no están expuestos; usa Scene.get_all_components_in_range (ver Navmesh y Colisión).

Herramientas / habilidades / botones móviles

Abilities

UI de botones integrada amigable para móvil/PC + patrones de enfriamiento (ver Habilidades).

DataStoreService

Sistemas de guardado + JSON + economía

ScreenGui / GuiObjects

Sistema de UI de All Out


Tu primera hora (ruta recomendada)

  1. Sigue el recorrido “colección de manzanas” en Construyendo un Juego Básico.

  2. Revisa lo básico de CSL en Comenzando con CSL (especialmente ao_start, ao_update, y la creación de componentes).

  3. Aprende cómo adjuntar tus nuevos componentes a objetos del mundo mediante el Inspector.


Modelo mental de scripting (Lua → CSL)

En Roblox a menudo escribes un Script/LocalScript que encuentra objetos (Workspace.Foo.Bar) y conectas eventos. En All Out, típicamente:

  • Escribes clases de componentes en CSL (comportamiento).

  • Los adjuntas a entidades en el editor (o generas entidades y agregas componentes en tiempo de ejecución).

  • Almacena valores ajustables en el componente con @ao_serialize (para que puedas ajustar por entidad en el inspector).

Aquí hay un pequeño ejemplo que se siente como “un Script parentado bajo un objeto”, pero expresado como un componente CSL:

Si quieres un “script de juego” que se ejecute una vez por servidor/sesión, normalmente lo pondrás en tus procedimientos principales de ciclo de vida (ao_start, ao_update, etc.). Ver la plantilla en Comenzando con CSL.


Interacciones que reconocerás (y cómo se traducen)

ProximityPrompt → Interactable

Si usaste ProximityPrompt.Triggered en Roblox, el equivalente más cercano es un Interactablecomponente derivado. Empieza aquí:

Recogibles “Touched” / zonas de activación

El BasePart.Touched de Roblox es un patrón muy común para recogibles, zonas de daño y puntos de control. En All Out, los callbacks de entrada/salida de colisión aún no están implementados en CSL, por lo que el enfoque estándar es:

  • Consultar jugadores/componentes cercanos

  • Hacer una comprobación de distancia simple

  • Rastrear quién estaba “dentro” en el fotograma anterior si necesitas eventos de entrada/salida

Ver “Comportamiento pseudo-colisión” en:


Acciones del jugador (Herramientas / atajos de teclado / controles móviles)

Si estás acostumbrado a los scripts “tool” de Roblox o a sistemas hechos a mano de entrada + enfriamiento, usa Abilities en su lugar. Están diseñados para funcionar bien tanto en móvil como en PC con UI consistente.


Guardar datos (DataStoreService → sistema de guardado)

Para persistencia (monedas, desbloqueos, progresión, cosméticos), comienza con:


UI (ScreenGui → UI de All Out)

La UI de Roblox a menudo comienza con ScreenGui y Jerarquías Frame/TextButton En All Out, comienza aquí:


Problemas comunes al portar para desarrolladores de Roblox

  • No hay un árbol de “servicios del workspace”: no busques ReplicatedStorage/ServerScriptService equivalentes: usa la jerarquía del editor + la scripts carpeta de tu proyecto.

  • No esperes eventos Touched: usa consultas por rango hasta que los callbacks de colisión estén disponibles en CSL (enlace arriba).

  • Las instancias de prefab no están totalmente parametrizadas aún: si necesitas muchas copias con valores diferentes, puede que necesites “desvincular” o crear entidades únicas (ver Prefabs).

  • Piensa en “componentes” en lugar de “etiquetas”: donde usarías etiquetas de CollectionService, a menudo agregarás un componente marcador/de comportamiento en su lugar.


A dónde ir después

Última actualización