Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Pasar de 2d a 3d y online... osea 2 preguntas

Iniciado por vib, 28 de Julio de 2011, 06:23:23 PM

« anterior - próximo »

vib

PD:lamento si hay faltas, como dije en el foro anterior soy un poco dislexico y el tema de las letras me mata mucho.

Hola gente...de nuevo..me salio una duda de hace tiempo que es mas que nada por curiosear un poco.

Es muy complicado pasar un juego que tienes echo en 2d y que funciona perfectamente pasarlo a graficos 3d?

Como seria?... mi antiguo profesor me dijo que la dinamica de programacion era la misma pero que los movimientos y colisiones se tenian de pensar basicamente como al cubo no al cuadrado... bien pero nose como hacerlo...

Ya que tengo el juego.. me gustaria hacer unas pequeñas pruebas de como quedaria en 3d...

Luego, siguiendo en el mismo tema.. que es basicamente la finalidad de esta primera pregunta... tengo certeza de juegos.. "league of legends" que tienen una mezcla de 2d i 3d.. en la misma partida...

Basicamente todo lo considero que lo tienen programado en 2d.. lo que tiene como una especie de profundidad que es en 3d.. osea el tamaño del personaje aumenta en sentido donde tengas la camara..

Y realmente nose bien bien como se haria eso.
------------------------

Luego otro tema, internet no creo que haga bien en poner la pregunta junto a esta, pero.. asumiré el riesgo.

Tengo digasemos repetitivamente, un juego 2d que se puede jugar desde internet.. al que por cierto tengo un problema.

Se trata del control de flujos...

Cuando el servidor y clientes estan en la misma red..no hay problema ya que se le asigna un puerto 0 y no pierde informacion.

Me explico: Mi juego es un hibrido.. tcp/udp.
TCP: es usado para la conexion del cliente con el servidor.. ya que es una informacion importante que tiene de saber si esta o no el cliente conectado.
UDP:entre los clientes uso la conexion udp... y he aqui donde tengo el fallo...

Cuando el pc me va petadito sobretodo.. y empieza haber lag en la partida es cuando mas me ocurre... se pierden paquetes... y claro eso no es bueno...
Porque por ejemplo le hago una magia... pierdo el mana.. pero luego pum no le he quitado vida porque el paquete de la vida se perdio...

Como podria hacer un control de flujos udp¿ o que me recomiendaN?

El control de flujos tenia pensado en..
te envio un paquete- lo recibo te envio un paquete de recibido...
y asi.. pero igual asi tambien los paquetes se pueden perder

Cambie el protocol de trafico "no recuerdo el nombre". y en vez de ser 4.. hace un control de un maximo de 10 packetes... aunque he visto que el maximo que puede llegar a enviar el juego en si son 6...lo suyo seria aumentar ese maximo? ya que si hay lag los paquetes se retrasan y pueden acumularse mucho? o eso no pasa? nuse

Espero una opinion, gracias



Warchief

1) Pasar de 2d a 3d no es complejo, pero lleva tiempo. Necesitas modelos y animaciones 3D. En vez de pasar un juego 2d a 3d, yo recomendaria empezar de cero y hacerlo en 3d como remake.

League of Legends es en 3D. Las barras de vida, el interfaz, etc, son en 2D, como en el resto de juegos, pero escenario y personajes son 3D.

Empieza con un motor sencillo como Irrlicht para hacer pruebas en 3D. http://irrlicht.sourceforge.net/

2) Para el juego en red, lo que hacen los clientes es enviar al servidor peticiones para hacer cosas. Por ejemplo, en tu caso, el cliente le dice al servidor que quiere lanzar una magia. El servidor hace la logica y sincroniza todos los clientes conectados a esa partida para que tengan la misma informacion (si se pudo lanzar la magia o no). Los clientes suelen hacer prediccion de lo que va a pasar, pero cada vez que llega un paquete del servidor con el estado real de la partida, actualizan a lo que dice el servidor. Por eso en los juegos con lag los personajes pegan saltos; es cuando el servidor transmite el estado actual de la partida.

vib

nono.. en la parte de internet..

la conexion udp es de cliente-cliente.. cada cliente hace de escucha y clientre a la vez.. el servidor no ve ningun paquete...
Aunque la cosa seria establecer tambien una coxeion udp con el servidor.. teniendo 2 escucha una tcp y una udp.. y que toda la informacion pasara por el servidor...mmm si es una idea... tendre de cambiar muchisimas cosas.. buah pero ok me la guardo!

fjfnaranjo

Normalmente se hacen las dos cosas a la vez, sólo que el servidor se encarga de sincronizar a todos los clientes al mismo tiempo a intervalos cortos.
fjfnaranjo.com - Creating entertainment - Creando entretenimiento
fjfnaranjo [4t] gm4il [d0t] c0m (mail y msn)

vib

Cita de: fjfnaranjo en 29 de Julio de 2011, 12:34:53 AM
Normalmente se hacen las dos cosas a la vez, sólo que el servidor se encarga de sincronizar a todos los clientes al mismo tiempo a intervalos cortos.
Mmm haber si he entendio lo que me quieres decir, porque creo que esta es una muy buena opcion.

Al mismo tiempo de como lo tengo... asociar mas comunicaciones de cliente-servidor "no solo la de si esta conectado o no"
enviando por ejemplo cuando haga un ataque, el cliente se lo envia udp a los otros clientes y a la vez se lo envia de forma tcp al servidor...

Y el servidor que cada X tiempo reenvie toda la informacion de la partida actual a los clientes y actualize los valores en caso de que se tuvieran de actualizar...
Mas o menos esto es lo que he entendido.. quizas asi daria problemas en cuanto hace la actualizacion el servidor a la vez que tu atacas.. podria dar alguna variacions de valores ... bueno esta bien






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.