Mi juego online. El principio de una idea.

Viernes, 3 de Febrero de 2006

Los lectores de este humilde blog se habrán fijado que hace un tiempo que posteo poco o muy poco. Es verdad, tengo el weblog un poco abandonado, pero todo tiene su explicación.
He acabado los exámenes y ahora tengo un poco más de tiempo libre, así que he decidido hacer un desarrollo por mi cuenta. Ya que en mi trabajo no programo (soy administrador de sistemas J2EE), tengo que programar fuera de horas de oficina y buscarme el qué picar yo mismo.
Estuve un tiempo pensando qué hacer, como una comunidad para desarrolladores freelance y alguna otra cosa más que me rondó por la cabeza. Llegué a hacer incluso el modelo de datos pero al final no cuajó nada. La verdad es que ya está todo inventado y no se me ocurría nada interesante para mi, ni útil para internet.
Por otro lado, en el trabajo todo el mundo estaba de vacaciones (esto fue en navidad), no había casi nadie y teníamos bastante tiempo libre. Estuvimos buscando algún juego en red pero todos eran demasiado poco discretos. Así que pasamos a los juegos Web, pero era imposible acceder a ninguno, ya que estaban todos capados por el fulminante proxy que todo lo capa. Imposible en la ofi.
Así que se me ocurrió que podía bajarme algún juego open source e instalarlo en mi máquina para poder jugar todos. Me recorrí sourceforge.net en busca de algún juego divertido que fuera web (así no parecía que jugabas, sino que estabas navegando, que es menos reprobable) y que estuviera basado en turnos (ya que para poder jugar a lo largo del día en la oficina no se puede jugar en tiempo real claro está: imagínate que te levantas un rato o te pones hacer algo y de repente ?te fulminan!). Todos los juegos Web estaban basado en turnos y encontré bastantes juegos, la mayoría en fase alpha o beta, pero algunos ya acabados. Me fije que todos estaban hechos en PHP, salvo uno, Techstrike, que estaba desarrollado en Java, pero todavía estaba en fase alpha y no se podía jugar…. Pero… de repente, la emoción surgió dentro de mi. Pensé “si no hay un solo juego online hecho en Java, entonces…. tenía que hacer uno!”
Todos los que me bajé requerían un montaje que no podía hacer fácilmente en la oficina: postgres o mysql y Apache con php. Si, bueno, podía montar mysql, Apache y php bajo Windows, pero no me apetecía demasiado. Al final pasó el tiempo y no conseguimos jugar a ninguno. Pero no pasaba nada, yo al menos había conseguido algo bueno: sabía que tenía que desarrollar. Un nuevo reto, mucho más complicado y divertido que hacer un portal o lo que sea: Un juego multigador online de estrategia basado en turnos. Técnicamente un web-based, turn-based MMOG (Massively Multiplayer Online Game). Saber que hay gente que esta jugando a tu juego y que disfruta con él era un aliciente genial para hacerlo lo mejor posible.
En casa decidí buscar más juegos online basados en turnos y empecé a jugar, no para divertirme, sino para aprender como son. Encontré cosas como Ferion, Travian, Ogame, Criminapolis, Tradelair o Earth 2025. Jugué y leí sobre ellos hasta tener una idea de cómo estaban hechos por dentro. Los que más me gustaron fueron los juegos de estrategia espacial, así que ya tenía donde inspirarme. El que más me gustó, por su complejidad fue Ferion. Os recomiendo jugarlo y también leer manual.
Además el desarrollo del juego serviría para utilizar algunas tecnologías Java que desde hace tiempo conozco pero que nunca he llegado a utilizar. Jamás me llegó a gustar del todo Struts, así que tras investigar y probar sobre otros motores MVC, hubo uno que me encantó: WebWork, asi que ese será el motor MVC de mi juego. Para la capa de presentación, nada de JSPs, gracias a que Webwork ya lo trae incluido, utilizaré Freemarker, un flamante motor de plantillas tan potente como Velocity pero, para mi gusto, mucho más cómodo y practico. Ya os contaré cosas sobre Freemarker y Webwork, estoy muy contento con ellos y creo que serán un estandar a partir de ahora en mis desarrollos.
Además, quería unirlo todo con un poco de Inversion Of Control, y como el propio IoC container que incluye WebWork está “deprecated”, nada mejor que Spring para ello. Y para la capa Web, lo que ahora está en boca de todos: Ajax. Aunque para esto, como no me corre prisa, todavía no hay ninguna librería o framework decidido. Aunque por ahora me ha gustado Ajax Any Where. Como servidor de aplicaciones utilizaré Resin, para la documentación del portal algún Wiki gratuito (eso si no me hago yo uno muy sencillo solo para esto) y como base de datos MySql.
Como veis, la parte técnica está bastante clara. Pero lo bueno de hacer un juego son las propias dificultades intrínsecas de la programación de juegos: el motor de turnos, la estrategia, crear las reglas, sistemas de monitorización para evitar abusos y trampas, etc. Mucho curro.
Y tambien hay que buscarle un nombre, que todavia no tiene! Por ahora su nombre clave es “Space Invaders”, aunque es solo eso, su nombre clave. Además hay que hacer o buscar gráficos para el juego, hacer un diseño, hacer un portal de entrada con documentación. Cuantas cosas pendientes todavía!
Y, finalmente, buscar un buen Hosting con Java para el juego, claro (que por cierto ya lo tengo).
Como veo que me ha quedado mucho texto, os adjunto una imagen del mapa de la galaxia generada dinámicamente por mi juego. Ya os contaré como la genero.

Mapa de la galaxy en Space Invaders

Bueno, por hoy ya está bien, ya está descubierto el pastel de lo que me trato entre manos. No os perdais los sucesivos posts sobre Space Invaders.

21 comentarios to “Mi juego online. El principio de una idea.”

  1. kotri:

    Alberto, estás realmente chalado, eres un loco de la programación, xD

  2. Alf:

    Me da mucha envidia que tengas tiempo para programarte un juego en Java, y aprender un nuevo framework web (ni lo conocía, y es que hay tantos…). Hacer mi propio juego es una de mis metas por realizar :-)

    Aprovecho para decirte que “”has sido invitado” a un divertido juego. Pásate por MalaCiencia.

  3. SidV:

    Buenas!!!!!!! No entiendo porque cuando enlazas a Wikipedia usas en INGLES…. :( Usa la wikipedia en castellano, porque me siento re “autor” de algo contribuyendo en ella ;)

    Un abrazo

  4. Anonymous:

    Sencillo! enlazo a los contenidos de Wikipedia en castellano cuando…. existen! en el caso de este post, todas las referencias que hago a la Wikipedia solo existen en Ingles, de ahi que no haya referencias a la wiki en español. :)

  5. SidV:

    Ogame si esta en español… (yo escribi gran parte) ;)
    http://es.wikipedia.org/wiki/Ogame

  6. Anonymous:

    Anda, es cierto. Ya he corregido el post y referencia a la wikipedia en castellano. :-)
    Bueno, ya que tienes experiencia en OGame, cuando avance en la estrategia del juego te preguntare algunas cosillas! Un saludo

  7. ivan:

    tu eres un asco

  8. Jorge:

    mal y bien pero si esta bien el creador de este sitio es un genio en lo malo no se entiende una palabra nada mas.

  9. leonel:

    nada

  10. juegos online:

    espero que vaya hacia adelante tu idea

  11. anonimo:

    Veo ke en cada foro hay personas ke acen juegos de estos y a mi me gustaria hacer uno pero no se ke programa descargarme ni ke acer.
    Lo ke tengo es un programa para hacer juegos en 3D (Entidad 3D) pero no se pueden hacer online y ademas lo ke yo kiero es hacer un juegos online de estrategia tipo ogame,…
    Alguien me podria aayudar porfavor

  12. Shapulin:

    opino igual que el post anterior…

    y para cuando veremos algun avance de tu idea???

    yo siempre paso por aca para ver como vas con esto desde que encontre este articulo tuyo buscando justamente alguna herramienta para hacer mi propio ogame…

  13. Raul:

    Beto, cçomo va este juego?

  14. Raul:

    En respuesta a Jorge: quçe no entiendes del articulo?, en fin, esta bien clarito, no se si te te has dado cuenta de que es un blog de programacion, claro, si no sabes nada sobre programacion pues no entenderas nada.

  15. Valnar:

    Gran artículo ;)

    Unos colegas y yo decidimos hacer un juego web de estos, pero no sabiamos por donde enfocar el tema. Gracias a este artículo me has dado algunas ideas por donde empezar a pensar y decidir, y proporcionas muchos links muy interesantes y útiles. Espero que sigas con el tema, y estaré atento a actualizaciones, suerte!

    Gracias, saludos.

  16. Bruko:

    Ánimo! Ojalá hayas avanzado, si no, adelante. ya nos contarás como va tu proyecto.
    Un saludo de otro programador de juegos web. (en vías de)

  17. Rashek:

    Hola, parece un buen proyecto mmmm pero a mi me gustaria que hicieran uno al estilo ogame, pero de piratas, con mapas, rutas, islas y de todo, en base a una serie de animacion llamada One Piece, y tengo mucha gente, diria que mas de 200 que les gustaria jugar, y tambien tengo un foro y otro de Rol, que podria publicarlo para atraer mas gente, pero tampoco se mucho de programacion, digamos que se lo minimo para foros y todo eso, pero me las apaño, y se usar el visual basic a nivel basico xd pero nada, solo era una sugerencia, pues atraeria mucha gente, no hay ningun juego asi, que yo sepa xd bueno, dejo mi msn por si quiere contactar alguien xd es este: luffy_thestrawhat@hotmail.com

    bueno, espero que hagan ese juego, y espero que sea online xd pero me gustaria mas uno de piratas *o* seria la ostia y atraeria mucha gente, eso lo garantizo, que tengo casi 300 contactos en el msn xddddddd

    bueno, dew ^^

  18. admin:

    Vaya, me interesa tu idea sobre hacer el juego sobre piratas. Escribeme contandome mas ideas sobre barcos o tipos de barcos, que recursos hay para comerciar, etc. Podria aprovechar el generador de planetas para hacer las islas o algo asi…

  19. plugmas.com:

    Maravilloso. Muy interesante. Tuve una idea de encontrar a un programador de juego para crear una “villa de navidad”. Asi como su nombre lo dice el juego esta especializado en una epoca de navidad en linea por lo que multiple jugadores (¿Te imagina alrededor de mundo?) ingresa a la Villa de Navidad, se conoce, comparte, divierte como si fuese una vida totalmente real. Lo mejor de todo es que un jugador puede hacer contacto con otro jugadores en una epoca de navidad a otro lado del mundo. ¿Interesa?

    Os saludos y feliz navidad :-)

  20. Zeui:

    owo!!!….
    que genial..
    olle amigo.. em noc si pueda llamarte amigo, pero espero que leas este post :P
    estoi ase un tiempo interezado en hacer un juego.. online de estos mismos de los que hablas tu..

    pero.. owo! tengo apenas 17 años XD! se una cantidad muy pequeña de programacion (muy poco) y
    se algo de html.. y kero aprender php :P

    pero me gustaria si puedes hacer algo como un “tutorial” de como empezar a montar los archivos y todo esto..

    la idea de hacerlo por java igual esta muy genial… seria de alguna manera algo “unico” o muy dificil de encontrar…

    pero al ser java, tambien trae sus concecuencias.. por lo que se io O..o…
    peso y cosas por el estilo.. pero valdria la pena, totalmente…

    o porlomenos que me contactaras…
    si quieres te puedo ayudar con algo, que se io…
    siempre e tenido ganas de formar parte de algun proyecto…

    creacion de juegos rpg… o cosas por el estilo…
    pero lo que es.. nunca e encontrado un equipo, que .. tenga ganas de seguir
    y casi siempre son grupos de 4 o 5 personas…
    y al final 1 o 2 se salen y hasta ahi llega todo…

    estoi aprendiendo programacion
    lo basico por Dev-Pascal
    cosas como, if, then, cubos de Begin - End, write, writeLN, Read, ReadLn…
    etc…
    con esto solo, kero qu sepas por mi entuciasmo por aprender cosas nuevas :P
    asi que.. eso…
    mi mail:
    zeui.dreamer@gmail.com
    muchas gracias…

  21. kikujiro:

    Joder ami,jajajaja, no entiendo nada de lo que escribes, para mí es como si estuviera en chino, jajaja, pero si terminas lo del juego seré la primera en probarlo¡

Hacer un comentario

XHTML: Puedes utilizar las siguientes etiquetas:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Verification Image

Debes leer y teclear los caracteres entre 0..9 y A..F para enviar la respuesta.