Foro de elhacker.net

Programación => Java => Mensaje iniciado por: monsefoster en 16 Junio 2011, 17:11 pm



Título: Desarrollar juegos online en java
Publicado por: monsefoster en 16 Junio 2011, 17:11 pm
Vale, os tengo una pregunta.
Tengo un juego en JAVA, por los momentos uso una base de datos local, pensaba ponerlo online traspasando esa BD local a un servidor, y poniendo el .jar para descargar, hasta donde sé deberia funcionar si la persona tiene la JVM.

La cosa es que, el juego es de varios jugadores, mi pregunta es, como se haría para que varias personas jueguen al mismo tiempo, unos contra otros? Se que se puede hacer esto, mas no se si es con applets o con los .jar tambien se puede.

Sería genial que me orientaran en esto!  ;D


Título: Re: Desarrollar juegos online en java
Publicado por: barbieturico en 17 Junio 2011, 09:15 am
Buenas, como nadie te ha contestado aún, me animo a darte mi inexperta opinión (nunca hice un juego jeje)...

Imagino que lo que pretendes es hacer un juego online en el que los jugadores comparten datos (no un juego cooperativo offline).

Si no me equivoco, por favor que alguien me corrija si digo alguna burrada, lo que deberías hacer es crearte dos ejecutables para tu juego, uno será el programa cliente con el que jugarán tus jugadores y otro el programa servidor, que controlará todas las interacciones de estos jugadores.
Para ello como dices debes tener una base de datos en el lado servidor y que sea controlada por tu programa servidor, que es el que recibe las peticiones de los clientes, valida si esos datos son correctos y si todo está bien hace la inserción/modificación/borrado en la base de datos.
Con un ejemplo:
Un guerrero en tu juego mata un monstruo. El programa cliente envía información al programa servidor, indicándole qué jugador es y qué monstruo ha matado (y probablemente muchas más cosas). Tu programa servidor consulta en base de datos cuánta experiencia proporciona ese monstruo y actualiza en el registro de tu guerrero sus puntos de experiencia, sumándole los que correspondan y pongamos que sube de nivel. Cuando el programa cliente del brujo vuelva a pedir los datos del guerrero a la base de datos ya estarán actualizados y el brujo verá al guerrero con un nivel más del que tenía antes.

Por descontado todas las operaciones en base datos pienso que deberían ser con transacciones para evitar problemas de integridad en el futuro.

Todo esto pienso que puedes hacerlo desde el jar, aunque todo depende de cómo tengas estructurado tu juego.
Desde mi punto de vista, todos los accesos a bbdd deberían ser desde el lado servidor. Desde el programa cliente solamente se harían conexiones a tu programa servidor con sus peticiones.

Espero haberte servido de ayuda, aunque sea un poco...  :xD

A ver si alguien más puesto nos aclara cómo debería hacerse todo esto  :silbar:


Título: Re: Desarrollar juegos online en java
Publicado por: monsefoster en 17 Junio 2011, 17:55 pm
Muchas Gracias.
Por ahora lo que tengo, en el juego, escribo en la base de datos, y consulto informacion. Escribo que si se registra un usuario nuevo, y consulto las preguntas y demas (es tipo ruleta de la suerte), del resto, los puntajes y demas, todo lo hago en el juego local, y cuando termina el juego, entonces procedo a escribir (si se necesita escribir) datos en la BD.


Título: Re: Desarrollar juegos online en java
Publicado por: Maurice_Lupin en 24 Junio 2011, 17:32 pm
busca en google o un libro de java el tema "Sockets", con esa teoría podrás crear un servidor y el cliente como te aconsejo barbieturico, yo tampoco soy un experto pero me monte una especie de chat en base a un ejemplo que encontre, lo baje y funciono bien.

http://www.koders.com/java/fid36EF66D7EBD2B3933366712C59AF4F0C9F1AA272.aspx