¿Cómo puedo hacer una colección de minijuegos en XNA donde el usuario puede descargar paquetes de minijuegos y el .exe principal puede ejecutarlos sin alterarlos?


12

Actualmente estoy haciendo un juego de PC en XNA. En realidad es una colección de minijuegos (hay 3 minijuegos en este momento), sin embargo, planeo hacer y agregar más, en 'paquetes' descargables.

Mi pregunta es, ¿cuál es la mejor manera de lograr esto?

Actualmente mis pensamientos son:

  • Crear una interfaz de "juego"
  • Crea juegos para esta interfaz pero créalos como .dlls
  • Haga que el archivo .exe principal escanee un directorio y cargue los archivos .dlls en tiempo de ejecución.

No he jugado mucho con la idea, pero sé que al menos hay aplicaciones que utilizan este enfoque de complemento (parece que Notepad ++), pero no estoy seguro de los juegos que sí lo hacen (aunque estoy seguro deben existir). Sin embargo, parece que este es un problema que se ha resuelto anteriormente, por lo que me pregunto si existe alguna forma de práctica recomendada establecida.

Respuestas:


5

En Windows, puede abrir un ensamblaje (dll) e importar tipos y ejecutar métodos. Consulte la documentación de la clase de ensamblaje .

En la Xbox 360 no tienes acceso al sistema. Reflexión. Aquí debe confiar en la API de la tienda XBLA. No estoy seguro de cuánta de esta funcionalidad está disponible para las aplicaciones XBLIG.


Sí, sé que puedo cargar los archivos .dlls (ya que es un juego de PC). Sin embargo, me pregunto si esta es la mejor manera de hacerlo, o si esto va en contra de algunas de las mejores prácticas establecidas
Andrew Thorpe

+1 Esta es la forma estándar de cargar complementos. Buscar arquitectura de complementos; FYI, esta es una muy buena solución.
cenizas999

1

Como está creando un juego para Windows, puede acceder al marco completo como lo indicó @Ranieri. Tu arquitectura suena sólida; sin embargo, es posible que desee registrarse en MEF , el Marco de Extensibilidad Administrada. Podría hacer que el flujo de trabajo que delinees sea más simplificado. No lo he usado yo mismo, pero he leído cosas buenas al respecto.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.