Estoy tratando de utilizar una tecnología de alto nivel para un juego que estoy retocando como un proyecto personal. Es un juego de aventuras por turnos que probablemente esté más cerca de Archon en términos de lo que estoy tratando de hacer.Manejo de efectos de combate en el desarrollo de juegos
Lo que estoy teniendo problemas es conceptualizar la mejor manera de desarrollar un sistema de combate que pueda implementar simplemente al principio, pero que permitirá que la expansión y la complejidad se agreguen en el futuro.
Específicamente, tengo problemas para tratar de descubrir cómo manejar los efectos especiales de combate, es decir, los bonus o los bonus que un actor, un elemento o un entorno pueden aplicar o eliminar.
- Tengo el actor maneja todos los efectos que están en juego a favor o en contra de ellos si el juego verifica cada arma, armadura, actor y ubicación cada vez que intenta hacer una tirada decisiva.
- ¿Los efectos se manejan en objetos individuales o hay un objeto 'efecto' o un poco de ambos?
Puede que no me haya explicado nada bien aquí, y estoy más que feliz de tratar de ampliar la pregunta si mi solicitud es demasiado amplia y aireada. Pero mi pensamiento inicial es que las personas más inteligentes que yo han dedicado el tiempo y el esfuerzo para descifrar cosas como esta y, francamente, no quiero manchar la conversación con el callejón sin salida de mi propia estupidez demasiado pronto.
El idioma en cuestión es javascript, aunque en este punto no me imagino que haga una gran diferencia.
Gracias por la fantástica respuesta. Tiene perfecto sentido (aunque me perdiste un poco en el último párrafo con respecto a los atributos en el lugar y 'deriva'). – Steerpike
Imagine: - En wearItem() aplica los efectos asociados con un elemento a las estadísticas de un personaje, ej. actor.strength + = item.sumEffects (STRENGTH) - En removeItem() se eliminan dichos efectos, por ej. actor.strength - = item.sumEffects (STRENGTH) Este tipo de cosas funciona bien hasta que agregue otras formas para "eliminar" elementos, por ejemplo. por consumo, daño, ser teletransportados, confiscados por GM en un juego en línea, etc. Debe recordar quitar los efectos en cada posible escenario que agregue, y puede obtener errores sutiles de esa manera, por lo que es más seguro calcular los valores en demanda. – Kylotan
Disculpa por el formato que hay: simula que los guiones antes de 'in wearItem' y 'in removeitem' son viñetas y 'Este tipo de cosas' comienza un nuevo párrafo. – Kylotan