Compartir a través de


Proyecto de ejemplo de juego de aventura

Este ejemplo es un sencillo juego de aventura de texto multijugador inspirado en juegos de aventura antiguos y basados en texto.

Instrucciones

  1. Vaya al Orleans juego de aventura de texto en la experiencia del explorador de ejemplos.
  2. Seleccione Examinar código para ver el código fuente.
  3. Clone el código fuente y compile la solución.
  4. Inicie primero AdventureServer y, a continuación, AdventureClient.
  5. A continuación, se le pedirá que escriba su nombre en la línea de comandos. Introdítelo y comience el juego.

Para obtener más información, vea Building the sample (Creación del ejemplo).

Información general

El programa AdventureServer comienza leyendo un archivo AdventureMap.json .

Configura una serie de "habitaciones", como un bosque, playa, cuevas, un claro, etc. Estas ubicaciones se conectan a otras salas para modelar los lugares y el diseño del juego. La configuración de ejemplo describe solo una serie de ubicaciones.

Las habitaciones pueden contener "cosas", como llaves, espadas, etc.

El programa AdventureClient configura el jugador y proporciona una interfaz de usuario sencilla basada en texto que le permite jugar al juego.

Puede moverse por las habitaciones e interactuar con cosas con un lenguaje de comandos simple, diciendo cosas como "ir al norte" o "tomar la tecla de latón".

¿Por qué Orleans?

Orleans te permite describir el juego usando código C# muy sencillo al tiempo que permite escalar a un juego multijugador masivo. Para que esta motivación sea significativa, el laberinto de salas debe ser muy grande y admitir a muchos jugadores simultáneamente. Un valor de Orleans es que puede diseñar el servicio para el crecimiento; la sobrecarga de ejecutarla a pequeña escala no es significativa y puede permanecer seguro de que se escalará si surge la necesidad.

¿Cómo se modela?

Los jugadores y salas se modelan como granos. Estos granos te permiten distribuir el juego, con cada estado y funcionalidad de modelado de granos.

Cosas como las llaves se modelan como objetos sencillos; son simplemente estructuras de datos inmutables que se mueven a través de las salas y entre los jugadores; no necesitan ser elementos complejos.

Mejoras posibles

  1. Haz que el mapa sea mucho más grande.
  2. Haz que la llave de latón desbloquee algo.
  3. Permitir a los jugadores enviar mensajes entre sí.
  4. Hacer que la comida y el agua potable sean posibles y significativas.