Gracias, esta es mi primera publicación, así que corríjame en cualquier etiqueta. Soy un programador principiante y quiero hacer un juego en JavaScript para una de mis clases. Específicamente, mi clase de latín para un proyecto de "cualquier cosa". Mi objetivo es hacer una especie de versión romana de Among Us. Ya tengo movimiento básico y un servidor Apache ejecutando mi juego. Lo único con lo que necesito ayuda aquí es hacerlo multijugador.
La forma en que quiero hacer esto es tener una matriz en el servidor donde cada fila es un jugador, y su nombre de usuario, contraseña, coordenadas y varios estados (conectado, muerto, rol, etc.) se almacenan en cada columna. Solo el nombre de usuario, las coordenadas y algunos de los estados deben estar disponibles para cada cliente. Esto debe copiarse en una matriz para cada cliente, quien luego tomará esta información y la mostrará. Un cliente toma el control de su personaje ingresando su índice y contraseña, momento en el que se creará una matriz 1D en el lado del cliente que almacena sus coordenadas, que el jugador puede cambiar usando sus controles y enviar al servidor para almacenarse en el arreglo principal.
Quiere saber si lo va a hacer en 3D o 2D, elija su idioma e implemente lo que dijo en dicho idioma.
Lo principal que creo que te estás perdiendo es el transporte de datos, que se te puede proporcionar con una biblioteca TCP websocket como socket.io o calcetines, lo que facilitará un flujo de datos instantáneo y constante entre el servidor y el cliente.
La otra cosa que te falta es una biblioteca de gráficos, en la que puedes investigar más después de averiguar si estás haciendo 2D o 3D o no.