Si señores! "y ya llego!" xD.
Hola a todos, como podran apreciar, ya volvi ^^. Aunque con un poco de nauseas :S debido al antiestaminico ( ¬¬ corrijanme si no se escribe asi xD... ) que estoy obligado a tomar,xq el otro me da sueño y ya vivi la horrible experiencia de ir a trabajar hecho un zombi.. :( lo cual por obvias razones no le agrada al jefe xD. Todo gracias a un gentil auspicio de un domingo de golpes, balasos y resfriados ^^.
Volviendo con prisa al tema del POL, ya resolvi el problema de la "incolicionabilidad de la pelota" (sumare Karijo! O.o? q es eso?), en otras palabras, el hecho de que la pelota no colicionara cuando debia hacerlo (al menos cuando el usuario espera que lo haga) y no lo hice con intencion de hacer trampa, como menciona "bichitoz" en alguno de sus comentarios u.u, es muy simple y lo explico a continuacion.
En la version original del Pong desarrollada por XGL, en la cual me base para hacer esta version y no contaba con capacidad de multijugador, ambas barras se desplazaban de igual manera en todo instante a lo largo del eje Y, en el eje X las barras nunca se desplazan. Es debido a esto que el algoritmo de coliciones se elaboro en base a la barra izquierda unicamente, la que en esta version viene a ser la barra del Servidor, y se proyectaba una imagen de esta a una distancia adecuada para que coincidiera con el lugar que supuestamente estaba ocupando la barra derecha.
Se podria decir que, para la version inicial, solo existia el objeto barra_izquierda y no existia barra_derecha, sino solo su grafico, y lo que se hacia era lo siguiente:
El objeto "barra_izquierda" tenia 2 bloques(o areas) de coliciones, por donde la pelota no podia transitar, uno exactamente bajo el area que ocupara su grafico y otro a una distancia conocida hacia la derecha justo debajo del grafico correspondiente a la barra_derecha. y lo que se hacia era actualizar constantemente la coordenada Y de la grafica de la barra_derecha de modo que fuera igual a la coordenada y del objeto "barra_izquierda".
A continuacion lo ilustro con una imagen xD:
Como podran ver, los problemas comienzan cuando la barra derecha ya no tiene siempre la misma coordenada Y que la barra izquierda, y esto precisamente ocurre en un juego multijugador puesto que cada jugador tiene el completo control del desplazamiento de su barra en el eje Y y es por eso que se pueden dar casos como el de la imagen, donde una barra esta abajo y la otra arriba. Y esto para muchos es perfectamente normal porque "en eso consiste el juego" para que vas a jugar si tu barra la mueve el enemigo? jajajaja pero es eso lo que me ocurria cuando probe el juego con unos patas ^^.
Sin saberlo, para el programa, yo manipulaba ambas barras a mi antojo, mientras que mi compañero (o enemigo) solo manipulaba la imagen de su barra, el grafico, mas no el objeto en concreto. Es por eso que en la imagen que puse arriba se dio esa incongruencia con la pelota. Porque aunque ambos veiamos su barra arriba lista para golpear la pelota, para el juego su barra estaba abajo, a la misma altura que la mia. y la bola se iba de largo ^^, por ese algoritmo no apropiado para multijugadores fui tildado de "tramposo" por bichito, cuando ni yo entendia por que ocurria eso :D pero precisamente para eso son las pruebas cierto? para encontrar errores (o bugs) y evitarle un mal rato al usuario final xD.
De momento ya esta arreglado eso, ahora faltan agregar puntajes y contadores de vida para probar la siguiente version ^^.
Una vez hecha la interfaz inicial del juego lo pongo en descarga, pero eso si no prometo que sea pronto.
4 comentarios:
fue TRAMPA COMPARE! tu lo sabes! XD, aun no he estudiado el algoritmo del pong. estoy con unos cuadernillos, tengo k terminarlos pal sabado.
te gusto VInNIE?? jaja Se NoTA!
Hola chiste , tu blog esta legal como el de David , yo tambien ya me uni a la comunidad mostrando los temas que me interesan , y porsupuesto la programacion de juegos no deja de ser un tema apasionante , aunque yo lo enfoco desde el punto de vista de Adobe Flash.
Si bien con flash no se pueden hacer juegos "potentes" su capacidad de distribucion por la red , su alta compatibilidad y la versatilidad de ActionScript , lo hacen una buena alternativa para los desarrolladores de juegos. Muy buen aporte con el blog chistin exitos !!
ya colgue la entrada que por error, lo publique, jaja queria esperar para postearlo mañana, chamae, me obligas a que escriba mas... bueno como la entrada salio en el blog de naret, tuve k colgarlo no mas.. jaja pa la prox voy a tener cuidado a la hora de guardarlo como borrador.. XD
Publicar un comentario