2009-11-27 17 views
10

Últimamente me estoy preparando para desarrollar otro juego en XNA C#.Javascript (o similar) secuencias de comandos de juegos para C# XNA

La última vez que trabajé en un juego en XNA C#, me encontré con este problema de tener que agregar mapas y datos personalizables en el juego. Cada vez que quiero agregar contenido nuevo o cambiar algunos valores al personaje del juego o algo así, tuve que reconstruir todo el juego o qué, lo que puede llevar bastante tiempo.

¿Hay alguna manera en que pueda escribir scripts de juegos para cargar el contenido que pueda ser interpretado por mi juego XNA C# sin tener que compilar? Estoy esperando con suerte Javascript.

Espero que pueda agregar funciones y otras API pequeñas que se puedan invocar desde la secuencia de comandos de juegos externos para manipular el juego o cargar datos, etc. No me preocupa que el juego sea pirateado ya que es bastante temprano; el desarrollo es de mucha prioridad.

Cualquier ayuda sería muy apreciada.

+1

¿Has mirado en Lua? Parece ser un lenguaje útil para los scripts. –

+0

Definitivamente he mirado a Lua. =) – mauris

Respuesta

5

Puede intentar Jint que es una fuente Javascript intérprete abierto escrito en C#

+0

esto parece una idea muy genial y fácil. Pero, ¿cómo puedo definir las funciones predefinidas a las que se puede llamar para ejecutar ciertos métodos de C#, por ejemplo? – mauris

+0

Ah, sí, creo que Jint lo admite también, como está escrito en http://jint.codeplex.com/wikipage?title=Quick%20Start&referringTitle=Documentation – mauris

+0

Una vieja pregunta, lo sé, pero esto es exactamente lo que hice hace poco y funciona realmente bien, incluso pude crear algunas funciones de depuración. Aquí hay un código (de uso gratuito de c): http://roy-t.nl/index.php/2012/06/05/using-javascript-as-a-script-engine-in-xnac/ –

1

¿Sería IronPython más apropiado? Eso debería funcionar bien en el marco "completo", pero parece que podría ser not work (yet) on xbox 360 (que usa un marco compacto).

Para un ejemplo de IronPython/xna, see here.

2

El marco compacto no incluye System.Reflection.Emit, lo que significa que no puede usar IronPython. Recomiendo LUA, y se puede encontrar una aplicación intérprete de código abierto con XNA here

+0

se ve bien. pero no puedo hacerlo funcionar en Visual C# 2008. El proyecto parece ser muy antiguo. – mauris

+0

Si no quiere meterse con la compilación, ofrece binarios precompilados, solo agregue una referencia en su juego al dll. – seraphym

Cuestiones relacionadas