Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/08/2014, 09:35
Avatar de stock
stock
 
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años, 5 meses
Puntos: 53
Respuesta: Juego Multiplayer Phaser.Io Socket.io y Node.js

Ok, después de unos días de ponerme a hacer esto lo he conseguido!! Aquí te dejo un pequeño demo:

http://aprendejs.com/

El código JS lo puedes leer fácilmente, realmente es poco código. En este momento solo están funcionando las conexiones con sockets, cada que se conecta un usuario nuevo se crea su monito en todos los clientes, cuando el jugador local mueve su monito este también se mueve en todos los clientes.

Para mover al monito simplemente envío las coordenadas y dirección a los jugadores remotos, esto usando websockets:

Código Javascript:
Ver original
  1. Stars.socket.emit("moveplayer", {id:me.current.id, x: me.player.x, y:me.player.y,direction:direction});

Luego tengo esta función que se ejecuta únicamente en los jugadores remotos:
Código Javascript:
Ver original
  1. _moveRemotePlayer : function(event,message){
  2.         var me = this,
  3.             movePlayer = me.remotePlayers[message.player.id];
  4.  
  5.         // Player not found
  6.         if (!movePlayer) {
  7.             console.log("Player not found: "+message.player.id);
  8.             return;
  9.         };
  10.  
  11.         // Update player position
  12.         movePlayer.x = message.player.x;
  13.         movePlayer.y = message.player.y;
  14.         if(message.player.direction){
  15.             movePlayer.animations.play(message.player.direction);
  16.         }else{
  17.             movePlayer.animations.stop();
  18.      
  19.             movePlayer.frame = 4;
  20.         }
  21.     }

Esta función se ejecuta cuando los jugadores remotos reciben las coordenadas, aquí solo asigno las nuevas coordenadas y ejecuto la animación.

En este momento todavía no detecto coaliciones entre jugadores, ese es el siguiente paso, planeo hacer un juego donde existan dos tipos de jugadores, humanos y leones (o cualquier otro animal), los humanos correrán para no ser comidos por los leones :)

Saludos