Desarrollar juegos online en java

Iniciado por monsefoster, 16 Junio 2011, 17:11 PM

0 Miembros y 2 Visitantes están viendo este tema.

monsefoster

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

barbieturico

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:

monsefoster

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.

Maurice_Lupin

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
Un error se comete al equivocarse.