Video Summary and Transcription
En estos tiempos extraños, todos tenemos una pregunta: ¿qué hacer con tanto tiempo en casa? La respuesta es inventar más juegos de mesa y potencialmente usar React. Modificar juegos existentes y agregar IA puede traer nuevas posibilidades y desafíos. La biblioteca BoardGame.IO proporciona una interfaz simple para crear versiones jugables de juegos de mesa en una computadora y agregar IA. Las simulaciones por computadora no pueden capturar la interacción social y la dinámica de los juegos de mesa jugados en una mesa.
1. Tips for Making Board Games in Current Times
En estos tiempos extraños, todos tenemos una pregunta: ¿qué hacer con tanto tiempo en casa? La respuesta es inventar más juegos de mesa y potencialmente usar React. Como desarrollador web profesional, me gusta gastar mi dinero tecnológico en publicar juegos de mesa. Si quieres hacer juegos, comienza por comprender la historia de los juegos de mesa y el mercado actual. Observa juegos populares como Gloom Haven y Spirit Island, pero recuerda hacer tu juego accesible y divertido. Inventemos un juego simple.
La pregunta es qué hacer con tanto tiempo en casa. Creo que hay una respuesta simple para eso. Es inventar más juegos de mesa y potencialmente usar React. Soy un desarrollador web profesional en una startup tecnológica en Londres en este momento y me gusta gastar mi dinero tecnológico en publicar juegos de mesa. Voy a darte algunos consejos o tips si también quieres hacer juegos en los tiempos actuales.
Lo primero, conoce mejor la historia de los juegos de mesa. Creo que hay una cita que debes conocer o estar conectado a ella. Es: el juego es más antiguo que la cultura. La cultura, por definición siempre presupone la sociedad humana. Los animales no han esperado a que los hombres les enseñen a jugar. ¿Y por qué es relevante para nosotros? Básicamente está diciendo que debemos ver el juego o el juego desde una perspectiva mucho más profunda que solo la tontería que hacemos. Así que lee Homo Ludens si quieres un poco más de antecedentes allí.
Entonces, digamos que nunca has inventado un juego antes. ¿Qué podemos hacer por ti? La primera regla es conocer el mercado, pero eso es demasiado capitalista. Digamos, hey, conoce la historia de los juegos y sabe qué está sucediendo en este momento. Conoce lo que a la gente le gusta jugar. Veamos juegos populares actuales, que serán, por ejemplo, a la izquierda Gloom Haven a la derecha Spirit Island. Te darás cuenta de algunas cosas sobre ellos. Hay muchas reglas complicadas y engorrosas porque hay muchas piezas diferentes. Las personas pueden sentirse tontas porque no entienden las reglas, que son dos cosas muy malas. Quieres hacer un juego nuevo, especialmente el primer juego, lo más accesible posible porque es más fácil de probar para ti. Es más fácil probarlo con otras personas. Al final, incluso diría que estos juegos no son divertidos. Son mucho más mecánicos. ¿Y qué nos recuerda esto? Nos recuerda a Gee Crabby y Spaghetti Co. Pero somos una conferencia de React, así que queremos ver juegos fáciles. Cada regla que se puede eliminar es una buena regla, es la cita para este tipo de cosas. Es de Sid Saxon, uno de los autores de juegos de mesa estadounidenses más populares y famosos. Así que inventemos un juego simple.
2. Modifying Existing Games and Adding AI
El truco número uno es no repetirse, sino modificar un juego existente. Por ejemplo, al rotar Conecta Cuatro 45 grados, obtenemos Diagonal Cuatro, lo cual introduce más posibilidades y es más difícil de calcular por una computadora. Para convertir este juego en una versión jugable en una computadora, podemos usar la biblioteca BoardGame.IO, que proporciona una interfaz simple de React. Agregar inteligencia artificial al juego también es sencillo con BoardGame.IO, solo requiere unas pocas líneas de código. La IA utiliza un enfoque basado en árboles para determinar los mejores movimientos y las probabilidades de ganar. Mira el video para ver la IA en acción.
¿Cuál es el truco número uno aquí? El truco número uno es no repetirse, lo que básicamente significa no hacer el mismo juego nuevamente, sino repetir el de otra persona. Porque lo que es muy fácil y accesible para un nuevo diseñador es copiar un juego que te guste, copiar un juego que creas que es interesante, que tiene potencial para aún más, y luego modificarlo un poco, modificarlo en esa dirección. Esto te brinda una buena base para comenzar y aún te da cierta libertad para ser este diseñador que introduce primero las reglas.
Así que espero que todos ustedes conozcan este juego, es Conecta Cuatro. Básicamente ganas el juego al tener cuatro piezas en línea. ¿Qué podríamos hacer con este juego para llevarlo al siguiente nivel, ponerlo en los tiempos modernos? Tomé la decisión simple de simplemente rotarlo 45 grados. Ahora se llama Diagonal Cuatro y las mismas reglas aún se aplican. En el turno de un jugador, coloca una pieza en el tablero, pero en este juego realmente tiene que colocarlas desde la izquierda o desde la derecha, en la parte superior y caen, y aún ganas al tener cuatro en línea. Hay algunas reglas adicionales en las que podríamos entrar en otro momento, pero básicamente es lo mismo, solo girado 45 grados, lo que introduce muchas más posibilidades y no es tan fácilmente calculable por una computadora.
También somos una conferencia tecnológica, entonces, ¿cuánto esfuerzo sería convertir este juego en una versión jugable en una computadora? En realidad, no mucho esfuerzo, porque hay una gran biblioteca llamada BoardGame.IO. BoardGame.IO es básicamente el Redux para juegos de mesa. Simplemente defines tu usuario lector, tienes algún estado inicial. En nuestro caso, simplemente decimos, okay, tenemos esta cuadrícula de ocho por ocho piezas y llenamos un espacio específico, y luego declaras todas las acciones posibles. En este juego, solo hay una acción posible porque solo puedes colocar una pieza en la parte superior de la fila, así que hay una acción, hay algunas inserciones a medida que las haces clic, así que hay algunos argumentos estándar para una acción, que todos deberíamos conocer muy bien. Y hay algunas funciones de utilidad que calculan movimientos válidos y algunas funciones de utilidad, algunas ganan en realidad porque es un juego, algunos pueden ganar, es relevante verificar eso. Y luego, ¿cómo lo haces visual porque esto es solo un reductor? BoardGame.IO proporciona una interfaz de React bastante simple para ti. Simplemente declaras con algún código React estándar cómo se ve tu tablero con cualquier estado dado. Aún puedes usar tablas si quieres, porque en realidad es bastante fácil poner este juego en la computadora y luego usar alguna transformación CSS para rotarlas 45 grados.
La pregunta ahora es, ¿por qué realmente necesitamos BoardGame.IO? ¿Qué tiene de genial esta cosa bastante simple? Estimemos cuánto tiempo tomaría agregar inteligencia artificial a esto. Probablemente sea una estimación grande, pero con BoardGame.IO básicamente solo necesitas cinco líneas de código, dependiendo de cómo lo cuentes, y tienes tu IA. ¿Cómo funciona? Solo voy a mostrarte el video de la IA en acción. La IA es literalmente solo esta cosa en mi lado de programación. Definitivamente hay algunas cosas sucediendo en la biblioteca. Veamos un video. Ahora la computadora está jugando contra sí misma, y ves que la pieza cae. ¿Qué está pasando? En cada turno, la computadora elige aleatoriamente uno de los movimientos posibles y luego juega el juego dependiendo de ese movimiento. Básicamente está comenzando un árbol para algunos de los movimientos posibles y luego verificando quién tiene más probabilidades de ganar al final. Para cada uno de estos árboles, se calculan algunas probabilidades de ganar o perder, y hay alguna configuración en la que puedes decir cuántas iteraciones, cuántas muertes de juego quieres hacer. Ves a la computadora jugando aquí, y Redd está poniendo a Blue en una situación difícil, porque Blue está obligado a jugar piedras específicas, pero Redd tiene cuatro piezas en línea ahora.
3. Implementando IA y Simulaciones
La IA completa para este juego está disponible con BoardGame.io. Es importante asegurarse de que no haya un único ganador en los juegos abstractos e introducir variabilidad. Las simulaciones por computadora no pueden capturar la interacción social y la dinámica de los juegos de mesa jugados en una mesa.
Esa es la IA completa para este juego. Simplemente obtienes esto listo para usar con BoardGame.io al proporcionar un reductor y las acciones. Obtienes todo de forma gratuita.
Por qué es importante, si estás creando un juego abstracto, siempre debes asegurarte de que no haya un único ganador. Debe haber una alteración. Debe haber cierta variabilidad, incluso si la computadora juega. Por lo tanto, el programa real es una excelente manera de verificarlo.
Y lo que es aún más interesante, nuestros juegos, la computadora no puede simularlos, porque hay mucho más sucediendo con un juego de mesa en la mesa. Toda la interacción social, no se puede modelar eso. Pero hoy no tenemos tiempo para eso, así que lo dejamos como ejercicio para el lector. Si quieres saber más, echa un vistazo a BoardGame.io, y si quieres ver algunos de mis juegos, visita Kronobergespieler.de, o contáctame en Kaos Yoga.
Comments