Noches de cafeína – Websocket en node y en Lua para crear un RPG multiplayer

Algunas veces las ideas nos llevan unas a otras. Partimos de la base de crear por ejemplo un juego de cartas y terminamos diseñando a boli y papel la historia de un juego para ordenador.

Y todos/as tenemos juegos que nos han marcado algún momento. A mi el juego “Conquest the new world” (del que hemos hablado ya en mierda.tv aquí) me gustó. Y como ese tipo de juegos muchos otros. No es que me marcase de por vida pero tengo buenos recuerdos de jugarlo a mediados de los 90.

Estos días charlando con mi pareja sobre esos perfiles tan marcados en los movimientos sociales decidí ponerme a describirlos un poco.
Tengo como 35 perfiles de personajes a medias de terminar de describir pero aquí pueden verse ya unos cuantos: Bestiario de movimientos sociales.

Me di cuenta de que no tiene mucho sentido crear un juego y que este una vez alguien lo termina de jugar lo olvida. Lo bonito es crear un motor que permita que el juego pueda extenderse y ser creado fácilmente por terceros.

Ayer a medio día fui a comprar alguna camiseta para hoy a la tarde ir a una entrevista de trabajo. Lo cierto es que desde ayer por la tarde que llegué a casa no he podido resistir la tentación de ponerme a programar ese RPG de movimientos sociales que tanta gracia me hace en mi cabeza.

Son casi las 2 del medio día del día siguiente y no he dormido nada pero el juego ya va cogiendo forma (con gráficos puestos sin sentido estético, eso es algo a pulir).

Relájate un poco que no tendrá ese aspecto cutre en el futuro. Es una captura del juego justo cuando ya chutaba el multiplayer.

Me escribí la parte server en nodejs y lo necesario en la parte del juego para que 2 jugadores puedan ver en sus monitores como se mueve uno y como se mueve el otro.
No hace mucho más ahora mismo y no se pueden elegir aún los personajes pero si que tengo garabatos en papel de que tendrán resistencia, ataque, nivel de mágia.

Cada uno de los personajes que eliges tiene 0 de magia inicialmente. Es por turnos la idea ahora mismo. Se tira un dado virtual y si te sale 4 pues tienes 4 movimientos que pueden ser moverse o atacar. Solamente se podrá atacar al contrincante si está en el campo de visión y eso supone que dependiendo del perfil que sea pues el atacado se defenderá más o menos. Y para rellenar magia puedes finalizar tu turno sin agotar tus movimientos. Eso va sumando la barra de magia y te permitirá una vez rellenada lanzar el ataque especial que tenga cada personaje.

Por ejemplo si pides al jugador cansino pues este te dará la brasa durante horas y te comerá la oreja y eso agotará tus defensas por ejemplo por 5 turnos.

Las magias de cada perfil es lo que me interesa más. Es un juego por tanto en el que esta noche he visto que es más que posible y que se que llevará su trabajo pero que creo que puede ser muy divertido de jugar ya que dependiendo del mapa o jugadores que se seleccionen te metes en un conflicto de movimientos sociales o en un momento histórico en el que ganar uno o ganar otro supondrá un final u otro.

Los mapas tendrán su editor de mapas y serán sencillos de crear. No hace falta mucho salvo una buena historia.
Los perfiles también podrán ser ampliados. La idea es que el juego termine siendo eso, un motor para jugar historias que terceros puedan crear.

Ya veremos que pasa. Hoy de momento tengo que ir a la entrevista de trabajo y si no la supero pues a seguir con la idea un tiempo mientras sigo buscando.

No he dormido mucho la verdad pero espero tener suerte y no quedarme dormido allí esta tarde.

2 comentarios sobre “Noches de cafeína – Websocket en node y en Lua para crear un RPG multiplayer

  1. Esta genial la idea +1000 y tiene buena pinta la mecánica que indicas que se asigne sus habilidades y poderes al contrincante , según el perfil que tenga en “el bestiario de movimientos sociales” Animo con ese motor, seguro que se pueden montar historias interesantes con el.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *