gamepadRoblox

Si has creado juegos en Roblox, hay algunas diferencias clave que necesitarás conocer para empezar 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 programación de All Out).

Las grandes diferencias (de un vistazo)

  • Entidades + componentes (no Instances + Services): los mundos se construyen a partir de entidades en el Jerarquía, y el comportamiento proviene de añadir componentes (integrados o programados).

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

  • El flujo de trabajo del editor se parece más a la “edición de escenas”: colocas entidades, ajustas sus componentes en el Inspector, y reutilizas grupos mediante Prefabs.

  • CSL está tipado estáticamente: te parecerá más a Go/Odin que a Lua. (Ver Primeros pasos con CSL.)


Hoja de referencia Roblox → All Out

Concepto de Roblox
Concepto de All Out / CSL
Notas

Roblox Studio

Editor de All Out

Lo inicias desde el Portal del Creador (ver Iniciando el editor).

Place / Experiencia

Proyecto de juego de All Out

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

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 asignando entidades como hijos (ver “Carpetas” en Jerarquía).

Ventana de propiedades

Inspector

Donde editas los campos de la entidad/componente y añades componentes.

Attributes

Campos de componentes serializados

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

Reutilización de modelos

Prefabs

Los prefabs son una función temprana y todavía no admiten campos personalizados por instancia aparte de la posición (ver Prefabs).

ProximityPrompt / ClickDetector

Componente Interactable

Añade un componente derivado de Interactablee implementa can_use/on_interact (ver Interactuables).

Touched / Region3 / GetPartsInPart

Consultas de rango (por ahora)

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

Tools / abilities / mobile buttons

Habilidades

Interfaz de botones integrada, compatible con móvil y PC, más 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 tutorial de “recolección de manzanas” en Construyendo un juego básico.

  2. Repasa los fundamentos de CSL en Primeros pasos con CSL (especialmente ao_start, ao_updatey la creación de componentes).

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


Modelo mental de scripting (Lua → CSL)

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

  • Escribes clases de componentes en CSL (comportamiento).

  • Las adjuntas a entidades en el editor (o generas entidades y añades componentes en tiempo de ejecución).

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

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

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


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

ProximityPrompt → Interactable

Si usabas ProximityPrompt.Triggered en Roblox, el equivalente más cercano es un componente derivado de Interactable. Empieza aquí:

Recogibles / zonas de activación “Touched”

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 todavía no están implementados en CSL, así que el enfoque estándar es:

  • Consultar jugadores/componentes cercanos

  • Hacer una simple comprobación de distancia

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

Consulta “Comportamiento de colisión simulado” en:


Acciones del jugador (Tools / teclas / controles móviles)

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


Guardado de datos (DataStoreService → sistema de guardado)

Para persistencia (monedas, desbloqueos, progreso, cosméticos), empieza con:


UI (ScreenGui → UI de All Out)

La UI de Roblox suele empezar con ScreenGui y Frame/TextButton jerarquías. En All Out, empieza aquí:


Errores comunes al portar desde Roblox para devs

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

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

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

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


A dónde ir después

Última actualización