Esperemos un segundo. La IA está tratando de vencerme. Ahora puedo entrar aquí y realmente puedo ir y jugar el juego simultáneamente en todos estos mapas. Entonces me di cuenta de que también puedo simplemente traducir este juego a cualquier idioma y tener el juego funcionando dentro de esta presentación en cualquier idioma al que se traduzca el juego. Aún más, me di cuenta, hagamos uno diferente, me di cuenta de que puedo poner el editor de mapas que construí en la presentación. Así que puedo simplemente entrar aquí y hacer un nuevo mapa. Y solo hay dos restricciones aquí para hacer que todo esto funcione, para hacer que todos los mapas sean automáticamente hermosos. Una es, ¿puedes colocar esta baldosa en esta ubicación? Y dos, dependiendo de las baldosas a mi alrededor, ¿cómo debería verse esta?
Así que, por ejemplo, puedes poner cualquier combinación de árboles juntos. Puedes ir al editor de escenarios, puedes elegir el personaje que te guste, elegir su foto de perfil digamos. Y luego desde allí, puedes entrar directamente al juego y probar los mensajes en el modo campaña. Así que este es Athena Crisis. Todo lo que has visto está construido desde cero con JavaScript, React y CSS. La pila está usando Vite, PMPM, TypeScript, React, Relay, Emotion, Prisma, GraphQL, GraphQL Pothos, Socket.io, y estructuras de datos persistentes.
Escribí una publicación en el blog. Saqué las piezas principales sobre las que tengo una opinión, como Vite, PMPM, TypeScript, las puse en una plantilla, y expliqué cómo armar una experiencia de front-end realmente rápida. La restricción que me impuse cuando comencé esto es que solo se me permite usar herramientas en la capa directamente debajo de mí que entiendo tanto que podría construir una versión muy básica y compatible de ella si tuviera que hacerlo. No entiendo los motores de juego, así que la única manera de usar uno era construir uno por mí mismo. He trabajado en infraestructura de pruebas en el pasado. ¿Cómo pruebas un videojuego? Si estás jugando videojuegos, son juegos triple A, y se lanzan, lo primero que haces es descargar un parche de 10 gigabytes porque, desde el momento en que lo enviaron y el momento en que lo lanzaron, encontraron tantos problemas que tuvieron que parchearlo. No hay muchas pruebas, y luego comienzas a jugarlo y hay tantos errores, tantos problemas visuales, todo tipo de problemas, ¿verdad? Y así, me gusta probar. No escribo muchas pruebas, pero quería averiguar cómo puedo asegurarme de que cuando cambio el juego, no estoy rompiendo algo todo el tiempo. Y recientemente exhibimos este juego en Tokio en una feria de videojuegos y tuvimos gente jugando en dos estaciones desde las 10 AM hasta las 6 PM durante todo el día y no experimentamos un solo error de juego. No digo que no haya errores, pero ese día nadie encontró uno. Pero de todos modos, lo que haces, tienes este videojuego y tienes estados de juego. ¿Cómo verificas que funciona? Podrías escribir pruebas para verificar, ¿está esta cosa aquí, está esta cosa allá? ¿Tiene este una salud de 50 y este una salud de 77? Y luego cambias el equilibrio y todo simplemente se rompe, ¿verdad? O cambias los gráficos y las cosas se rompen. Y entonces pensé, está bien, tal vez simplemente renderizaré mi estado de juego a texto. Hago una instantánea de gest o algo así y hago un renderizador que toma mi estado de juego y lo convierte en texto. Luego terminas teniendo dos implementaciones de tu renderizador. Una para el juego real y otra para tu prueba. Y si estás usando texto para representar el estado de tu mapa, te das cuenta de que apesta porque se desincroniza.
Comments