Roblox
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.
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
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).
Tu primera hora (ruta recomendada)
Sigue el recorrido “colección de manzanas” en Construyendo un Juego Básico.
Revisa lo básico de CSL en Comenzando con CSL (especialmente
ao_start,ao_update, y la creación de componentes).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/ServerScriptServiceequivalentes: usa la jerarquía del editor + lascriptscarpeta 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
Construye tu primer juego: Construyendo un Juego Básico
Aprende lo básico del editor: Introducción/Vista de Escena
Aprende lo básico del scripting: Comenzando con CSL
Aprende los bloques básicos de construcción del gameplay: Interactuables, Inventario, Habilidades
Última actualización