Supongamos que quiero crear un juego de estrategia con un estado mutable global compartido entre todos los jugadores (piense en el tablero de juego). Pero a diferencia de un juego de mesa, no quiero que sea acción en tiempo real y / o por turnos. En cambio, los jugadores deberían poder iniciar sesión en cualquier momento del día y gastar un número fijo de puntos de acción por día como lo deseen. A diferencia de unas pocas horas, las sesiones de juego durarían unas pocas semanas.
Esto tiene como objetivo recompensar una buena estrategia en lugar del tiempo dedicado a jugar (como alternativa, los jugadores hardcore siempre pueden jugar múltiples juegos en paralelo), así como todo tipo de problemas relacionados con el juego en vivo, como desconexiones y sincronización. El juego debería seguir siendo adictivo y tener una huella de inversión de bajo tiempo para los jugadores casuales.
Hasta ahora todo bien, pero esto aún deja abierta la cuestión de cuándo resolver acciones y cuándo deberían ser visibles. Quiero evitar el "juego ninja" como hacer todos tus movimientos solo unos minutos antes del reinicio diario de puntos para tomar por sorpresa a otros jugadores, o las personas que envían correo no deseado a F5 para colocar una acción oportuna que derrotaría el punto de un no real. juego del tiempo
Pensé en un par de enfoques para eso:
Resuelva todos los eventos en un solo proceso programado que se ejecuta una vez al día. Esto básicamente significa un juego "ciego" donde los jugadores pueden realizar acciones pero no ver sus resultados de inmediato. La cuestión es que jugué un juego de navegador similar hace unos años y no me gustó el hecho de que te sientes desconectado e impotente hasta que ese deus ex machina te cuenta lo que realmente sucedió durante todo ese tiempo. Ves que el mundo evoluciona en grandes incrementos de un día, lo que a menudo no parece verlo evolucionar en absoluto.
Para acciones que tienen un gran impacto en el juego o en otros jugadores (ataques, grandes logros), haz que sean visibles para todos de inmediato, pero retrasa su efecto en unas 24 horas. Los jugadores opositores podrían ser notificados cuando ocurra tal evento, para que puedan reaccionar ante él.
¿Tienes alguna otra idea de cómo podría resolver esto? ¿Existen enfoques conocidos en juegos similares existentes?
fuente
Respuestas:
Podrías inspirarte en el juego Neptune's Pride, que se parece mucho a lo que quieres hacer: un juego de mesa, basado en navegador, jugado durante semanas.
Para abordar su pregunta:
NP realmente no 'demora' las acciones, pero hace que tarden mucho tiempo. Por ejemplo, mover naves espaciales entre planetas lleva al menos varias horas. Algunos efectos de la acción de moverlos son inmediatos: las naves espaciales dejan de defender el planeta del que partieron y otros jugadores ven tu movimiento en el momento en que juegas la acción. Algunos efectos llevan mucho tiempo: las naves atacan el planeta al que se mueven, solo unas horas después de que hiciste la acción.
Además, los jugadores pueden poner en cola acciones para sus naves espaciales, por lo que no tienen que iniciar sesión cada pocas horas para redirigirlos.
En el caso del Orgullo de Neptuno, esto no resuelve completamente el problema. Iniciar sesión regularmente (cada pocas horas) tendrá una clara ventaja sobre el inicio de sesión una vez al día. Esto puede ser parcialmente inevitable, pero toma una lección de lo que NP hizo mal en ese sentido: no permitas que tus jugadores actualicen la velocidad de sus naves, o lo que sea equivalente en tu juego. Permitir a los jugadores eludir el retraso de cualquier manera puede romper el juego nuevamente.
Tenga en cuenta que NP no tiene puntos de acción, pero la idea es la misma.
Conclusión : te aconsejo que no retrases las acciones, sino que simplemente hagas que tarden mucho tiempo (horas, días, hasta ti), durante el cual otros jugadores pueden reaccionar.
fuente
En lugar de volver a llenar por completo los puntos de acción de todos los jugadores en un tiempo fijo, podrías darles una pequeña cantidad de puntos de acción cada pocos minutos y permitirles acumular puntos de acción de hasta uno o un par de días.
Un jugador que quiera hacer algo grande tendrá que proteger sus puntos de acción durante aproximadamente un día. Luego no podrán volver a actuar hasta que su AP se haya rellenado.
El juego basado en la web Urban Dead , que simula un apocalipsis zombie con jugadores que juegan tanto supervivientes como zombies, utiliza una mecánica como esta. Sin embargo, pierde el objetivo de ser igualmente jugable tanto para jugadores casuales como para jugadores poderosos al ofrecer ciertas acciones que dejan a otros personajes en situaciones muy vulnerables que la víctima puede resolver con un gasto mínimo de AP. Esto hace que sea útil para los jugadores sobrevivientes iniciar sesión cada pocas horas para verificar si los jugadores zombies derribaron las barricadas del edificio en el que se encuentran (inversión AP alta para los zombies) y se mudaron a un edificio diferente (inversión AP baja para superviviente).
Podrías evitar este problema en tu juego haciendo que los ataques de los jugadores causen daño a la víctima, pero no la dejen más vulnerable a las siguientes acciones de otros jugadores.
fuente
Es posible que desee ver la Diplomacia de Internet, que adopta el enfoque de movimientos simultáneos. La diplomacia asume que discutirá movimientos con otros jugadores, por lo que tiene una idea de lo que está sucediendo a pesar de que no puede ver movimientos reales (y otros jugadores pueden estar mintiéndole sobre sus planes).
No estoy seguro de si esto ayuda, pero es al menos un ejemplo de un juego que parece funcionar en una situación similar.
fuente
Cada turno durará aproximadamente un día, a menos que todos los jugadores completen sus turnos. Si todos los jugadores en el juego actual han completado sus turnos, comienza el siguiente turno (los grupos AP de los jugadores se vuelven a llenar). Esto no solo garantiza que todos tengan la misma oportunidad de gastar sus puntos, sino que se ajusta automáticamente a los tiempos en que los jugadores suelen iniciar sesión y permite que más jugadores hardcore jueguen un juego más rápidamente si todos están completando sus turnos rápidamente.
fuente
La respuesta más simple:
Actualizar el estado del juego a una hora fija
Permita que los jugadores realicen sus movimientos en cualquier momento entre actualizaciones, pero NO los muestre hasta que ocurra la actualización.
Algo que debes tener muy en cuenta es que cualquier modelo que elijas debe ser muy sencillo de entender para los jugadores. Cualquier cosa que se aparte de lo anterior no lo es. Un conjunto de reglas más complejo para los movimientos atraería su concentración a expensas de otras partes del juego, así que no lo hagas a menos que sea lo que quieres.
fuente