Stagecast Creator es un lenguaje de programación visual diseñado para enseñar programación a niños. Se basa en el concepto de programación por demostración , en el que las reglas se crean dando ejemplos de qué acciones deben llevarse a cabo en una situación determinada. Se puede utilizar para construir simulaciones, animaciones y juegos que se ejecutan en Java en cualquier plataforma adecuada. [1]
El software conocido como Creator comenzó originalmente como un proyecto de Allen Cypher y David Canfield Smith en el Advanced Technology Group (ATG) de Apple, conocido como KidSim . Su objetivo era permitir que los niños construyeran sus propias simulaciones, reduciendo la tarea de programación a algo que cualquiera pudiera manejar. La programación en Creator utiliza reglas de reescritura gráfica aumentadas con pruebas y acciones no gráficas.
En 1994, Kurt Schmucker se convirtió en el director del proyecto y, bajo su dirección, el proyecto pasó a llamarse Cocoa y se amplió para incluir un complemento de Netscape . También se reposicionó como "Autoría de Internet para niños", ya que Internet se estaba volviendo cada vez más accesible. El proyecto se anunció oficialmente el 13 de mayo de 1996. Hubo tres lanzamientos:
Cuando Steve Jobs regresó a Apple en 1997, comenzó a desmantelar una serie de departamentos no productivos. [ cita requerida ] Uno de ellos fue ATG. Larry Tesler , Cypher y Smith se marcharon para formar Stagecast Software después de conservar los derechos del sistema Cocoa.
Apple continuó reutilizando el nombre Cocoa para el marco de aplicación Cocoa , que no tenía ninguna relación con el anterior y que se había originado como OpenStep .
Las ventas de Stagecast Creator finalizaron el 30 de septiembre de 2014 como parte del cese de operaciones de Stagecast Software y el soporte finalizó el 1 de diciembre de 2014. [2]
Creator se basa en la idea de personajes independientes que tienen una apariencia gráfica y propiedades no gráficas. Cada personaje tiene una lista de reglas que determinan cómo se comporta. Las reglas se crean demostrando lo que hace el personaje en una situación específica. Cada regla de reescritura gráfica es una regla de antes/después , que establece que cuando se cumplen las condiciones anteriores de la regla, se realizan las acciones posteriores de la regla. [3]
Para dar un ejemplo sencillo, pensemos en una simulación en la que un personaje camina por un campo y salta sobre las rocas que encuentra. Esta simulación comenzaría con la construcción del campo de juego, en este caso una línea de iconos que representan el césped y algunas rocas. A continuación, se coloca un personaje en el campo de juego y se hace doble clic para abrir un editor de reglas. El editor de reglas comenzará mostrando las condiciones actuales, es decir, el personaje está parado sobre el césped. Debajo hay un área para colocar las distintas condiciones "posteriores", en este caso, el usuario arrastra la cuadrícula predeterminada para abrirla dos espacios, arrastra el personaje a la nueva celda de la cuadrícula, por ejemplo a la derecha, y cierra el editor de reglas.
Si la simulación se inicia en este punto, el personaje comenzará a caminar por el campo de juego hacia la derecha hasta que llegue a la primera roca. Como no hay ninguna regla que muestre lo que debería suceder cuando una roca está a la derecha del personaje, el personaje simplemente se detiene. En este punto, el editor de reglas se abre nuevamente, pero ahora muestra la nueva condición que se aplica, el personaje está a la izquierda de una roca. Las acciones en este caso serían dos pasos, el primero mostrando al personaje moviéndose hacia arriba y hacia la derecha, el siguiente hacia abajo y hacia la derecha. Cuando se vuelva a ejecutar la simulación, el personaje caminará hacia la derecha y luego "saltará" sobre las rocas. En este caso, el personaje dejará de moverse cuando llegue al costado de la pantalla, y se podría agregar una nueva regla en ese punto para "envolverse" hacia el lado izquierdo nuevamente.
Se pueden agregar reglas adicionales "sobre la marcha" para darle más cuerpo a la simulación. En este ejemplo, probablemente se agregarían reglas adicionales para permitir que las condiciones se apliquen sin importar en qué dirección camine el personaje, duplicando el conjunto existente de dos reglas para el movimiento hacia la izquierda, arriba y abajo. Para que la simulación sea interactiva, se pueden eliminar las reglas de "movimiento automático" y reemplazarlas por otras que solo se muevan cuando se mantengan presionadas las teclas del cursor y salten solo si el usuario presiona la barra espaciadora. Ahora la simulación se convierte en un juego simple.
Durante su evolución de KidSim/Cocoa a Creator, se añadieron muchas características nuevas al sistema, como la introducción de "frascos" como medio de clasificación de objetos, una nueva variable z que permite a Creator simular un espacio 3D (como una pila de hojas 2D), la capacidad de controlar más de un personaje a la vez y la opción de volver a dibujar la pantalla solo después de que se hayan realizado todos los movimientos de un turno.
Para garantizar la compatibilidad entre plataformas de Creator, todo el sistema se adaptó al lenguaje de programación Java . Al igual que Cocoa, el sistema era un producto exclusivo para Mac e incluía una función de "reproducción automática" que permitía ejecutar una simulación de Cocoa como un programa independiente en cualquier Mac. Con la adaptación a Java, las simulaciones de Creator se pueden publicar en una página web y ejecutar como un subprograma.