Tendré que abandonar Google?
Ayer intenté echarle un vistazo a mi cuenta en Adsense. No lo hago a menudo, pues en definitiva no es mucho lo que ingresa. Me esperaba una desagradable sorpresa: también el acceso a Adsense ha sido bloqueado para Cuba. Primero fue Google Code y ahora esto. Nada, cosas del embargo. Así que no me extrañaría que un día de estos Analytics también deje de funcionar, y luego Feedburner, Gmail, Gtalk... y luego los cubanos ni siquiera podremos hacer búsquedas en internet, a menos que sean a través de Yahoo.
The Witcher
Luego de una espera muy prolongada (que incluso pudo ser más larga) he logrado echarle el guante a este juego. Ya les mencioné que la saga de Geralt de Rivia es magnífica, el juego no se queda muy atrás aunque no alcanza al Mass Effect. Sí, eso sería mucho pedir.
Pero el detalle que hace que lo mencione aquí es que The Witcher usa Lua. Lo cual no es novedad porque muchos otros títulos comerciales lo usan, pero me dejó medio sorprendido ver el logo de Lua entre tantos ilustres otros. Y otro detale llamativo es que The Witcher usa el Aurora Engine 2007 de Bioware, nada del otro mundo en mi humilde opinión, aunque tal vez podamos culpar a los artistas. Es por eso que ha dejado de sorprenderme que teniendo el Aurora, Bioware haya usado el Unreal Engine para hacer el Mass Effect.
Pero el detalle que hace que lo mencione aquí es que The Witcher usa Lua. Lo cual no es novedad porque muchos otros títulos comerciales lo usan, pero me dejó medio sorprendido ver el logo de Lua entre tantos ilustres otros. Y otro detale llamativo es que The Witcher usa el Aurora Engine 2007 de Bioware, nada del otro mundo en mi humilde opinión, aunque tal vez podamos culpar a los artistas. Es por eso que ha dejado de sorprenderme que teniendo el Aurora, Bioware haya usado el Unreal Engine para hacer el Mass Effect.
De regreso
Me tomé unas largas vacaciones donde la tecnología de comunicación más avanzada a mi alcance era el móvil que me regalaron, sin línea. En fin, un poco de aburrimiento, algo de diversión con la familia que no veía hacía ya un año, pero al fin ya estoy de regreso.
El mundo no parece haber cambiado mucho en mi ausencia, nada de versiones nuevas de Ogre, tal vez vale la pena mencionar que al fin Nvidia se apunta a los 40 nm, y aparte de eso, más nada.
Nos veremos luego.
El mundo no parece haber cambiado mucho en mi ausencia, nada de versiones nuevas de Ogre, tal vez vale la pena mencionar que al fin Nvidia se apunta a los 40 nm, y aparte de eso, más nada.
Nos veremos luego.
Cómo entrar en el negocio de los juegos
Tenía pendiente traducir este artículo de Bob Pendleton desde hace un tiempo, pero me tuve que ir de viaje con urgencia y ahí quedó. Ayer no pude, pero hoy al fin lo terminé a toda prisa. Tal vez no sea una traducción profesional, pero aquí está, porque el contenido realmente vale la pena.
Cuando enseño, en la lista de correos (gameprogrammer.com), en fiestas... me preguntan: "cómo se entra en el negocio de los juegos?" o "Esta clase me conseguirá un trabajo en el negocio de los juegos?". Ambas son casi la misma cosa. Quien pregunta quiere un trabajo en un desarrollador/distribuidor de juegos y quiere saber cómo conseguirlo.
La segunda pregunta, casi siempre hecha por estudiantes de programación, es fácil de responder: "quizás, pero espero que no.". Una clase de programación de juegos no es suficiente para calificarte como desarrollador de juegos de propósito general. La primera pregunta tiene una respuesta tan fácil y obvia que nadie me cree cuando se la digo. La respuesta es escribir un juego y venderlo. No importa cómo lo escribas, y no importa cómo lo vendas. Una vez que lo has hecho, tú, trabajando para ti mismo, eres el presidente de la compañía y estás en el negocio de los juegos.
El negocio de los juegos es en gran parte de emprendedores. Las únicas personas que conozco que llevan más de 10 años en él son dueñas de su propio negocio. Muy a menudo han ido de tener su propio negocio a trabajar para otros y así sucesivamente varias veces. Parece que mucha gente piensa que puedes ir a la universidad, ir a trabajar a ___ (llene el espacio en blanco) y retirarse a los 65. Eso no sucede a menos que seas el dueño de la compañía. Podrías hacerlo obteniendo un título, aprendiendo COBOL y yéndote a trabajar para AT&T manteniendo sus sistema de facturación, pero ni aún así cuentes con eso.
Lo que debes hacer es escribir juegos. Empieza por juegos que puedas terminar en un par de semanas, o al menos dos meses.
De dónde saqué ese consejo? De mi propia carrera y de la historia de Id. Los de Id empezaron escribiendo juegos (http://en.wikipedia.org/wiki/Id_Software) para Softdisk. Tenían que hacer un juego al mes y venderlo. En mi caso empecé escribiendo juegos en Basic en terminales de impresión de papel a principio de los 70. Pasé 20 años aprendiendo simulación de eventos discretos, gráficos, programación, y escribiendo pequeños juegos como hobby antes de conseguir un empleo en la industria de juegos. Después que me harté de eso me fui 5 años a hacer investigaciones corporativas en el negocio de los juegos y la interacción de los juegos con las telecomunicaciones, antes de seguir adelante.
Si no deseas programar juegos lo suficiente para estar programando juegos ahora mismo... realmente quieres entrar en el negocio de los juegos?
Si quisieras ser un maestro de kung fu, practicarías todos los días de tu vida. Crees que se requiere menos para convertirte en un maestro de la programación de juegos? A propósito, las palabras "kung fu" significan algo así como "maestría desarrollada con esfuerzo a través del tiempo". Y además, recientes estudio científicos han demostrado que son necesarios 10 años de esfuerzo diario, esfuerzo diario, para convertirse en un experto en cualquier cosa.
En resumen, si quieres escribir juegos, escribe juegos. Si quieres entrar en el negocio de los juegos, sé el negocio de los juegos.
Estoy diciendo que lo hagas todo por tí solo? Por supuesto que no. Cuando tengas un problema que no puedas solucionar busca en la red, toma una clase, pregunta en mi lista (gameprogrammer.com) :-) Pero, hasta que empieces, no sabrás las preguntas. Aprender requiere que lo hagas mal, de otra forma no hay aprendizaje. Cuántas veces te lastimas los dedos antes de aprender a bloquear una patada? Todo el que puede bloquear una patada se ha lastimado los dedos.
A propósito, en verdad ayuda dejar la verguenza. Ayuda saber que no conoces *la* respuesta, solo una respuesta. Y nunca, nunca creas que eres el experto. Un principiante siempre está aprendiendo, me esfuerzo por ser siempre un principiante.
Cuando enseño, en la lista de correos (gameprogrammer.com), en fiestas... me preguntan: "cómo se entra en el negocio de los juegos?" o "Esta clase me conseguirá un trabajo en el negocio de los juegos?". Ambas son casi la misma cosa. Quien pregunta quiere un trabajo en un desarrollador/distribuidor de juegos y quiere saber cómo conseguirlo.
La segunda pregunta, casi siempre hecha por estudiantes de programación, es fácil de responder: "quizás, pero espero que no.". Una clase de programación de juegos no es suficiente para calificarte como desarrollador de juegos de propósito general. La primera pregunta tiene una respuesta tan fácil y obvia que nadie me cree cuando se la digo. La respuesta es escribir un juego y venderlo. No importa cómo lo escribas, y no importa cómo lo vendas. Una vez que lo has hecho, tú, trabajando para ti mismo, eres el presidente de la compañía y estás en el negocio de los juegos.
El negocio de los juegos es en gran parte de emprendedores. Las únicas personas que conozco que llevan más de 10 años en él son dueñas de su propio negocio. Muy a menudo han ido de tener su propio negocio a trabajar para otros y así sucesivamente varias veces. Parece que mucha gente piensa que puedes ir a la universidad, ir a trabajar a ___ (llene el espacio en blanco) y retirarse a los 65. Eso no sucede a menos que seas el dueño de la compañía. Podrías hacerlo obteniendo un título, aprendiendo COBOL y yéndote a trabajar para AT&T manteniendo sus sistema de facturación, pero ni aún así cuentes con eso.
Lo que debes hacer es escribir juegos. Empieza por juegos que puedas terminar en un par de semanas, o al menos dos meses.
De dónde saqué ese consejo? De mi propia carrera y de la historia de Id. Los de Id empezaron escribiendo juegos (http://en.wikipedia.org/wiki/Id_Software) para Softdisk. Tenían que hacer un juego al mes y venderlo. En mi caso empecé escribiendo juegos en Basic en terminales de impresión de papel a principio de los 70. Pasé 20 años aprendiendo simulación de eventos discretos, gráficos, programación, y escribiendo pequeños juegos como hobby antes de conseguir un empleo en la industria de juegos. Después que me harté de eso me fui 5 años a hacer investigaciones corporativas en el negocio de los juegos y la interacción de los juegos con las telecomunicaciones, antes de seguir adelante.
Si no deseas programar juegos lo suficiente para estar programando juegos ahora mismo... realmente quieres entrar en el negocio de los juegos?
Si quisieras ser un maestro de kung fu, practicarías todos los días de tu vida. Crees que se requiere menos para convertirte en un maestro de la programación de juegos? A propósito, las palabras "kung fu" significan algo así como "maestría desarrollada con esfuerzo a través del tiempo". Y además, recientes estudio científicos han demostrado que son necesarios 10 años de esfuerzo diario, esfuerzo diario, para convertirse en un experto en cualquier cosa.
En resumen, si quieres escribir juegos, escribe juegos. Si quieres entrar en el negocio de los juegos, sé el negocio de los juegos.
Estoy diciendo que lo hagas todo por tí solo? Por supuesto que no. Cuando tengas un problema que no puedas solucionar busca en la red, toma una clase, pregunta en mi lista (gameprogrammer.com) :-) Pero, hasta que empieces, no sabrás las preguntas. Aprender requiere que lo hagas mal, de otra forma no hay aprendizaje. Cuántas veces te lastimas los dedos antes de aprender a bloquear una patada? Todo el que puede bloquear una patada se ha lastimado los dedos.
A propósito, en verdad ayuda dejar la verguenza. Ayuda saber que no conoces *la* respuesta, solo una respuesta. Y nunca, nunca creas que eres el experto. Un principiante siempre está aprendiendo, me esfuerzo por ser siempre un principiante.
Shaders y múltiples render backends
Uno de los problemas de tener un motor que permite usar D3D y OpenGL es que no hay forma de asegurarse que los shaders funcionen bien en ambos. El caso es que si usas GLSL, no funcionará en Direct3D y si usas HLSL, lo mismo. En teoría Cg es neutro, porque proporciona varios perfiles. En la vida real, solo hay compatibilidad asegurada entre tarjetas/APIs cuando usas el perfil más básico, de shader model 2 hacia arriba te puedes encontrar que, casualmente, las cosas no funcionan en una ATI. La solución es brindar programas Cg para diferentes perfiles, lo cual, me parece a mí, es un lío.
La otra solución, suponiendo que estés escribiendo tu propio motor, es usar un solo API: OpenGL o Direct 3D. En ambos casos es un poco limitado.
La otra solución, suponiendo que estés escribiendo tu propio motor, es usar un solo API: OpenGL o Direct 3D. En ambos casos es un poco limitado.
Divagaciones sobre Ogre, consolas y hasta los etcéteras
El calor es realmente indecente aquí. Así que en casa apenas puedo trabajar los fines de semana pues mi cuarto parece una sauna. En apenas 5 minutos le disco duro alcanza 43 grados. En la oficina no dispongo del hardware necesario, por lo que mis períodos improductivos son largos.
Solo me queda pensar y satisfacer mi curiosidad. Por ejemplo, me planteaba la factibilidad de desarrollar para consolas (eso es una masturbación mental MUY grande). Este es un campo plagado de opiniones contradictorias, pero hay una que emerge con cierta ventaja: PS3 es muy difícil de aprovechar al máximo. A ver, tenemos un artefacto con 8 núcleos, que requiere un trabajo demencial de optimización mediante hilos. Podríamos, digamos, usar un SPU para IA y otro para físicas, lo gráficos por descontado que van por el suyo, y aún así el Cell har;ia gárgaras con todo esto mientras se echa fresco en los testículos. Por su parte Xbox es un poco menos complejo, solo tres núcleos (hablo de memoria aquí, así que podría estar errado), tiene un chip de video al estilo de una PC común, corre DirectX, en fin, que con esfuerzo mínimo puedes tener tu juego portado de PC a Xbox.
Hay algunas discusiones acerca de Ogre y consolas en el foro. Había interés por parte de Sinbad de acogerse a los programas de Microsoft y portar el motor a Xbox, pero sólo si había gente interesada. No me refiero a cualquier pelagatos, sino a desarrolladores serios. No sé en qué habrá parado eso.
El caso Ogre vs PS3 es algo más complejo y de ahí no saqué nada en claro. Son muchos los trapos sucios que salen a relucir, ya sean problemas de licencia o técnicos, y cada uno de ellos con dos vertientes. Lo peor aquí es que hay mucho músico de oído, porque el SDK de Sony no es algo al que todo el mundo tenga acceso. Solo logré deducir que sí es posible, escribiendo un renderer para PS3 (que en el fondo usa OpenGL), lo cual no quiere decir que funcione a tope. Hay disímiles opiniones acerca de si Ogre está listo para PS3, su manejo de memoria y su arquitectura poco concurrente parecen ser un lastre muy grande. Algunos sitúan la tarea en un nivel de complejidad solo un poco más bajo que escribir tu propio motor. No lo recomiendo, especialmente porque Sony regala PhyreEngine, que es multiplataforma.
Solo me queda pensar y satisfacer mi curiosidad. Por ejemplo, me planteaba la factibilidad de desarrollar para consolas (eso es una masturbación mental MUY grande). Este es un campo plagado de opiniones contradictorias, pero hay una que emerge con cierta ventaja: PS3 es muy difícil de aprovechar al máximo. A ver, tenemos un artefacto con 8 núcleos, que requiere un trabajo demencial de optimización mediante hilos. Podríamos, digamos, usar un SPU para IA y otro para físicas, lo gráficos por descontado que van por el suyo, y aún así el Cell har;ia gárgaras con todo esto mientras se echa fresco en los testículos. Por su parte Xbox es un poco menos complejo, solo tres núcleos (hablo de memoria aquí, así que podría estar errado), tiene un chip de video al estilo de una PC común, corre DirectX, en fin, que con esfuerzo mínimo puedes tener tu juego portado de PC a Xbox.
Hay algunas discusiones acerca de Ogre y consolas en el foro. Había interés por parte de Sinbad de acogerse a los programas de Microsoft y portar el motor a Xbox, pero sólo si había gente interesada. No me refiero a cualquier pelagatos, sino a desarrolladores serios. No sé en qué habrá parado eso.
El caso Ogre vs PS3 es algo más complejo y de ahí no saqué nada en claro. Son muchos los trapos sucios que salen a relucir, ya sean problemas de licencia o técnicos, y cada uno de ellos con dos vertientes. Lo peor aquí es que hay mucho músico de oído, porque el SDK de Sony no es algo al que todo el mundo tenga acceso. Solo logré deducir que sí es posible, escribiendo un renderer para PS3 (que en el fondo usa OpenGL), lo cual no quiere decir que funcione a tope. Hay disímiles opiniones acerca de si Ogre está listo para PS3, su manejo de memoria y su arquitectura poco concurrente parecen ser un lastre muy grande. Algunos sitúan la tarea en un nivel de complejidad solo un poco más bajo que escribir tu propio motor. No lo recomiendo, especialmente porque Sony regala PhyreEngine, que es multiplataforma.
DNT 0.4
Llevaba un buen tiempo sin echarle un vistazo a este juego y hoy me he quedado sorprendido al ver que ayer liberaron la versión 0.4. Espero que sigan avanzando (un poco más rápido si se puede) y que algún día tengamos un RPG lo más completo y divertido posible.
Solucionado el problema
Luego de mucho preguntar, solucioné el problema de la tarjeta en Linux. Por pura casualdiad, mientras leía la ayuda de aticonfig, me percaté que recomiendan usar la plantilla de la configuración. Como no quedaba más nada que probar, lo hice y eso resolvió el problema. Luego me encontré algunos detalles con Xfce, que en mi cuenta de usuario no quería moverse como debe ser. Solucionado este último detalle pude dedicarme al proyecto otra vez. Ya funciona estable, sacando unos 160 cuadros por segundo. También implementé una frecuencia fija de actualización de la IA, ajustada a unas 10 veces por segundo. Eso fue lo que me recomendaron hace un tiempo. Esto es algo que aún tengo que mejorar, pues ahora estoy procesando todas las entidades en cada cuadro, de ahí que solo obtenga 160 en vez de 400. Es que un Celeron se siente la carga de ejecutar scripts unas 40 o 50 veces por segundo, digo yo.
Nuevo renderizador de terrenos para Ogre
Gracias a mis plegarias y múltiples sacrificios de cabras blancas (no me fue posible encontrar una virgen) muy pronto tendremos un nuevo terrain renderer. Que más parece regalo de navidad, por las características que implemente, a saber: paginado, editable, hasta 6 texturas en un solo pase (para hacer todo ese splatting tan guay), independiente del SeceneManager, y otras que no recuerdo.
Si no entiendo mal, el código inicial ya está en el repositorio, pero no veo referencias a cuál, si al estable (rama 1.6) o al experimental. En fin, sea lo que sea, ya está más cerca y Sinbad va a toda máquina.
Si no entiendo mal, el código inicial ya está en el repositorio, pero no veo referencias a cuál, si al estable (rama 1.6) o al experimental. En fin, sea lo que sea, ya está más cerca y Sinbad va a toda máquina.
Aún luchando
Parece que la 4770 sigue negada a funcionar. Ahora el driver oficial no la reconoce. En verdad, si alguien me la cambiara por una Nvidia similar no lo pensaría dos veces.
Catalyst 9.5
Una de las desventajas de tener un hardware demasiado reciente es que te puedes ver sin soporte para el mismo. El driver 9.5 de ATI aún no entra en el portage (es que aún no entra el 9.4) y no estoy para pasarme un mes esperando que lo incluyan, asi que tendré que montarme un overlay y arreglármelas como pueda. Cualquier cosa menos montar el driver sin usar emerge, que es la receta segura para tener problemas.
Y luego, pues si funciona bien ahí se quedará por los siglos de los siglos, que bastante malas experiencias tengo del upgrade de la serie 8 a la 9.
Y luego, pues si funciona bien ahí se quedará por los siglos de los siglos, que bastante malas experiencias tengo del upgrade de la serie 8 a la 9.
Ogre OpenGL renderer y ATI driver 9.x
Luego de elogiar lo bien que se ven los proyectos en desarrollo que usan Ogre, ahora me toca quejarme. El caso es que la serie de controladores 9.x de ATI y Ogre no se llevan nada bien cuando se utiliza el renderer OpenGL (que es la única opción en Linux). Ya había tenido problemas con OpenGL y ATI anteriormente, al parecer no se han molestado en hacer un driver con un soporte medio decente. Así que estoy planteándome la posibilidad de cambiarme a Nvidia, pues llevo ya una hora buscando una solución a este problema y no encuentro nada concreto.
Proyectos comerciales con Ogre
Hacía un buen tiempo ya que no echaba un vistazo a la galería de imágenes de Ogre, y una anotación reciente sobre proyectos comerciales me llamó la atención. Generalmente reviso el subforo Showcase, que es un buen lugar para encontrar nuevos desarrollos. Tengo que decir que me quedé sorprendido en extremo y les recomiendo que vean por ustedes mismos. Steampunk Legends es impresionante, esas pocas imágenes dejan con deseos de ver más. Sin embargo los que sí no se han dejado nada en el tintero son los de Deck13 con Venetica.
Suscribirse a:
Entradas (Atom)