Ir al contenido principal

Entradas

Mostrando entradas de diciembre, 2010

Un día con Blendelf

Al final, los de Unigine me han denegado el kit de evaluación. Según la respuesta, solo es para estudios trabajando en proyectos medianos o grandes. No me cabe duda que están haciendo un excelente trabajo con este producto y se han ganado el aprecio de la comunidad (el mío incluido), pero están perdiendo la oportunidad de insertarse desde abajo en la cadena de producción. En fin, no seré yo quien les diga cómo llevar sus negocios.
De momento las vacaciones me han permitido dedicar un tiempo de trabajo serio a Blendelf. Este motor promete mucho y es muy sencillo, además de que incluye su propio editor de escenas, que corre en Window y Linux. Eso sí, un poco primitivo, pero no podemos pedir más de un proyecto aún en pañales. Con ayuda de Blender y el editor, pude tener un demo corriendo en cuestión de minutos. Lamentablemente compilarlo en Linux es toda una odisea, que no logré llevar a buen término. Si a alguien le sobran algunos eurillos, estría bien que donasen para apoyar el desarro…

Sitios de interés

Si andas perdido por la y estas buscando un poco de entreteniminto con lo mejor del cine y las series no cabe duda que el sitio que buscas se llama cinefilosonline.com. Si no estas satifechos y sientes ganas de llevar una vida saludable y cuidas tu salud para ti es el sitio yovivosaludable.com, encontrarás recetas y tips para que te sientes siempre bien. Finalmente para que sacies tu apetito por completo el mundo de losautos  te espera junto con información  turística,  el sitio ideal para ti es autosyturismo.com no te lo puedes perder encontrarás todo tipo de autos y las mejores recomendaciones para que viajes por el mundo.

Feliz Navidad

No tengo mucho hábito de celebrar navidad por una cuestión de educación, así que  siempre lo olvido, pero bueno, no voy a dejar pasar el día sin felicitarlos. Les deseo a todos una feliz navidad, que tengan una cena con un pavo de 8 kilos, y si les sobra algo, recuerden que por acá tenemos desarrolladores de juegos que también necesitan comer pavo de vez en cuando (y justamente, cuándo, es lo que me pregunto)!
De paso, puedo decirles que el proyecto sigue vivo y en desarrollo activo. Esto de trabajar en equipo tiene sus ventajas (aparte de poder culpar a los demás) y una de ellas es que aparecen ideas y se descubren problemas mucho más rápido. Hemos decidido cambiar el sistema de dos vistas a uno de cámara libre y en la próxima semana se debe iniciar el trabajo en el sistema de sonido.
Se mantienen los planes de sacar un tech preview muy pronto, pero no tenemos fecha fija. Los cambios en el código han sido importantes y se han reestructurado algunas cosas, lo cual ha traído nuevos bu…

HD rocks

Ayer un amigo me facilitó una copia con buena calidad de Piratas del Caribe 3. Es una versión aparentemente ripiada de un bluray, a 720p, que le va de maravillas a mi pantalla nueva. Y resulta increíble la definición de imagen que hemos alcanzado, aunque usualmente veo anime en HD, incluso con mayor resolución (sobre los 1900), no había visto una imagen real y la perfección de detalles que ahora podemos disfrutar. Casi que podemos contar los pelos de la barba de los piratas.
Todo esto viene aun precio, claro. Acá en la oficina ni siquiera vdpau es suficiente para mover el video sin cortes, he tenido que acudir al framedrop para mantener la sincronía audio/video. Me pregunto cómo será verlo a 1080p. O como será verlo a 1080p en 3D. Para caerse de culo, supongo.

colocando un nodo frente a tu entidad

Ayer estuve trabajando en el sistema de proyectiles, que usa el sistema de partículas de Ogre, así que hoy les traigo un truco muy sencillo: cómo determinar las coordenadas de un punto frente a un nodo. Los SceneNode tienen una función getOrientation(), que devuelve un Quaternion. Teniendo en cuenta que mis modelos están orientados hacia el eje +Z, la fórmula queda así:

Vector3 punto = Node->getOrientation() * Vector3(0, 0, distancia) + Node->getPosition();

O sea, obtenemos la orientación y la multiplicamos por un vector distancia (en este caso uso Z para la distancia) y el resultado lo sumamos a la posición actual del nodo.

Dos monitores

Hace unos pocos días recibí mi nuevo LCD de 20", gracias a las gestiones de un amigo, que me lo consiguió en la capital a mejor precio (no obstante, aún tengo deudas por pagar). Como aún no he vendido el viejo CRT, me animé a probar cómo se siente tener dos monitores a la vez. Por le momento no logro que funcione en Linux igual que en Windows: una pantalla principal y otra que es como una extensión. El 7 maneja esto de una forma muy inteligente: en mi pantalla auxiliar puedo poner, digamos, un video, aunque el Classic Mediaplayer del Klite se colgó un par de veces con un video mientras lo arrastraba hacia mi extensión del escritorio. También, mientras juego, los gadgets son enviados hacia esta extensión, así que puedo vigilar la temperatura del disco duro o la tarjeta con el gadget del Everest (muy cómodo!). Basta con arrastrar hacia la derecha las cosas que quieres poner allí y ya está. Al principio uno pierde un poco el sentido de la posición del mouse, porque hay que traerlo d…

Salvas, cargas y rayos mediante Ogrebullet

Un título raro, pero describe más o menos los últimos cambios en el proyecto. Durante el fin de semana Steffen concluyó el proceso de salvar y cargar juegos. el formato ahora es binario, no XML y estará comprimido. Yo no tuve tiempo para trabajar, así que solo pude hacer algunas pruebas sencillas con la selección basada en rayos de OgreBullet. En verdad, algo muy sencillo de hacer, aunque aún me da problemas con la intersección en el terreno. OgreBullet es más o menos una caja negra para mí, así que encontrar la razón de la divergencia entre el resultado de los rayos según Ogre y el de los rayos según Bullet puede tomarme algo de tiempo.

Qué semana!

Semana de lujo para los jugadores. Les traje el trailer de Mass Effect 3 y alguna que otra noticia relacionada con juegos, Unigine y Linux (y los que me sigan en twitter habrán visto el enlace al review del demo de Diablo 3). Pero las cosas no acaban ahí. Para acabar la semana por todo lo alto al fin Blizzard confirma oficialmente Titan, su próximo MMO. No hay más datos por el momento, excepto que se espera para el 2014, según un plan de ventas filtrado hace un tiempo, y que no se basará en ninguna de las actuales franquicias de la compañía. El plan de ventas también revela que Diablo 3 será una trilogía, como Starcraft 2. Venga, que eso de ordeñar a los jugones hasta que no den más (y esto es una metáfora, siempre dan más) mediante DLCs y similares se está poniendo de moda. Qué puedo decir, a todos nos gusta el dinero fácil.
Otros que van con calma pero aplastantes son los de Bethesda. Después de embolsillarse 300 millones (un menudito, vaya) por prestarle a Obsidian el framework de …

Cambios en la salva de juegos

Oficialmente tenemos nuevo miembro en el equipo de desarrollo: Steffen, que está dándole un repaso al sistema de salva de juegos. Ahora las salvas están comprimidas y es posible que pronto estén en formato binario también en vez de XML. Durante el proceso hemos encontrado una serie de problemas que por suerte se han solucionado, como por ejemplo que los nodos no se estaban destruyendo correctamente. Luego les posteo el código aquí para que lo tengan de referencia. Ahora estamos en proceso de definir todo lo que debe ser guardado para cada entidad, que es mucho (inventario, habilidades, etc). Después de todo no ha sido tan negativo retrasar el tech preview.

Grandes noticias

Para empezar, Bioware anuncia oficialmente Mass Effect 3. La página parece ser un video, digo parece porque llevo varios minutos esperando  que muestre algo. Bueno, esto no es nada nuevo, ya sabíamos que Mass Effect va a ser una trilogía y no sé si les recomendé que guardasen sus salvas, porque la trama de ME 3 va a depender de decisiones que hayamos tomado en ME 2. Pero mejor visitan el sitio y me cuentan.
Por otro lado, los resultados del concurso de Unigine aún no se han dado. Me tomé la molestia de venir el sábado expresamente a verlos, pero nada. Y la razón es de peso y además, trae más buenas noticias: las propuestas iniciales, que eran 10, crecieron a última hora. Eso no es todo, según el CEO de Unigine Corp, han decidido regalar tres licencias, no una como estaba previsto. También reveló que uno de los clientes de Unigine está interesado en asociarse con el equipo ganador para la realización del proyecto. Una excelente movida en la que todos salimos ganando si los tres proyect…

Caelum

Ayer hice un intento más serio de integrar Caelum en el proyecto. Los resultados que se pueden lograr con este add-on son bastante agradables a la vista: cielo, ciclo noche/día, niebla, precipitaciones, todo eso basado en shaders. Sin embargo las cosas no me fueron muy bien. El sol no queda donde debe y por alguna razón parece estar utilizando dos luces, lo que acaba con el rendimiento, porque cada objeto proyecta dos sombras. Eso, añadido a que la posición incorrecta de la fuente de luz estira las sombras, una receta infalible para acabar con la tarjeta más potente. Si no recuerdo mal, Ogre no maneja bien las sombras en estos casos o algo así.
Así que de momento veo dos desventajas: Caelum es demasiado detallado y ya no está en desarrollo. Si quieres algo sencillo, como un ciclo noche/día, lluvias y cielo realista, casi es mejor hacerlo uno mismo. Caelum se mete en detalles tales como la latitud y longitud del observador, día exacto del calendario, hace uso intensivo de shaders, etc.…

Editando videos con PiTiVi

Hace un tiempo mencioné que andaba en busca de un editor de video para Linux. De las opciones disponibles, solo hay dos en el portage: Cinelerra y Pitivi. El primero es prácticamente imposible de usar, a menos que tengas la paciencia de probar todas las posibles variantes y descubrir los caminos que te llevan a explotar la aplicación. Es algo así como jugar al buscaminas con secuencias de video y operaciones. Pitivi al menos te permite cortar y ensamblar pedazos, tal vez no de la forma más cómoda y rápida, pero al menos no explota. El caso es que acabo de descubrir que aparte de eso, no sirve para más nada. Como lo oyen.
El paso final de toda edición es generar un video con el resultado de tus largas horas de trabajo. Y aquí es donde Pitivi falla miserablemente. Ayer dediqué más de una hora a grabar diferentes secuencias de video, hacer un picadillo con ellas y armar una especie de gameplay trailer para subirlo hoy a youtube y al final descubrí que el renderizado final era una caca. …

Propuestas al concurso de Unigine

Phoronix ya tiene detalles acerca de las diez propuestas al concurso de Unigine. No es que sean muchos, pero al menos sabemos que entre ellas están un MMORPG, un arcade y un FPS. Las demás no han especificado género. Lo cual ha suscitado (no es de extrañar) enconadas discusiones en el foro. Es la naturaleza humana tratar de arrimar su sardina a la brasa y los demás que coman sashimi, así que unos quieren un FPS original, otros un buen MMO, otros un RPG al estilo Morrowind. Sí, tengo que admitir que yo me inclino por la última opción (y si analizamos el hilo en el foro, hay casi tantos pedidos de RPG en sus diversas variantes como de FPS innovativos).
Algo que debemos tener en cuenta es que el equipo ganador se enfrenta a la tarea de producir un juego comercial que les reporte algún ingreso. Tampoco espero que cuenten con un financiamiento abundante. Por ello no deberíamos esperar productos excesivamente innovativos o complejos. De estar en su lugar no me arriesgaría con nada que se p…

Distribuciones rolling release

Hace unos días circuló la noticia de que Ubuntu podría dejar el esquema de versiones para pasar a uno de actualización continua. Para los que no estén familiarizados con la idea, que es similar a la de Gentoo (y otras), las versiones desaparecen y las actualizaciones grandes, como un kernel superior, otra versión de X, etc, se van integrando de forma continua en los repos sin necesidad de esperar por un ciclo de versiones. Gentoo maneja dentro del portage dos ramas: una con los paquetes estables y otra con paquetes inestables, los llamados enmascarados. Las "versiones" de Gentoo se refieren al instalador, no a la distribución en sí, ya que todo lo demás puede actualizarse y personalizarse a gusto.
El caso es que Gentoo no está manejando esto de una forma muy óptima o precisa y en otras ocasiones me he quejado de las abundantes inconsistencias. Justo ahora los controladores de Nvidia que necesito están aún enmascarados y además, afectados por un inexplicable bloqueo debido a …

El mar de los scripts

Un detalle que me he encontrado al avanzar en la implementación de la IA mediante scripts es lograr que las acciones se desarrollen a una velocidad más humana. El problema de los scripts es que para cada entidad se ejecutan varias veces por segundo. Si tienes cuatro entidades envueltas en un combate, sucede que cada una puede encolar un montón de acciones de ataque en un segundo o dos o tomar decisiones sobre entidades que en la próxima iteración estarán ya muertas. Me vi obligado a limitar un poco esto, ahora las entidades mantienen solo una acción en la cola. Sin embargo, a pesar de los chequeos que he introducido, esto se parece mucho a la programación multihilo y hay riesgos de que las acciones se ejecuten sobre entidades inválidas. Me parece que tendré que implementar algún tipo de "recolector de basura", que no deseche las entidades muertas hasta algunos segundos después de su muerte.
Esto de la IA ha resultado ser un desafío bastante interesante y al que me gustaría d…

Tech preview retrasado

Engel me señaló algunos problemas en el código actual, que impiden sacar una versión de prueba en este momento. Aunque la idea no es que el proyecto sea jugable, eso no quiere decir que sea por completo inútil. En general los últimos cambios que he hecho en la parte de inteligencia artificial de los personajes han complicado un poco la cosa. Al mismo tiempo, es más lento probar y depurar, porque hay que realizar más acciones para llegar a la misión en cuestión. Me parece que es esencial terminar la salva y carga de juegos.
En este momento estoy trabajando para lograr que la misión inicial funcione correctamente y que la batalla no sea un simple desfile. Eso implica retocar la velocidad con que ocurren las acciones e implementar algo que sirva como pista visual. A pesar de los problemas, estoy alcanzando mi objetivo: un combate a gran escala con decenas de unidades de diferentes tipos en la cual el jugador es un mero participante más (de hecho, puedes escurrir el bulto y dejar que los …

Ponencia no aceptada

Al parecer, el trabajo que presenté para el evento Informática 2011 no será aceptado. Hace unos días me enviaron un correo explicando que había detalles ciertos detalles en la ponencia que no eran de su agrado, a saber: lenguaje poco científico, falta de citas y bibliografía serias y carecer de gráficos o imágenes.
Si por lenguaje científico se entiende salpicar el trabajo con fórmulas esotéricas en letra pequeñita (tampoco es que letra más grande ayude a entenderlas) y términos fuera del alcance de los meros mortales, pues estoy muy jodido porque es algo que no puedo ni pienso hacer. Lo más que podría, por complacer al comité organizador, sería introducir algunas referencias a deferred shading, SSAO o PSSM, deliberadamente ofuscadas en medio de un párrafo acerca de las ventajas de FSAA en el tratamiento de las enfermedades venéreas (no hay infección que se resista a un buen FSAA).
En cuanto a citas y bibliografía, pues parece que en este mundo académico no caminas si no es en base a…