Entonces, por ejemplo, queremos centrarnos en el móvil. Eso significa que no tengo que preocuparme por resoluciones más grandes, resoluciones de escritorio, tabletas. Vas a jugar en tus teléfonos, ¿verdad? Puedo limitar la plataforma en la que va a estar.
A continuación, el público objetivo. Entonces, supongo que todos son adultos, de cualquier manera, están aquí en una conferencia de software, probablemente no esperan un juego súper llamativo, y a mi sobrino de 11 años no tiene que ser un fan. Es un crítico muy, muy fuerte. Especialmente con mis juegos. Así que si no le gusta, no me importa.
A continuación, cuando definimos los modos de juego. Entonces, en este caso, tengo la idea de tener una especie de mar abierto donde todos pueden explorar y encontrarse, y desafiarse mutuamente a un juego específico de batalla naval, y luego tener otro modo de juego que es el juego real de batalla naval. Esto me ayuda, en mi mente, a entender qué tipo de escenas necesito preparar para el juego.
Y finalmente, los puntos de venta únicos del juego son cosas que el juego debe tener absolutamente. Sin estas cosas, no tiene mucho sentido. Así que quiero que el juego sea algo realmente accesible para ustedes, en términos de no tener que iniciar sesión, no tener que tener ningún tipo de authentication. No van a querer crear una cuenta, seamos honestos. Y la experiencia tiene que ser bastante rápida. Tiene que ser divertido, porque tampoco van a invertir horas y horas jugándolo. Probablemente solo van a escanear el código QR al final de esta presentación, jugarlo unas cuantas veces, si eso, y espero que se diviertan, y tengan una experiencia única de este juego.
Así que estos son los bocetos. La idea general de cómo va a ser este juego.
A continuación, pasamos a la architecture, como parte del design todavía. Entonces, la forma del juego es técnicamente en un monorepo, con un único servidor, que es Node.js, específicamente Fastify, pero no necesitamos entrar en detalles. Y abrirá una conexión WebSocket usando Socket.io. El cliente son múltiples clientes React, así que todos sus teléfonos se conectan a ese mismo servidor. Y cada uno de los clientes React creará una conexión al socket, el socket abierto en el servidor, lo que permite una comunicación bidireccional. Así que en caso de que no lo sepan, los WebSockets son una conexión TCP. Es un protocolo que utiliza la conexión TCP para permitir la comunicación bidireccional. Así que los clientes pueden enviar y recibir data del servidor. Y lo que esto nos permite hacer es separar las responsabilidades de nuestro juego en lo que está en el servidor y lo que está en el cliente. Así que el servidor puede manejar la lógica del juego
Comments