Xeno - Cambio de Base de Datos

Publicadas por Jose Carlos Tamayo

Bueno, ya que este proyecto es un hobby y A) quiero que salga B) De verdad quiero que salga al publico, he decidido pasar de Postgres a Mysql. La razon prioritaria es una oferta que recibi de tener hosting gratuito para mi juego, pero el truco es que solo tiene mysql.Un punto a favor es qeu pueedo trabajar con el motor de InnoDB, asi que la BD va a estar mas segura para el manejjo de transacciones y la relacion entre tablas, nada que Postgres no tenga :(.

En fin lo que mas va a doler es aprender un poco mas de Mysql. Por ejemplo el mapa de la seccion batalla lo almacenaba en un tipo de Dato Array del Postgres, si es verdad puedes almacenar un arreglo en Posgtres (claro que eso es una tremenda violacion a la Normalizacion de Datos) pero hey, si twitter no usa normalizacion, porque yo deberia hacerlo. Es broma pero bueno va a costar tiempo en el proyecto

Poderoso almacenamiento de vectores en Postgres. We dont need no normalization - EMS Sql Manager for Postgres

Bueno esto sera para bien, ademas abre la posibilidad de que haya mas gente que pueda ayudar en el proyecto. Pero de todas formas Postgres > Mysql, para mi.

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

Primer Concurso PBBG

Publicadas por Jose Carlos Tamayo

Señores ya llego , ya esta aqui!!!! El gran concurso de crea tu juego web en 2 meses (bueno 1 mes y medio hoy dia) Para todos los interesados visiten Browser-Based Game Zone. Esta web ha iniciado un concurso de crear el juego web mas divertido. Puedes presentar tu proyecto hasta el 11 de diciembre. Segun la pagina web el ganador es el juego que sea mas divertido.

Detalles del Concurso

Nombre del concurso: Contest: First PBBG contest ever, anything goes!
Inicio: 11 de Octubre 2008
Fin: 11 Diciembre 2008
Tema:Cualquier cosa! (Jeje nada de gore y violencia innecesaria, se que quieren pero, mantengalo para PG-13)

Requerimientos para el juego

  • No necesitas tener tu juego en un dominio y puede estar hosteado en un servidor gratuito, lo que me beneficia a mi y a todos los interesados
  • Para entrar necesitas postear un mensaje en el foro y presentar tu juego y presentarte a ti y a tu equipo, no se preocupen, pueden entrar solos sin tener un team.
  • Solo puedes presentar un proyecto, asi que a pulirlo
  • El juego no puede usar Java o Flash, debe deestar escrito en un lenguaje de servidor como PHP,ASP o Ruuby on Rails
  • Es importante que el proyecto no sea un juego creado hace tiempo, o un juego que haya empezado a desarrollarlo antes del concurso
  • Puedes seguir trabajando en tu juego despues del fin de la fecha. Pero despues de esa fecha final, los jueces testearan tu juego, y si encuenran defectos, esto puede ir en tu contra.
  • Y bueno como mensaje final dicen que juguemos cpmñps juegos de otros participantes.Estoy seguro que habra muchos interesantes. Es mas ya hay algunos colgados en el foro.
  • Adicionalmente pues el lenguaje de foro de-facto es Ingles asi que el juego preferentemente tiene que ser en ingles.
PREMIOS!!!
Oh si, este concurso tiene premios y unos muy buenos. Se trata de una excesiva publicidad gratis, y reseñas en las paginas web dedidcadas a este tipo de juegos. Pasare a enumerarlas brevemente:

  • Galaxy News: Es la pagina web de noticias de juegos PBBG, ellos promocionaran el juego con una semana de wallpaper advertisement ( osea el fondod e la web tendra el logo e imagenes del juego, 10 mil impresiones de Ads y 3 articulos cubriendo tu submision
  • Ademas si submites un juego, te daran 50% de descuento en Ads para Galaxy News, ademas de listado del mismo.
  • Ganaras un dominio .com/.net/.org de tu eleccion - Sponsor: BBGameZone
  • 1 Mes de Ads gratis en BBGameZone
  • 1 Mes de Ads gratis en Lord MMOG - Sponsor: Lords MMOG
  • 1 Año de Hosting Gratis - Sponsor: Altfuture
  • Un Articulo destacado en PBBG blog - Sponsor: PBBG Blog
  • Listado de Oro permanente en Top Web Games - Sponsor: Top Web Games
  • 100 Creditos en Articulo en Top Web Games
  • 1,000 Click en Web Game Friends - Sponsor: Web Game Friends
  • 1,000 Click en Apex Gaming Ads - Sponsor: Apex Web Gaming
  • Una reseña y una entrevista en Building Browser Games blog - Sponsor: Building Browser Games
  • 3 Meses de Ads gratis en Industry Tycoon - Sponsor: Industry Tycoon
  • 1 Mes de Ads gratis en BBG Universe - Sponsor: BBG Universe
  • Una reseña y una entrevista gratis en BBG Universe - Sponsor: BBG Universe
  • Un link permanente en PBBG Contest's Hall of Fame!
Estos premios seran saudos para continuar el desarrollo del juego creado para este concurso.

Xeno participara en este concurso?. Pues es una idea excelente y tengo fe que va a participar en el mismo. Aunque la idea de apoyar comosponsor podria ser otra posibilidad mas. Saludos

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

Xeno - La entrevista

Publicadas por Jose Carlos Tamayo

Hace un dia mi gran amigo nicknamed Dgenerex me dio una idea para poder dar un avance de mi juego y ordenar las ideas. Hacerme una entrevista para enseñar como va a ser el juego. Sin mas aqui les dejo la entrevista hecha por el gran Degenerex.

Dgenerex: Comencemos con la entrevista, hablenos de su nuevo proyecto Jeeba
Jeeba:Bueno pienso hacer un juego web de estrategia, estrategia de verdad , nada que ver con otros juegos donde solo te muestran reportes de cómo te fue la batalla. En mi juego tu podras controlar las unidades en un mapa, moverla de forma estrategica ya que cada terreno del mapa te da ciertos bonus o penalidades, y atacar de varias formas al ejercito contrincante.

Dgenerex:Y de que manera se podria guiar la batalla? como Starcraft?
Jeeba:Casi, pero debido a que va a ser un juego web no puede ser tan dinamico como el starcraft.. pero se puede llegar a u punto medio, si al mover una unidad de un punto para otro nos demoramos 1 minuto, eso sería manejable para un sistema web, y mucho mas divertido que esperar de 20 a 40 mintos para un reporte.

Dgenerex:El juego se desarrollara en un mundo abierto tipo Tibia? o cada jugador crea sus mapas para jugar?
Jeeba:Si sera un mundo abierto.. aunque con limites, por ahora el mundo para jugar sera parte de una galaxia, donde vas colonizando planetas, parecido al Ogame pero trataremos de hacerlo mas divertido.

Dgenerex: Y en una parte mas técnica, que tipo de software se usara para lograr esto?
Jeeba:La propuesta es hacerlo en un servidor web Apache, el lenguaje de programación del servidor sera PHP junto con Posgtres para la administración de datos, Para el cliente, usaremos javascript con la libreria jquery que me ha dado buenos resultados en otros proyectos
Realmente jquery va dar una gran parte de la funcionalidad del juego

Tecnologias a Usar para el Juego Xeno - Battle Organism

Dgenerex: Y en el apartado grafico? que tipo de graficos va a tener su juego?
Jeeba:Buena pregunta, en general y al comienzo del proyecto seran imagenes estaticas, mas que todo imagenes dummy, ahora el tipo de imagen final para cuando el proyecto termine, está por verse, podría ir desde imágenes tipo comic, hasta imágenes de unidades en 3D, pero eso se podrá ver a futuro

Dgenerex: Podria darnos un adelanto sobre la trama y las unidades a manejar?
Jeeba:Bueno básicamente y a diferencia de los demás juegos web espaciales, aquí tu eres una especie de ente o reina que tiene el control para crear criaturas, algo así como los zergs y los cerebrados, ahora viene lo interesante, las criaturas las puedes crear uniendo diferentes partes según tus necesidades.
Al comienzo tienes un número limitado de partes dependiendo la zona donde hayas empezado, conforme explores la galaxia, podrás encontrar otras partes

Dgenerex: y digame las partes se encontraran en "tiendas" o uno puede comprarlas del servidor del juego?
La mayoria las descubrirás cuando tu ejército gane una batalla contra criaturas que tengan esas piezas. Algo ais como megaman cunado matabas a un jefe. El juego realmente está enfocado a la guerra.
Ahora ciertas partes podrán ser adquiridas con dinero de verdad pero se van a poner ciertos limites para impedir que haya abusos o lleguemos a tener GoldFarmers en el juego. Por supuesto esto es si logramos ser un éxito.

Dgenerex: Sera como en los juegos donde yo puedo coger lo que "suelta" mi enemigo al vencerlo?
Jeeba:Masomenos, el juego es una mezcla de RPG con Estrategia. En la parte RPG tendrás una reina que será como una especie de héroe en warcraft3, pero subes de nivel explorando o ganando batallas, y posiblemente haya otras formas de ganar experiencia.

Dgenerex: Y se podrá a usar esa reina?
Jeeba:Excelente idea, la verdad tenía pensado mas usarla como una unidad que defienda la colonia principalpero se ha visto necesario que para colonizar otros planetas, se colonicen con otras reinas digamos de level1 o sino con unidades especiales que sirvan para colonizar. El enfoque de colonizar otros lugares es mas para obtener recursos, que el de tener una base productora pero seguimos en diseño aun, puede haber cualquier cambio.

Dgenerex: Y actualmente en que parte del juego estas?
Jeeba:Estamos desarrollando actualmente el modulo de mover unidades por un mapa

Dgenerex: Como haran eso?
Jeeba:Pues en teoria es fácil, tienes un mapa divido en cuadrados, cada cuadrado es una coordenada, para mover a las unidades simplemente es cambiar la coordenada del mapa. Ahora para ahorrar ancho de banda y recursos
Y como todo debe de estar en la base de datos uso un método q se llama lazy execution, ósea los movimientos no se generan si el usuario no ve la pantalla, es decir hasta q no haga f5 en su navegador, el sistema no calculara los movimientos

Debugeando el Avance del Juego con poderoso firebug

Dgenerex: Osea yo señalo un punto del mapa y tengo ke actualizar el navegador para que se mire que la undiad se movio?
Jeeba:Podria explicarlo mejor de esta forma, digamos q tienes 1 acción mover la unidad A al punto[4,4] a las 4:30 PM. Tu mandaste la acción a las 4:00 y te desconectas del sistema.
El sistema almacena las acciones pero no la ejecuta, cuando te conectes de nuevo y veas que ha sucedido, ese acto de ver lo sucedido hace q el sistema calcule todas las acciones hasta hoy día a la hora actual. Asi ya no es necesario tener un demonio q corra cada segundo para hacer esos cálculos

Dgenerex: Y para finalizar, puede desvelar oficialmente el nombre del juego
Jeeba:El nombre del proyecto es Xeno - Battle Organism, pero creo q al final va a cambiar... al menos el subtitulo, pueden llamarlo Xeno,
Gracias por la entrevista
Acá lo tienen amigos. Xeno "todo puede pasar" seguiremos informando apenas haya más detalles!

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

El Arte de la Estrategia: Balance hecho DOTA

Publicadas por Jose Carlos Tamayo

Alguna vez han jugado al popular DOTA?. Dota es un juego creado con el editor de mapas de Warcraft3.Es el mapa mas jugado en Warcraft3, y quizas sea uno de los juegos online mas exitosos ( en relacion a numero de jugadores ) de todo los jugables tiempos. Y eso que es solo un MOD, creado por jugadores, para jugadores. Gamasutra, pagina web que trata sobre desarollo de juegos le hizo una reseña especial con otro MOD famoso, Counter Strike.

Ya con este Resumee que se maneja, yo me atreveria a decir que DOTA es uno de los juegos mas balanceados que existe. Un juego de este tipo demuestra una cosa, un juego balanceado, es un gran punto a favor para que sea exitoso.

Cuales son los pilares en los que descanza la balanceabilidad del dota (version Allstar, la version mas legal defacto):

  1. Una gran comunidad de BetaTesters: Los jugadores son los que hacen los cambios, es decir las nuevas versiones salen minimo cada mes, estas nuevas versiones, ademas de aportar nuevo contenido como heroes o items nuevos, ofrecen modificaciones para que el juego sea mas balanceado. Estos cambios (o nerfs en el argot del dotero) son votados por los propios jugadores en los foros oficiales del DOTA. Icefrog,un personaje misterioso ( quien sabe si es una persona o un grupo de personas) y todo un mito en el mundo de los doteros, es el actual encargardo del mantenimiento del DOTA quien se encarga de transformar lo que pide el populum a una nueva version del juego. Este beneficio se podria transladar facilmente al mundo de los juegos online. Tienes un ejercito de BetaTester que trabajan incanzablemente para mejorar el juego, y GRATIS!!!s, toda una mina de oro en informacion que ya desearian los pesos pesados de desarrollo de juegos.
  2. Roles que cambian con el tiempo: En DOTA hay una tendencia a que los heroes de tipo STRENGHT o fuerza se conviertan en los que dominen la partida al final, lo que convertiria al juego en nada estrategico (ver post anterior), pero al inicio del juego si eres del tipo INTELIGENCIA, tienes una gran ventaja, pudiendo evitar facilmente que los STREGHT dominen,o si no cuantos de ustedes no han visto a una delicada lich convertirse en la señorita destruccion durante todo el juego?
  3. Muchas buenas opciones a elegir: Unos le dicen el Yankenpo de Dios. Ademas de los cerca de 93 heroes existentes (version 6.55) cada uno de ellos tiene 4 habilidades y por si fuera poco hay 109 items que puedes usar. Claro, no todos los items son para todos los heroes pero aun asi, con 5 posibles heroes por equipo el numero de posibles combinaciones crece, y ademas de eso el siguiente punto hace del DOTA una nueva experiencia en cada juego.
  4. Los roles cambian segun conveniencia: Hay heroes que pueden ser jugados de diferentes maneras y cambiar sus roles totalmente. Por ejemplo el heroe trent, cuyo rol principal por sus pderes especiales podria ser el tankeo,puede cambiar facilmente al de herokiller si se le dan los items correctos. Heroes de agilidad como el Sniper que puede hacer una gran cantidad de daño desde lejos, se puede convertir en un Caster MultiDamage y empezar a sacar granjear dinero.
  5. Juego en equipos: En dota si existen las unidades GOD, aquellas que en un 1VS1 salen victoriosas siempre. Pero el objetivo del juego no es matar heroes, si no destruir el arbol/trono del enemigo. Generalmente estas unidades estan enfocadas al combate 1vs1 pero hay muchos encuentros team VS team donde a esas unidades soleadoras las dejan para el final.
En resumen todo un ejemplo a seguir para lograr Balance.

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

El Arte de la Estrategia: Que es Estrategia?

Publicadas por Jose Carlos Tamayo

Ponerle a tu juego el rango de "de estrategia" es bien facil, es mas adornalo con photoshop y ponle un brillo 3d para que se vea como nombre de niña en el hi5, pero, hacer un verdadero juego de estrategia, uno que realmente haga sudar al jugador gotas redondas de pensamiento estrategico, eso.. eso es dificil.

Un verdadero juego de estrategia no significa tener una vista top&down y/o vista isometrica y mover las unidades por un mapa. No señores, eso podria ser la base para crear el juego, pero de ninguna forma es un juego de estrategia.

Vista Top&down vs Vista Isometrica en juegos RPG, para los que tenian dudas.

Estrategia es simplemente la capacidad de poder decidir entre mas de una opcion realista para solucionar un problema (ganar tu guerra/batalla/campaña, añade cualquier cosa geekistrategica que se te ocurra aqui). Estrategia es lo que hace que en Starcraft no termines armando un ejercito con puro Battlecruiser para eliminar a tu adversario, porque sabes que el otro puede sacar puro antiair. Estrategia es lo que hace que en Master of Orion sigas utilizando tecnologia antigua pero costo-eficiente en lugar de ponerle lo mas hi-tech a tus naves por que simplemente son carisimas.

Un ejemplo de error estrategico lo encontramos en la primera entrega del Red Alert (y en cierta forma en todos los C&C). En Red Alert I podias hacer soldados, armarte de aviones ,tener una Tanya bien posicionada (soldados elites que destruian edificios y soldados de un solo tiro), pero si querias ganar de la forma mas barata posible ( por decirlo de alguna manera) hacias el temido TankRush. El Tank rush es sacar una cantidad navegable de tanques en el minimo tiempo posible, desdeñando otras opciones como mejorar tu Tecnologia o sacar aviones. Es una tactica barata en el sentido de que no necesitas nada de micromanagement, cualquier jugador medio podria hacer uso de esta tactica y ganarle a cualquiera sin necesidad de tanto esfuerzo. Un Tank Rush es practicamente indetenible, una vez ejecutado no habia forma de ganarle.

Tank Rush en C&C General Hours, la mejor foto que pude encontrar del tema

Del otro lado de la corriente, tenemos..., pues nada, no hay un juego que sea perfectamente balanceado (no, yankenpo no cuenta), quizas starcraft aunque amasar zerglings al comienzo era otra tactica barata, y aun cuando los de blizzard hicieron mas caro el Spawing Pool, en escenarios pequeños si le atinabas al lugar donde estaba la base enemiga, era gameover para el incauto. Pero un SVC podia ganarle a un zerglin diran ustedes, si pero mientras te dedicabas a matarlos el otro ya sacaba mas zergling para dar el touche final.

Aqui apreciamos el efecto de un buen Zerg Rush aplicado a.. dios sabe donde

¿Como saber si un juego fue bien diseñado estrategicamente?, pues es simple si en el juego llegas a un estado en donde comprar la misma unidad o el mismo combo de unidades es la panacea para ganar siempre, entonces no tienes en las manos un juego de estrategia.

Y por que es malo juegos de ese tipo, no nos hemos divertido incontables horas jugando al Red Alert?. Pues si..en single player.

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

Xeno - Tecnologias Web a usar - Parte II Cliente

Publicadas por Jose Carlos Tamayo

Este post es la continuacion de Xeno - Tecnologias Web a usar - Parte I Servidor

Ahora nos toca tratar el tema del cliente, esto significa como es que la informacio una ves mandada va a ser manejada por el Navegador

CLIENTE

Lenguaje del Cliente:
Usaremos Javascritp junto con lalibreria jquery. Basicamente javascript nos ayudara a que la interface sea parecida a la de un juego desktop, de hace un par de años por supuesto y sin graficos 3d, que puedo decir, es un juego por browser. Jquery nos permitira desarrollar mas facil y cross-browser el juego. Por supuesto tenemos ciertas limitaciones:

  1. Javascript es Lento: Demasiado lento en comparacion con java embeded o hasta con flash (bueno la ultima version) aunque actualmente navegadores como el chrome o el proximo IE 8 prometen mejoras de velocidad en el javascript. Por eso hay que ver que tnato codigo podria resistir el cliente.
  2. El codigo puede ser manipulado por cualquier persona: Y en general uno nuncas debe de confiar en los datos enviados por el usuario, por ejemplo supongamos que estasmos en un mapa moviendo unidades, si nosotros de alguna manera (hackeando el javascript) hacemos que una unidad se mueva lejos de su rango de accion, nosotros debemos de confirmar en el server que ese movimiento sea valido.
Ahora en el sistema no voy a aplicar para nada de flash. El problema del Flash es que se pierde usabilidad. Es decir, vamos que fue flash quien invento la peor aberracion en usabilidad segun Jakob Nielsen "Las pantallas de Introduccion", que seran tema para otro post


Diseño y Estructura: Basicamente va a ser un Diseño Tableless, y vamos a usar bastante CSS. Casi lamentablemente para el sistema ( para los tios de la W3C) no va a ser XHTML compatible ya que vamos a usar propiedades de los tags que no son oficiales. Esquinas redondeadas por CSS y CSS Sprites son una de las tecnicas que se me vienen a la mente, pero estoy seguro que van a haber mas.

Ejemplo de Formulario Tableless

Extras: Al final se tratara de minimizar los archivos enviados, ya que esto significa menos ancho de banda usado y es mas rentable. Para hacer esto lo pimero enmiente seria enviar todos los scripts minimizados, mandar pocas imagenes ( y transformarlas en sprites) y ver si mandar la informacion comprimida es mejor ( ay que es un esfuerzo extra para el procesador del servidor).

Por supuesto el Uso de AJAX va a ser necesario. Tengo una tecnica para mandar informacion json en la primera carga de la pagina web que me ayudara bastante a mejorar la carga de datos. Esto hara que use menos ajax ya que ajax no es la panacea para todo.

Ajax ... el jabon ^^

Eso es todo lo pensado para el juego en la parte del Cliente. ¿Dudas? ¿Preguntas? o piensan que Flash es bueno para Juegos Web persistentes? Lo leere en sus comentarios. Hasta la proxima

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

Xeno - Tecnologias Web a usar - Parte I Servidor

Publicadas por Jose Carlos Tamayo

Este post es la continuacion de Xeno -Introduccion

Al elegir las tecnologias con las que voy a trabajar en el desarrollo de este juego, use la epxeriencia que tengo al hacer sistemas web, qeu no es mucha pero me parece suficiente como para tener una primera version del juego usable.

A continuacion les pongo las tecnologias que usare del lado del servidor y dare una explicacion pausible del porque, leanlo estoy seguro que pueden encontrar algo util o mejor aun sugerencias en donde mejorar mi proyecto:

SERVIDOR

Lenguaje de Servidor: Usare PHP 5 para el BackEnd. Las razones son las siguientes:

  1. La primera es una regla que aplico al desarrollo de cualquiero programa que hago, el mejor sistema es el que existe, es decir podria usar cosas misterios y excentricas (para mi por supuesto)como RubyOnRails, Python, o hasta Java el cual es uno de mis lenguajes favoritos, pero PHP es un lenguaje realmente facil para programar y muy rapido, ademas el sistema no va a ser muy complejo, un ejemplo, una ves chekee por curiosidad un clon del ogame llamado ugamela, la base de datos en total tenia como 20 tablas nomas, en mysql todas en MyIsam, osea nada de foreigns key o esa cosas exoticas que tanto les gusta a los Database Designer. Por lo tanto cosas como reflexion de clases o herencias de objetos no son necesarias.
  2. Es posible y necesario que mas gente se integre al desarrollo del juego, entonces es mas facil encontrar desarrolladores animados para estos juegos con conocimientos de php , que con cualquiera de los otros lenguajes, claro es posible que esta facilidad lleve a que en algun momento el codigo se vuelva spaguetti, pero no va a ser asi si se lleva un control rutinario de calidad del codigo,ademas tengo la mania de documentar todo,como los estandares del codigo y revisar la calidad cada tanto. A mi parecer el fuerte de PHP es la facildad con la que se puede crear codigo.
  3. No conozco (debo reconocer que no todo se puede saber) otro lenguaje para desarrollo web tanto como conozco PHP.

Servidor de Base de Datos:Aqui estaba en la duda entre Mysql y Postgres. Postgres es de lejos mi favorito ya que ademas de que lo conozco, me permite hacer cosas como guardar arreglos (osea arrays) enteros en la base de datos (si, se que va contra las leyes de normalizacion, pero si digg lo hace porque yo no) o usar de forma facil transacciones. El problema es que no hay muchos hosting que soporten PHP, y si lo hubiera pues no encuentro hasta ahora uno que sea gratuito. Por eso me iria mas por Mysql, ademas de que siguiendo con el punto numero 1, hay mas facilidad de encontrar gente que sepa Mysql en lugar de Postgres, aunque la diferencia entre uno y otro no es tan excesiva como es Ruby o Python vs PHP. De todas formas estoy dispuesto a hacer una pequeña inversion para mantener un servidor de prueba en Postgres. Por mientras el desarollo de la version alpha la estoy haciendo en postgres.

Servidor: Pues nada mejor que Apache 2 para aderezar las cosas. Uso windows para el desarrollo y sera una maquina linux para negocio ( osea el deployement, a falta de mejro palabra).

Bueno esa serian las tencologias del lado del servidor a usar en mi juego. Creen que usar PHP escale bien al final?, o conocen algun otro camino para progrmaar jeugos web? Quizas algun motivo por el cual PHP no se deberia de usar para este tipo de juegos? Bueno no lo se pero estoy seguro que lo averiguaremos. Un saludo
a todos y la siguiente parte tratara acerca de la parte cliente del juego.

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

Xeno - Introduccion

Publicadas por Jose Carlos Tamayo

Xeno - Battle Organism es el nombre del proyecto de juego web que estoy creando. Me llamo Carlos,soy Egresado de Sistemas y mi especialidad es el diseño de Sistemas web.

Los juegos de estrategia son mi pasion, empece a jugarlos a los 10 años, empezando con el famoso Dune II, tremendo juego que se ha convertido en todo un clasico. Tambien warcraft 2 y su expansion que tuve la suerte de jugar. Y asi pues fueron llegando juego tras juego. Hasta que llego internet, pasaron los años y descubri el ogame.

Ogame en su sencilles de ser un juego por browser, sin tener graficos extraordinarios llego a ser un juego bien jugado sobretodo por aqui ne Peru. Me parece que llego a mas de un millon de jugadores, lo que demuestra comohizo Sid Meiers con su juego Alpha Centauri, que realmente no importan los graficos en un juego para que sea divertido. Como dato adicional encontre algunas frases celebres de Sid Meiers que como se habran dado cuenta es mi diseñador de juegos favoritos.

Pasando a hablar del juego, este sera un juego de estrategia por web,piensen en Travian o Imperia Online, pero con un enfasis en controlar las unidades directamente en la batala. El escenario va a ser el espacio pero va a tener una diferencia bien grande con respecto a los otros juegos como Ogame o Space Empire. Est ava ser que en lugar de humanos y naves espaciales, tu manejaras criaturas que tienen habilidades especiales. Estas criaturas juntas forman una army, y las batallas se daran en mapas de planetas. Cada mapa estara dividido en cuadrados que sera un tipo distinto de terreno. Piensen en una especie de Civilization por navegador.

Imagen Actual del Sistema de Batallas del Jeugo - Es version alpha 000.001 ;)

El nombre del proyecto en si es Xeno - Battle Organism, pero el nombre del juego puede variar, todo depende de si se encuentra un nombre mejor, que sea facil de recordar y que llame la atencion en los jugadores.

Que opinan de la idea del juego?, bueno la siguiente entrada que haga va a ser sobre las tecnologias que elegi para la creacion del juego

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

Retrodebugging: Ikariam, ahorrando ancho de banda

Publicadas por Jose Carlos Tamayo

Seguimos con Ikariam, esta vez hare un analisis detallado del juego Ikariam posteando toda la informacion tecnica que sea humanamente posible de obtener. Es decir abrire el juego con el buen firebug y nos pondremos a ver las entrañas de este juego.

ADVERTENCIA: El siguiente contenido es de caracter tecnico y es necesario tener minimo algo de nocion sobre Javascript, CSS, Servidores Web y demas cosas 2.0.Si a pesar de esto decides seguir leyendo y no tienes idea de que es AJAX por ejemplo, pues advertido estas de que la lectura no sera facil .

Empecemos por el cliente. Ikariam usa Javascript en la mayoria de los menus del juego, prncipalmente para mostrar informacion en forma de tooltips, lo que mejora la usabilidad


Para lograr los Tooltips, Ikariam utiliza la libreria wz_tooltips, parece sere una libreria de origen aleman.no la conozco muy bien pero este tipo delibreira hay por todo lado.

Ademas Ikariam hace uso re-extensivo de la libreria Yahoo User Interface (YUI), por ejemplo para ingresar recursos usas unos sliders, tipico de la libreria Yahoo. Parece ser que usan una version optimizada de la misma ya que por experiencia propia la YUI tarda en cargar en el navegador, pero en el juego no se siente para nada.

Un ejemplo de Slider

Por supuesto Ikariam hace uso de AJAX pero no de una forma extensiva. Por ejemplo en la Vista Mundo, donde uno puede navegar por todas las islas, carga datos del mapa de la misma forma como lo hace GoogleMaps. Retorna un XML llamado WorldMap_iso, el contenido del mismo es un poco abstracto, pero parecen ser coordenadas y acciones.

POST hecho al servidor con Ajax cuando se navega por el mundo

Ahora el formato de datos es UTF-8, lo que es un pro, basicamente UTF8 es el estandar a seguir si uno quiere internacionalizar su juego, Los de Gameforge sacan un 20 en esto.

Del lado del servidor tenemos que presumiblemente esta escrito en PHP (Las paginas tienen extension PHP, y a veces se escapan cadenas del tipo $var). No se que base de datos manejara el sistema. Si alguien tiene idea seria de gran ayuda.

Utilizan bastante CSS para las imagenes y usan tecnicas como el Sprite CSS para el juego. Obviamente la gente de Gameforge sabe hacia donde apunta y disminuir el ancho de banda del juego es uno de sus metas.

Usando firebug para escudriñar dentro del juego. Con ustedes un sprite

EL DOM del juego es completamente tableless, lo que influye en la velocidad del juego. Por ejemnplo el mapa de la isla esta hecho a base de una imagen gigante y varios tags li conteniendo cada una de ellas un objeto como puede ser una Ciudad o alguna mina.

Esto repercutira en eficiencia? Porque no usaron una tabla grande y a punta de CSS con imagenes en background armar un mapa?. La razon mas obvia que se me viene a la mente es porque deben de estar usando cacheo de imagenes en el servidor para hacerlo mas rapido. Es conocido que mientras menos cosas mandes al cliente ( asi sean pequeñas) mas rapido es la comunicacion entre el servidor y el navegador.Entonces mandar un mapa grande y peasdo, en lugar de pequeñas secciones de mapa, agilizan la carga del juego. Es por esta razon tambien que por ejemplo ponen la mayoria del codigo javascript en un solo archivo en lugar de tenerlos todos separados en varios archivos.

En Resumen Ikariam es un juego web que lo pondria a medio camino entre Web Dinamica circa los 90 y las Web2.0. Su uso de javascript y ajax no son excesivos , pero tampoco el javascript usado es no obstrusivo, osea sin javascript la aplicacion no funciona. Quizas la aplicacion no necesite aferrarse tanto a tecnicas Web2.0 como el Drag&Drop, ni la hace menos divertida no tenerlo.

Los graficos y el uso de CSS son excelentes, la diagramacion y estructura de la pagina web es casi perfecta, y es una de las cosas que me impresiono mas del juego.

Ahora, el juego, como lo comentabamos en el Post anterior, no esta terminado, existen varios errores y bug que estan documentados por ejemplo en los foros de sus respectivos servidores. Pero el juego es estable y jugable, aunque lo que es servicio tecnico, al menos para el server donde juego, deja mucho que desear.

Esto seria todo y esten atentos a mas reseñas y mi palabra inventada Retrodebugging ;). A falta de mas asi voy a clasificar los juegos donde haga esto. Saludos

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

Reseña: Ikariam - Estrategia a lo griego

Publicadas por Jose Carlos Tamayo


Me anime a hacer una reseña de un juego que acaba de abrir varios servidores para latinoamerica. Me refiero al Ikariam, juego del tipo PBBG de estrategia.


Bueno empezando por su creadora, la Compañia Gameforge de Alemania. Muchos la conoceran como la dueña del archiconocido Ogame.Pues bien si ustedes fueron de esas personas que se levantaban a las 4 de la mañana sol para habilitar esa nueva construccion y ver que nadie te este atacando, tengo excelentes noticas que darles, vas a seguir haciendolo.

Ikariam se basa en los tipicos juegos Web de Manejo de Economias donde tienes una ciudad a la cual tienes que construirle edificos como la Academia ( donde investigas tecnologias), o el cuartel ( donde produces soldados), sacar soldados e investigar nuevas tecnologias para poder ser el primero en el server.

La vista ciudad, al centro se esta construyendo otro nivel de intendencia

Ahora para construir estos edificios, crear soldados,investigar tecnologias, entre otras acciones, necesitas recursos, de los cuales tienes 6 en total, 2 basicos (que los puedes conseguir en cualquier sitio) y 4 lujosos que paso a ennumerar:
  • Oro (basico): que te sirve para comprar otros recursos y comprar barcos mercantes
  • Madera(basico): Para construir edificio, barcos y soldados
  • Vino: Sirve para hacer mas feliz a tu poblacion ( asi como lo oyen)
  • Azufre: Casi todos los soldados y barcos necesitan azufre como requisito
  • Cristal: Sirve para todo lo que es investigacion
  • Marmol: Para construccion y a mi parecer el recurso mas preciado
Hay un octavo recurso llamado Ambrosia que lo puedes canjear por habilidades especiales como sacar 20% mas de tu mina, pero para obtener la ambrosia es necesario pagar dinero real y darte el gusto.

Al comienzo apareces en una isla junto con otros jugadores mas. Cada isla tiene espacio para otros 15 jugadores mas y segun he notado, cada ves que entra un jugador nuevo, el sistema del juego llena la isla hasta que haya 10 jugadores en una isla y procede a llenar otra isla dejando espacio para 6 ciudades mas.

Cantera, el edificio de azul es tu Polis, las rojas son donde mandar tus soldados.. err quierodeciro otros jugadores

El sistema de recursos es interesante ya que todos los jugadores de la isla comparte las mismas fuentes de recursos. En todas las islas tienes un aserradero que te da madera y ademas cada isla tiene una mina que te proporciona solo un recurso lujos, por lo que si quieres obtener otro recurso lujoso tienes que comerciar con otra persona, o ir con tu ejercito y obtener los recursos saqueandolos.

Ahora tienes un limite de produccion por hora y si quieres sacar mas tienes que subir el nivel de tu Aserradero/Mina donando madera al mismo, cualquier perosna de la isla puede donar la cantidad que desee, esto obliga a que tengas que conversar con los de tu isla para que donen o atacarlos para saquear sus recursos si es que no quieren donar.

Con circulo azul, isleños tacaños que no han donado nada y que son propensos a la visita de los soldados de los demas

Lo que es investigaciones tienes 4 ramas de investigacion:
Navegacion: Barcos y Comercio
Economia: Sacar Recursos e Infraestructura
Ciencia: Investigacion y Diplomacia
Milicia: Todo lo que tenga que ver con tu ejercito

El juego de por si es adictivo y recrea ese toque de despertar a las 4Am para ver tu como van tus soldados en la ciudad enemiga. La necesidad de mejorar tu isla hace impresindible el comunicarse con los demas si uno quiere triunfar. Eso hace del juego uno de los mas sociales que he visto hasta ahora (ok no tanto como un WoW, pero si en el contexto de juego web). Cuenta tambien con laposibilidad de crear alianzas entre varios jugadores, estas mismas son rankeadas por totald e puntos de sus jugadores. Ahora como todos los juegos de este tipo siempre se llega a un nivel maximo de tecnologia, Ikariam le da toque tipo Civilization 4, si llegas al maximo limite puedes obtar por seguir resercheando "Tecnologias Futuras" que te dan un bono global digamos, +10 de felicidad a toda tu poblacion.

Ahora Ikariam no es perfecto. Como todo juego este tiene bugs, una ves mande 2 ejercitos y parece que se ahogaron en el camino, otras veces atacas una ves, saqueas el doble, en fin tambien hay que notar que es una version "Beta Jugable" actualmente estan en la version 0.2.8 del mismo (Aunque definirlo como beta quizas no lo honre como jugable, hay software que salen en version final pero que mas parecen una version Alpha rellena de bichos).

A pesar de todo esto ikariam es un juego excelente y los invito a ingresar al juego.En latinoamerica estan abiertos los servers para Peru, Venezuela y Chile entre otros. Actualemtne estoy en el Server Peruano Alpha como Josekus.

Y bueno termino la reseña ¿Opiniones, Comentarios?, El proximo Post tratare acerca de todo lo tecnico que encuentre del Juego, lenguaje de programacion, usos del CSS. Esten Atentos!!!


¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

Que es PBBG?

Publicadas por Jose Carlos Tamayo

Hay un nevo termino (circa 2007) que existe para los juegos web onda estilo ogame o bitefigth, Juegos Web Persistentes por Browser o PBBG por sus siglas en ingles. Que significa todo esto? pues vayamos por partes:

P: Persistent : Significa que las acciones que tu hagas en el juego van a persistir por mucho timepo. Por ejemplo si tu creas soldados o edificios, estos van a existir hasta mucho despues de que tu hayas salido del juego.

BB: Browser-Based: Basado en Navegador. Estos juegos no necesitan de algun cliente especial para ser jugados, y es aqui la mayor diferencia por ejemplo entre juegos tipo WoW (cariñosamente conocido como World of Warcrack) que tienes que tener el cliente (una aplicacion en tu computadora) para jugarlo y juegos estilo Ogame donde puedes jugarlos desde donde te de la gana , siempre que tenga internet claro esta.

Game: Necesito explicacion para esto? I think not ^^

Bueno aqui les dejo dos links

  1. www.pbbg.com que es la pagina que creo que inicio este nuevo acronimo, en ingles
  2. wikipedia: con la entrada sobre pbbg.
si tienes alguna otra fuente con gusto la coloco aqui. Saludos

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

Inicio o el porque de este blog

Publicadas por Jose Carlos Tamayo

Hace como una semana atras me levante temprano pensando.. ¿What the heck?, porque no me hago un juego web?. Algo asi como digamos ogame o el imperia online, pero mi juego tendria que hacerlo, como decirlo..., mucho mas jugable .

¿Y como hacemos eso?. Pues veran hay algo que les falta a estos juegos y es el factor "Estrategia". En estos juego, asi como en muchos de sus clones, uno juega mandando sus unidades al planeta/ciudad/territorio/cueva del jugador enemigo, y, finalizando la batalla, esta termina resumida en una pagina que te muestra lo "interesante" que estuvo (Sarcasmo). Asi es, tu no controlas directamente las unidades.. solo les indicas a donde ir y ellas se encargan de todo incluyendo la impresion de tu resumen gerencial de batalla.


"La Gran Batalla" Un Ejemplo del sindrome de Resumen Gerencial en los PBBG

Por supuesto que esto tiene una razon de ser. Estos juegos se crearon hace como 6 años donde Web Dinamica significaba coger los datos de una base de datos y literalmente tirarlos en una pagina web hecha a punta de tablas y de space.gif. Imaginate tu crear un juego con esas limitaciones, pero hey, existen y es mas, actualmente tienen un exito sorprendente.

Pero ahora que han pasado los años y nuevas tecnologias han llegado para quedarse, como Ajax, o su posible mejora COMET, el uso masivo de hojas de estilo , la estandarizacion de los browsers ( bueno tenemos para rato de IE6, pero den gracias que esto esta cambiando) , hace posible lo que años atras solo podia soñar, crear mi propio juego, y que ademas este tenga exito.


Yahoo hace un par de siglos VS Yahoo que usaria Neo si quisiera vencer a la matrix

Pero y que posibilidades hay de que un juego creado por una sola persona tenga exito?. Pues define lo que es exito para ti. Quieres dinero, nada mejor que Internet para ganar mas dinero que en tu trabajo normal, debido a los muchos..ponlo como excesivos canales por los que te puede caer dinero. Tienes micropagos, paypal, pago por tarjeta de credito, advertisement, hasta puedes vender manuales de como ganar dinero y vovlerte millonario, no me creen? cheekense este Link del excelente blog Free to Play (ingles), donde les enseñaran como gana web un "juego gratuito". Ahora quieres fama? nada mejor que la Web como para hacerte de un nombre y sin mucho esfuerzo. Pon un simple e inocente video en youtube y se famoso ( para bien o para mal , no hagas click XD, te lo advierto ).bueno no va con el tema pero me urgia ponerlo, enjoy it.

¿Que que seria exito para mi?. Pienso en grande ( nada humilde lo se) y se que algo bueno va a salir de esto.

Y asi finalizo mi introduccion y bienvenida, ademas, al mundo del blogeo.

Amen

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me