Dagaz: Errores

imagen El trabajo de ayudar a las personas ahogadas:
la obra de los ahogamientos mismos.

I. Ilf y E. Petrov.


Los errores son errores. Mientras trabajo en el proyecto , mantengo mi calificaci√≥n de error personal. Algo se soluciona muy f√°cilmente, al principio, algo est√° bien clavado en la arquitectura y, por lo tanto, ha envenenado la vida durante a√Īos. Algunos errores simplemente se congelan. Cuando los corrige, siente que est√° viviendo. Amo esos errores.

Escribir los mismos juegos todo el tiempo no sería interesante. Afortunadamente, los juegos son diferentes. Algunos juegos son más diferentes que otros. Honestamente, emprendo algo por ellos, principalmente debido a la singularidad de su mecánica de juego. Para mí, estos juegos son una especie de desafío.


Hanga Roa
Este juego rompe los estereotipos y rompe los patrones. No se deje enga√Īar por el parecido superficial con el ajedrez . Es completamente diferente del ajedrez. El objetivo del juego es llevar a tu " Moai " al borde opuesto del tablero. Eso es solo, en s√≠ mismo, Moai no sabe c√≥mo caminar en el tablero. Esta figura camina solo "sobre guijarros" (estrictamente de su propio color), movi√©ndose a una celda adyacente en cualquiera de las ocho direcciones (la piedra usada se retira del tablero). Los pasos se pueden repetir el mayor tiempo posible.

MataToa (parece un pe√≥n en el tablero) tambi√©n se mueve un paso en cualquiera de las ocho direcciones y puede destruir "caminos" enemigos tomando piedras del color de otra persona (por supuesto, tambi√©n puede moverse a lo largo de campos vac√≠os). De lo contrario, la "captura de ajedrez" no se usa en el juego, las piezas se eliminan del tablero de una manera completamente diferente. Para quitar una pieza del tablero, es necesario rodearla con sus piedras de tal manera que no pueda moverse (es obvio que es imposible atrapar a MataToa de esta manera). Si lograste rodear a Moai , el juego termina aqu√≠. Con Ariki , la √ļltima figura restante, las cosas son diferentes.

Ariki : la figura de un constructor (representado como una torre en el tablero), que arroja esas mismas "piedras" en el tablero. El movimiento se lleva a cabo de la siguiente manera: la pieza se mueve a cualquier distancia en cualquiera de las ocho direcciones (como una reina del ajedrez, solo sin pelear), después de lo cual dispara dos "tiros". Las piedras también vuelan a cualquier distancia, en cualquiera de las ocho direcciones. Si logras apedrear al enemigo Ariki con piedras, ella es eliminada del tablero, pero no para siempre. El jugador al que pertenece puede volver a ponerla en el tablero, en uno de los siguientes movimientos, pero solo en la primera horizontal. Quizás esta es la mecánica de ajedrez más sorprendente que he visto.

Se trata de estas figuras muy "disparadoras". El "disparo" en s√≠ est√° codificado de forma bastante simple, pero para tener la oportunidad de "disparar" dos veces seguidas, tuve que subir al n√ļcleo . El hecho es que desde el momento con Zillions , dicha secuencia de acciones se ha interpretado como un movimiento compuesto, es decir, una secuencia de movimientos parciales realizados por una pieza, y un "disparo" es, de hecho, mover la misma pieza a otra posici√≥n. No con el que se debe realizar el siguiente movimiento parcial (segundo "disparo"). Tuve que jugar con esto.

Como todavía no he descubierto cómo implementar un bot para este juego, lo hice en el modo "tablero inteligente", que controla el cumplimiento de las reglas, pero sin la IA del juego. Me jugó una mala pasada. El error no se manifestó en absoluto en el control manual de las figuras, pero se hizo evidente tan pronto como comencé a hacer un bot para las Amazonas .

Estrictamente hablando, hay otro juego con mec√°nicas similares.

Pero para ella, tampoco hice un bot. Creo que entiendes por qué.

En el caso de las Amazonas, encontr√© una soluci√≥n alternativa y no sub√≠ al n√ļcleo, pero para Hanga Roa esta soluci√≥n no era adecuada. Como todav√≠a no hab√≠a bot para el juego, tir√© esto en una caja larga (y continu√≥ mordi√©ndome de adentro hacia afuera). Hubiera continuado as√≠ si, mientras trabajaba en Quantum Morris , no me hubiera topado con tanta inmundicia aqu√≠:


El problema se agravó por el hecho de que el error, aparentemente, se manifestó dependiendo de las fases de la luna. Esto (así como una serie de otros casos) mostró claramente que ha llegado el momento de reescribir el código de animación para formas en movimiento, desde el cual el proyecto casi comenzó. No me malinterpreten, no me apresuré a reescribir la vista de inmediato. Me convencí de que esto era necesario, durante aproximadamente un mes. Y al final, convencido . El código se ha vuelto más simple y más comprensible. En el camino, otros errores que me atormentaron durante mucho tiempo se hicieron más obvios.


Se puede hacer clic en la imagen. Admire cómo la bola negra, después de completar el curso, se convierte en blanca (aunque no debería hacer esto en absoluto). Con la vista anterior, permanecía en negro y el error no era tan obvio. En la vista, la figura permaneció negra, pero el jugador ya no podía controlarla (ya que, en el modelo, era blanca) y se enfureció. Hablando estrictamente, este es un error de modelo, pero ya se le han acumulado muchas preguntas (así como a la utilidad para convertir el código ZRF en JavaScript).

Para bien, todo debe reescribirse allí, pero todavía no estoy mentalmente preparado para esto. Por lo tanto, hice otra " solución rápida " y en Fanorona , ahora, puedes jugar normalmente, sin milagros. En " Damas rusas ", por cierto, también. Hubo un error relacionado con la implementación de la regla del " ataque turco ", que inesperadamente se solucionó fácilmente con esta simple solución. Entonces trabajo en los errores. Entonces hago el proyecto mejor.

Source: https://habr.com/ru/post/440116/


All Articles