Motor de secuencias de comandos para XNA

9

Digamos que estoy haciendo este gran juego en C # con XNA.

¿Qué opciones tengo para incluir una función de secuencias de comandos en mi base de código?

astk
fuente
2
¿Qué características, específicamente , de un motor de secuencias de comandos realmente necesita? La gran mayoría de las cosas que le proporciona un motor de secuencias de comandos ya están disponibles en C #.
Andrew Russell
Básicamente, estoy pensando en hacer algo así como un fabricante de juegos XNA base GUI. Entonces, usa este creador de juegos y accede a mis clases y funciones de C # desde el script para implementar el juego.
astk
1
¿Quién es el usuario final? ¿Es esto algo así como Klik & Play (niños, aficionados)? ¿O se parece más a Unreal Kismet (artistas y diseñadores)? O algo diferente?
Andrew Russell el
Digamos como Game Maker. Si bien permite implementar cualquier mecánica de juego, todavía está bien para Klik y Play. No necesita tener un editor visual de guiones como Kismet.
astk
Eso es muy diferente a la pregunta que ha hecho. Quizás intente preguntar a otro que explique mejor sus requisitos. O tome mi respuesta corta, que es: use delegados de C # como la base de un sistema que puede tratar funciones como objetos. Use esos objetos para construir un sistema GUI o exponga el sistema a usuarios finales avanzados a través de C # como se describe en mi respuesta.
Andrew Russell

Respuestas:

15

Yo defiendo no usar un lenguaje de script en C # . C # ya resuelve la gran mayoría de los problemas que un motor de secuencias de comandos se utiliza para resolver. Simplemente use C # de la forma en que usaría un lenguaje de secuencias de comandos.

Debido a que ya he revisado esto varias veces, aquí hay un material de lectura para usted:


ACTUALIZACIÓN: si desea un flujo de trabajo de edición en vivo, pruebe este método descarado para usar Editar y continuar .

Andrew Russell
fuente
1

Si planea apuntar al XBox360 o Windows Phone 7, sus opciones son limitadas. Esas plataformas no admiten la generación de código de tiempo de ejecución, por lo que su única opción sería un lenguaje interpretado. Recomendaría evitar los lenguajes interpretados, ya que su rendimiento tiende a variar de "sub-par" a "abismal".

Si solo está apuntando a Windows, y realmente necesita / quiere un lenguaje de script, eche un vistazo a IronPython o IronRuby. Ambos apuntan al DLR y funcionan muy bien (por ser lenguajes dinámicos).

Mike Strobel
fuente