@ agnasg

agnasg


MMORPGs, algunas estadísticas y una sinfonía

31-10-2007 10:15 AM

Revisando algunos sitios sobre MMORPGs encontré http://www.mmocrunch.com/ donde aparece una interesante lista del tipo de cosas que definen a un MMORPG: quests (misiones), habilidad de jugar en línea, diferentes armaduras y armas, estadísticas, niveles, un gráfico que muestra tus habilidades y hechizos y un mundo persistente. Y otra afirmación: “MMORPGs are world-driven”, es decir, la acción del juego la mueve el mundo, no el personaje.

Más datos: 5 juegos acumulan el 74% del mercado: World of Warcraft (25%), Runescape (16%), Second Life (12%), Knight Online – (11%) y GuildWars (10%). El 72% están ambientados en mundos de fantasía (o su tema es fantasía), mientras que
15.5% son ciencia ficción (EVE online tiene apenas 250 mil suscriptores mientras que WOW tiene 9 millones). Este mes en mpogd.com se agregaron 18 nuevos MMOs, y en los foros (MMORPG.com, 670mil usuarios) constantemente se anuncian nuevos juegos MMOs.

Esta fiebre es relativamente nueva aunque John Carmack (Id Software) hablaba sobre la revolución de los juegos online en la época de Quake III Arena (hace 7 años). De hecho, WOW comenzó su auge hacia los 9 millones de suscriptores en el 2003, y el boom propiamente dicho arrancó en el 2005 con los lanzamientos millonarios de Entropia Universe, Final Fantasy y GuildWars. Desde entonces, y especialmente desde hace 10 meses todo el mundo quiere lanzar su MMORPG propio. Es el
negocio. En la internet se pueden encontrar cientos de sitios dedicados a nuevos lanzamientos (http://mechscape.googlepages.com/, por ejemplo) y cada día se anuncian más (la mayoría de los sitios tienen secciones en sus foros donde los usuarios pueden anunciar su propio desarrollo). La mayoría de estos desarrollos se quedan en el camino. Fracasan. O son abandonados. Algunos son un monumento al esfuerzo perdido (Obliterator un excelente juego de Psignosis con maravillosos gráficos pero que estaba plagado de bugs me viene a la mente como un ejemplo de un esfuerzo perdido). En realidad, son muy pocos los que combinan todos los elementos: buen diseño, un tema adictivo, buena tecnología y buenos gráficos. Todo esto y la dedicación infinita e incansable de un grupo de trabajo comprometido en trabajar 7×24. Si alguno de estos elementos falla probablemente el juego fracasará. Como dice Radu el creador de Eternal Lands, programar y mantener un MMORPG no es divertido, como cree la mayoría. A mi parece extremadamente divertido programar, y programar un MMORPG es doblemente divertido, pero unir todas las piezas del rompecabeza es justamente, un rompecabeza. La mayoría no solamente cree que es divertido, sino que se frota las manos pensando en las ganancias ($120 millones mensuales solamente en suscripciones en el caso de WOW). Y sí, las ganancias pueden ser interesantes ($5000 en el caso de un juego modesto como Eternal Duel, lo cual puede resultar atractivo si es para dividirlo entre dos o tres desarrolladores).

Yo he estado masticando la idea de un MMORPG desde hace algún tiempo, y de hecho ya tengo un framework, con encriptamiento, un programa-cliente decente, un sitio web a ser anunciado y un diseño. Pero me faltan 3 detalles: un buen diseño, gráficos y la dedicación 7×24, y como dije,
sin esto, las posibilidades son remotas.

Si a mi me preguntan en un ascensor de que se trataría ese MMORPG, respondería que está basado en un universo post-apocalipsis-ciencia-ficción-terrorífico lleno de zombies. Algo así como Matrix y La noche de los muertos vivientes en uno. El fruncimiento de ceño en el ascensor sería inmediato: ¿otro más?

Bueno, lo del buen diseño puedo pensarlo mañana como diría Scarlet, pero lo que me preocupa es el componente 7×24. Desde hace un año estoy trabajando como freelance, con la intención justamente de tener tiempo para ocuparme de mis proyectos personales. Famosas últimas palabras. Ahora no me alcanza el tiempo ni siquiera para escribir en este blog. Me pasó como a Richard Dreyfuss en la película Mr. Holland’s Opus, donde un compositor, un músico, decide comenzar a trabajar en una escuela justamente para tener más tiempo libre para escribir una sinfonía. 30 años más tarde había terminado el primer movimiento de la sinfonía. Bien, el problema es que quizás dentro de 30 años ya los MMORPGs no estén tan de moda como lo están en estos días. Así que tengo que darme prisa…

Enlaces que no van a esperar 30 años

Pas De Quatre

20-09-2007 7:06 PM

1) Programación de Juegos

1.1) Programación de Juegos en C++

Mi primera recomendación: no le hagas caso a las recomendaciones de los demás. ¿Cuál es la primera y más popular recomendación que encontrarás en internet, y que será la primera que te dará un supuesto experto en C++? No utilices el Standard Template Library. No le hagas caso: mi recomendación: utiliza el STL. Programar juegos en C++ es como el Pas De Quatre en el Lago del los Cisnes: pero ejecutado en solitario. Tienes que estar pendiente de demasiados componentes como para que procesos básicos como almacenar una lista de coordenadas, o buscar un componente dentro de un arreglo te distraiga o le dediques un tiempo precioso que requieres para el juego en sí. Por lo demás, cuando están involucrado un nivel gráfico con el despliegue de un ambiente y de los personajes, un algoritmo AI, un control de la interfase del juego (por ejemplo los botones del inventario) ocurren errores imposibles de detectar: son los más obvios, los más simples, pero están ocultos dentro de una maraña de niveles, librerías, algoritmos que intercambian información y el control de flujo entre sí. Por ello, en esta situación, cualquier ayuda será bienvenida. Y el STL es un aliado incondicional y confiable.

No, el STL no va a hacer tu código más lento (¿acaso crees que eres más eficiente que los competentes programadores detrás del STL?). Tampoco lo va a hacer más pesado o grande, o difícil de mantener. De hecho, está mejor documentado que cualquier código que tu produzcas (Google arroja más de dos millones de resultados al buscar documentación de STL). Así que la persona que requiera entender tu código (incluyéndote a ti mismo un mes después de haberlo programado) podrá hacerlo más fácilmente si utilizas las convenciones de programación con la librería STL.

Enlaces danzando en zapatillas blancas

Causas perdidas y empresas imposibles

16-09-2007 11:02 AM

Empresas imposibles. Toda mi vida la he pasado emprendiendo empresas imposibles. Una vez decidí que quería navegar por los mares, y entonces comencé a construir un portaaviones. No una canoa hecha a base de bambú, o un tronco amarrado con lianas. No. Un portaaviones nuclear. Es como si muy dentro de mismo hay el deseo morboso de no terminar lo que comienzo. ¿Síndrome aureliano de los pescaditos de oro? ¿Lo que Ortega y Gasset dice sobre los españoles y las corridas de toro? Quién sabe. El punto es que estaba revisando un conjunto de cuentos de horror que he estado escribiendo en los últimos años, y comencé a sacar cuentas. Resulta que en algún momento decidí recopilarlos en un libro que se llamaría “37 cuentos de terror y una historia de amor”. ¿37? ¿Eso significa que para publicar ese libro tengo que escribir 37 cuentos? Dios. Soy el rey de la procrastinación. De la autoflagelación mental. Apenas llevo 10 cuentos. Y hace un año que terminé uno. Esto se parece a la construcción de la tumba del Papa Julio II en tiempos de Miguelangel (¿La agonía y el éxtasis, anyone?)

Como quiera que sea, los que conocen estas páginas sabrán que toda esa novelesca introducción se debe que a continuación voy a presentar una de mis listas, en este caso La lista de las 5 más fabulosas empresas imposibles que he emprendido en mi vida. Pero antes, La lista de las 5 más fabulosas y fastidiosas actividades que odio realizar y sin embargo he hecho hasta la saciedad:

  • Ver los infamosos albumes de fotos. Extra fastidio cuando es el albúm de foto de alguien a quien conoces pero que visitaste accidentalmente, o por uno de esos compromisos “ineludibles”.
  • Esperar que ella est
    é lista para salir a una fiesta donde me espera una botella de Grants 15 años sólo para mí.
  • Ver como mi papá se entretiene toda una tarde tratando de reparar un Buick 1961 para al final, luego de sudar hasta la última gota de H2O del cuerpo decir triunfalmente: ” el lunes se lo llevo al Mago” (refiriendose a un mecánico con fama de resolver hasta los problemas de mecánica más misteriosos, ganándose así la reputación de “mago”).
  • Ir a un centro comercial a acompañarla a visitar todas las tiendas del centro comercial y que al final, luego de 4 horas dando vueltas una y otra vez por todos los pasillos y viendo todas las vidrieras, no se compre nada.

Y finalmente la más fabulosamente fastidiosa actividad que odio realizar en mi vida:

  • Ver películas mexicanas de los años 50 en un televisor blanco y negro de 9 pulgadas.

La lista de las 5 más fabulosas empresas imposibles que he emprendido en mi vida la voy a dejar para otro post, porque ahora estoy programamando dos juegos, escribiendo un cuento, puliendo un poema, programando un site sobre un sistema para almacenar el desempeño de estudiantes y otra media docena más de programas incluyendo un programa en C que utilizando threads calcula números fibonacci. Ni más ni menos.
Enlaces que no requieren llegar a un número determinado para ser publicados

  • Este es un grafico que muestra el porcentaje promedio de tiempo dedicado a cada una de las fases de diseño web. Luego de 6 meses dedicado casi full-time a esto puedo certificar que efectivamente casi la mitad del tiempo se pierde en hacer que la página funcione en Internet Explorer. Normalmente mis diseños funcionan a la primera en Firefox. También dedico mucho tiempo a hacer las páginas usando solamente CSS, y normalmente lo logro.
  • Mi último descubrimiento: tribalwars. Edifica una villa, arma un ejército, construye un imperio. Desde que jugué urbandead no jugaba un juego con tanta dedicación.
  • Ya terminó la fase de inscripciones en la competición de aventuras conversacionales FICOMP. Los juegos ya están disponibles. Más información en Wikicaad.
  • Configuración de SDL con MSVC

    06-09-2007 11:01 AM

    Este tutorial explica cómo configurar MS Visual C++ para trabajar con SDL. Aqui suponemos que Ud. tiene instalado MSVC 6.0 o VC2005 (aka VC7,VC8). Otra posibilidad es VC2005 Express edition.