@ agnasg

agnasg


MMOs Engine list

16-01-2008 11:03 AM

Algunos enlaces de la escena de motores para desarrollo de MMOs.

  • OpenNel, es un increíble motor con casi todos las características necesarias para desarrollar completamente un MMO. Es un motor que fue desarrollado para el juego Ryzon, pero antes de ser utilizado, la compañía quebró (bancarrota). Son 500mil líneas de código C++. Y ese es justamente el problema, puede resultar realmente complicado producir algo con ese motor. Sin embargo me encanta la arquitectura y la forma de desarrollo porque es casi idéntica a la que yo utilizo. La compañía era francesa y utilizado el Standard Template Library, y el standard de desarrollo de C++. No pienso utilizarla, sino estudiar la librería de redes.
  • http://www.multiverse.net/, completo, solo hay que compartir el 10% de las ganancias con ellos. Es point&click, pero requiere programación python & java.
  • http://www.realmcrafter.com quizás el preferido, cuesta solo $100, sin royalties, ningún gasto adicional, con todas las características necesarias. Multiserver, administración de suscripciones, radar, NPCs con voces, multiinstancias, etc, etc.
  • Finalmente esta es una lista completa, incluyendo las librerías más famosas en todas las áreas (graficos, sonido, redes, etc..). (Más información aqui y aqui).

Enlaces

  • Hablando de originalidad e innovación, un video realmente fascinante
  • En la continuación de la tragedia de Megan Meier, uno de los padres que ocasionaron su muerte puede ser sometida a cargos federales por ciber delito, y acoso de menores
  • Sun Microsystem compró MySQL.
  • The juego del momento: The Witcher. Mi playground pipeline está congestionado…
  • Tetrical… un tetris 3D.
  • No tengo tiempo de revisar, pero creo que todavía no he mencionado los enlaces de los foros y páginas que estoy leyendo en estos momentos (para mi MMO): mmorpgmaker.vault.ign.com (una lista de desarrolladores de MMORPGs, altamente recomendable), quartertothree.com (discusión sobre juegos), bloginati.com (un resumen de los últimos post en los principales blogs sobre MMOs). La lista sigue, así que creo que voy a activar el blogroll que usan todos los blogueros y que yo por falta de tiempo no he activado (es la sección que dice qué estoy leyendo). 🙂
  • Análisis de la librería AI Bot de Quake 3. Interesante lectura para los que están interesados en entender cómo estructurar una librería que gerencia algoritmos de búsqueda de caminos, selección de metas y conducta de bots.
  • ¿Soy un buen programador? Según este documento, las siguientes son las características que distinguen a un buen programador:
    • Apasionado respecto a la tecnología checkmark
    • Programa por hobbie checkmark
    • Hablará sobre tecnología si es motivado checkmark
    • Significativo (y numerosos) proyectos fuera del trabajo checkmark
    • Tiene una opinión sobre el uso diverso de la tecnología checkmark
    • Inconforme en trabajar con una tecnología que piensa incorrecta checkmark
    • Bien informado, puede hablar fluidamente sobre diversos tópicos checkmark
    • Comenzó a programar antes de la universidad/trabajo checkmark
    • Tiene varios “iceberg” por debajo del curriculum checkmark
    • Conocimiento sobre muchas tecnologías (sin mención en el CV) checkmark

Originalidad e innovación

09-01-2008 11:39 AM

Leemos en Troll On Fire – MMO’s, Flames, & Discussion :

¿Por qué es que casi todos los MMOs que están por ser publicados en el futuro cercano son reencauchados del mismo material que nosotros ya hemos usado hasta la nausea? La razón es simple: todo el mundo está buscando su pago. Los desarrolladores de juegos están en el negocio en primera instancia para hacer dinero. Yo no tengo problema con eso… mi único problema es que no importa el juego, es más de lo mismo, con muy pocas excepciones… ¿pero por qué es tan sangrientamente difícil conseguir algo nuevo, algo oríginal? Eve Online ofrecía eso pero también se convirtió en algo repetitivo, y poco entretenido…

[Why is it that almost every MMO that’s coming out in the near future is a rehash of the same material that we’ve already had ad nauseum? Simple reason: Everyone’s looking to get paid. Game developers are in business to make money, first and foremost. I have no problem with that; we all have to earn a living somehow, so why not get paid doing something you love? My only problem is: no matter what game I go play, it’s more of the same, with very very few exceptions, and even those exceptions borrow from the traditional. Be it WoW, or EQ, or DAoC, or Final Fantasy XI, it’s all the same thing: kill ten rats, fedex, grind, get to end game, do raid content, get bored, get into new game, repeat. Bleck. Surely our ability as a country to innovate isn’t tapped at this point; if it is I fear for the US in the coming decades. But why is it so bloody hard to get something new, something original? We were offered a glimpse of that with EvE Online, but even that turned into a grind… mostly a faction grind, and the crafting system is even more of a grind.]

El autor continúa en términos similares despotricando contra los desarrolladores y los distri
buidores de juego. Y la sensación que me quedó es exactamente la misma que tengo cuando alguien me dice que quiere hacer un MMO. “No es tan fácil, sin mencionar publicar el juego”. Este tipo de protestas son comunes entre los blogueros, y ahora se están acentuando con la proliferación de MMOs nuevos. Pero las predicciones para este año no son alentadoras. No vamos a tener innovación u originalidad este año, tampoco. Tabula Rasa parece ser la gran decepción y así lucen los nuevos juegos para este año.

Esta semana abrí una cuenta nueva en mmorpgmaker (otra vez, tenía una desde hace años pero por falta de actividad como que se evaporó). En mi presentación personal coloqué “Yo también estoy programando un MMO“. Pero, entre las metas que me impuse incluí que debe ser original e innovador. Claro, tuve una crisis hace como un mes por las mismas razones que los desarrolladores y los distribuidores de juego le tienen pavor a lo original e innovador: ¿y si esdemasiado original e innovador? ¿ y si a la gente no le gusta? Pasé varios días rumiando los pensamientos, inclusive me puse analizar mis viejos proyectos de ficción interactiva, acariciando la idea abandonar el MMO. Y todo el asunto me produjo una irritación que me condujo (creo yo) al médico (claro, aparte de las hallacas, el guiskie y otras menudencias y abusos). Finalmente, en el día mas luminoso de mis último tiempos tomé una decisión: a la mierda con los jugadores. Si es demasiado original e innovador y no les gusta no hay nada que yo pueda hacer. Que regresen a World of Warcraft, yo al menos hice mi mejor esfuerzo. Y me divertí en
el intento. Espero al menos que alguien, aunque sea un jugador, aprecie el esfuerzo.

Al fin y al cabo, en los viejos buenos tiempos de la programación de juego, todos los juegos eran originales e innovadores, y entonces, jugar un juego nuevo era toda una aventura. ¿Y no es eso precisamente lo que buscan los jugadores? Aventura y diversión. Entiendo la decepción de los jugadores y blogueros al comenzar a jugar un nuevo MMO y encontrarse con una versión de WOW de mala calidad. Es como ir a ver esas películas que utilizan el argumento de James Bond. Un galán conquistador de mujeres luchando contra un perverso villano que quiere conquistar el mundo. Si ya las películas de James Bond son malas, las imitaciones son peores, porque al menos en las películas de James Bond podemos ver a Sean Connery y Roger Moore, mientras que en las imitaciones vemos el equivalente cinematográfico de Mr. Bean.

Pensamientos diversos y mezclados

  1. Cuando un API está bien escrito, una nueva característica que quieres agregar a tu juego debe ser cuestión de máximo un par de horas. Sin importar la complejidad de la nueva característica.

Enlaces

  • Página Web del capítulo Caracas del IGDA (International Game Developer Association).
  • A través de la página del IGDA llega a nosotros el Chiquire Literario, blog venezolano sobre videojuegos.
  • Un physics game engine (simulador de fuerzas fisicas) en flash (aqui hay otro más).
  • Más de una vez me he reído solo frente al computador, pero desde hacía tiempo no me reía tanto como con “Como dibujar un pollo“. Yo necesité varios minutos para entender el chiste, pero básicamente se trata sobre un muchacho de 18 años que escribió un libro de 32 páginas sobre cómo diseñar un MMO. En uno de los comentarios, alguien sugirió otros tres temas de libros para este autor:
    • Cómo resolver lacrisis de energía en 12 sencillos pasos. Con DVD incluído.
    • Consideraciones al diseñar un cohete espacial.

    Un detalle importante, es que en el procedimiento para dibujar un pollo el paso 3 es muy importante, definitivamente Ud. no se debe saltar el paso 3. Por favor, no lo haga.

  • este es otro enlace.

Mi primera lista del año

05-01-2008 9:56 AM

Aquí está mi lista de las 5 indicaciones de que ya eres un programador de juegos hacker :

5) Utilizas normalmente CTRL-C/CTRL-V, y te sorprendes cuando alguien usa el Menú Edit y selecciona Copy/Paste: habías olvidado que esas opciones estaban en ese menú. De hecho, no usas el menú para nada (porque eso consume tiempo) y te sabes todos los comandos asociados a todas las teclas, incluyendo F1-F12, y todas las combinaciones CTRL, ALT y Shift de todos los programas que usas (el IDE (MSVC, DevC++), el paquete gráfico (Paint Shop Pro), el modelador (Blender), etc..)
4) Escribes código STL, o tu librería de templates preferida sin consultar el manual y sabes perfectamente la diferencia entre (*it)->id y it->begin (); Ni hablar de cómo invocar una función miembro almacenada dentro de un arreglo (y para qué sirve eso).

3) Estás escribiendo tu quinto interprete de comandos, (incluyendo una implementación de los comandos más básicos, como if, case y for .

2) Ya no tratas de implementar tu propio game engine (o el tuyo funciona perfectamente) y tu versión propia de un raytracer está en el baul de los recuerdos.

Y finalmente la evidencia número 1 de que ya eres un programador de juegos hacker:

1) Tienes un juego publicado o trabajas al menos 20 horas a la semana para lograrlo.

En relación al número (3), basta decir que en mi caso he escrito 3 compiladores completos (el último en un sistema de ficción interactiva tipo inform o Tads). Y en este momento estoy escribiendo un editor. ¿Qué?. Sí, porque una consola de un juego posiblemente incluye algo como un editor. Y no, la que escribiste para el último proyecto seguramente no sirve o no se adapta correctamente. La experiencia nos dice que es mejor reescribir desde cero que tratar de modificar un paquete de alta complejidad. Los días de un programador de juegos están lle
nos de este tipo de actividades de reinvención de la rueda.

En relación al número 1 recuerdo mucho esta serie de artículos y comentarios de James McDonald donde están incluídos una serie de comentarios sobre cómo convertirse en escritor. En resumen, (de los 50mil posts) pueden traducirse básicamente en lo siguiente:

  • Coloca el trasero en la silla y escribe no menos de 1000 palabras cada día.
  • Los editores solo aceptan font Courier 10 ó 12. Así que no uses nada más.
  • Comienza escribiendo un guión. No importa que sea de 2 ó 3 líneas. Pero hazlo.
  • Escribe lo que te gusta.
  • No le hagas caso a público de galería.

Pues las mismas recomendaciones se aplican al desarrollo de juego. La segunda se podría traducir en utilizar la tecnología correcta. Tratar de utilizar Basic o lisp para hacer un juego en estos días puede resultar descabellado.

Finalmente, coloca en tu escritorio, al lado de tu computadora, una hoja de papel que diga claramente lo siguiente (y léelo todos los días hasta que te lo aprendas de memoria)

“A finished game with less flash and dazzle is better than no game”

[“Un juego terminado con menos adornos y refinaciones es mejor que ningún juego”]

Enlaces

  • Anime-hot ilimitado.
  • Siguiendo mis recomendaciones de principio de año ( o con mi lista de buenas intenciones [promesas de principio de año]) aparte de programar-escribir hay que leer. Leer, correcto. Sí, eso, leer. No, hay que seguir haciéndolo después de salir de la universidad… Por ejemplo, como ya he dicho antes, en este momento estoy programando un MMO, así que estoy leyendo cuanto blog sobre el tema que se me cruza en el
    camino. Man Bytes Blog (tiene un interesante artículo sobre profesiones), MMO Freak, Broken Toys, sobre misiones por Michael Zenke y sobre Scrum una metodología de proyectos en Gamasutra. La ventajade los blogs (y de la web en general) es algunas características que facilitan el trabajo. Cuando un autor se hace monótono o simplemente quieres buscar otras opiniones, basta con revisar el blogroll. La lista de enlaces que de loque al autor le gusta. Estas listas suelen ser bien difíciles de mantener (yo por ejemplo nunca he armado una y me dedico a colocarlar mezcladas juntos con opiniones aqui en esta sección), pero algunos autores se toman el tiempo para ello, y vale la pena aprovechar eseesfuerzo. Por ejemplo el mencionado Broken Toys, tiene una lista de desarrolladores de MMOs, que reviso con frecuencia.

Cuando la diversión se transforma en entrega total

31-12-2007 5:42 PM

El primer mito sobre la programación de juegos es que es algo divertido. Y generalmente lo es, pero no todo el tiempo. A través de esta página he entrado en contacto con innumerables personas que desean fervientemente programar su propio juego, pero desconocen o no entienden el costo que hay que pagar para lograr ese objetivo.

Hay muchos chistes al respecto, como el novato que trató de abrir un .exe con el Wordpad, o los que me han preguntado cómo hacer un juego como Halo 2. Así no más, sin anestesia. Yo les doy unas instrucciones básicas, comenzando, por supuesto, con “lee cuidadosamente todo lo que digo en este sitio (aqui hay suficiente información para adentrarse en los recovecos de los programación). No hay atajos. No hay forma de saltarse pasos. De hecho ningún paso es innecesario. Tienes que aprender a programar. A menos que tengas el suficiente capital para contratar un equipo de programadores. Pero en ese caso, las cosas pierden un poco su sentido, ¿verdad?.

La tarea no es fácil ni corta. Hay que aprender a programar C++, Java o PHP, más una multitud de utilities, protocolos, APIs gráficos, conseguir los recursos (gráficos, iconos, logos, modelos, etc) trabajar el diseño (una vez que tienes la idea), y un largo etcétera. Para cuando tienes todo listo, quizás tú ánimo no sea el mismo. Por ejemplo, hace ya casi 8 meses que estoy trabajando la idea de un MMO, que es lo que actualmente estoy programando. ¡8 meses! El diseño lo he cambiado una docena de veces. Con frecuencia me he levantado a las 2 de la mañana a escribir algunas ideas, o simplemente a consultar un dato en el sistema porque la intriga no me deja dormir. Calculo que solamente en la programación de los protocolos de comunicación y la interfase básica ya le he dedicado unas 100 horas. Y eso no es nada en comparación a mis estimados reales del tiempo total del proyecto. ¿Qué desilusión, verdad? No. Como ya he dicho antes, programar un juego es
una actividad para toda una vida. Pretender que esto es un pasatiempo casual es llamarse a engaño. Programar juegos va a sustituir cada uno de los pasatiempo que tengas (yo solía leer uno o dos libros al mes. En el último año solamente he leído si acaso un par). En ese sentido, la programación de juegos es absorbente y exige y demanda completa atención. Si no estás dispuesto a entregarte completamente, es mejor que regreses a jugar World of Warcraft. Y tu vida, te lo garantizo, será mucho más fácil.

  • Pearl before swine: un puzzle. Este juego me ha hecho pasar momentos irritantes. Es un juego realmente difícil. Pruébelo Ud. a ver si se divierte. A mi me pareció en todo momento estar jugando con un jugador callejero tramposo.