jueves, agosto 30, 2007

Más imágenes

Ayer terminé el soporte de gamestates. Tal vez no sea la solución más óptima, pero al menos funciona. Me basé en los tutoriales del wiki de ogre y algunas ideas mías.
En esencia un gamestate es una clase que escucha los eventos que le envía el gamestate manager. O sea, es un frame listener, key listener y mouse listener. Además, contiene las funciones a las que se suscriben los eventos de los elemntos de CEGUI utilizados. Cuando un gamestate concluye su ejecución, retorna un valor indicando la acción a seguir a continuación, ya sea abandonar, o iniciar otro gamestate.
Aunque aún quedan muchas cosas por pulir pueden ver los estados en acción en las siguientes imágenes. Primero el menú principal. Por el momento desde aquí podemos salir o seguir al estado de juego.
Este es el estado de juego.

Tengo pensado sumar un estado más, para escenas cinemáticas dentro del juego. Eso aún demorará un poco pues requiere de un soporte de scripts más avanzado.

miércoles, agosto 29, 2007

Silver Tree alcanza su primera versión

Descubrí este proyecto en Linuxjuegos. Por diversas razones no he logrado que funcione bien, pero viniendo de quien viene y con lo que se puede ver, promete mucho. Acaban de liberar la primera versión, 0.1. A ver si el panorama de los RPG en Linux cambia un poco.

lunes, agosto 27, 2007

Breve tutorial de Ninja Wars

Es un poco tarde para iniciarse en Ninja Wars, pero les adelanto que "pronto" se abrirá el universo 2. Entre otras cosas habrá más familias, el sistema de posiciones cambia, pero la esencia permanece igual.
En vistas de que la documentación disponible en el foro no explica muchas cosas, aquí he reunido algunas de mis experiencias con el juego para facilitar el comienzo a quienes quieran probarlo. No me detendré en la interfaz y otras cosas obvias, sino que iré a lo más importante.
Para empezar, en NW diriges un "equipo", por llamarlo de alguna manera. O sea, cuando cada cuenta de usuario puede tener varios personajes, de hecho el juego exige tener por lo menos 4 o 5 para poder utilizar el sistema de rangos. Recomiendo crear por lo menos dos desde un inicio.
El proceso de creación es sencillo, cada personaje cuenta con dos atributos: defensa y ataque, y tres habilidades: taijutsu, ninjutsu y genjutsu. Cada técnica emplea combinaciones de habilidades y atributos para calcular el daño inflingido o defendido. Por tanto, es bueno recalcular estos valores hasta obtener los más altos posibles. De todas formas no esperes sacar más de 20. La familia que escojas determina las técnicas especiales que puede usar tu personaje. Para más detalle remitirse al apartado de técnicas.
Una vez que tengamos nuestros personajes iniciales, pues lo mejor es darles algo de entrenamiento antes de combatir. Cada entrenador tiene un precio por hora y una probabilidad determinada de incrementar las habilidades (Iruka, 10%; Kakashi, Gai y Kurenai un poco más). Si entrenas más de cinco horas hay un sistema de repesca que hace otra tirada si fallas el entrenamiento. Sin embargo el método más efectivo es entrenar solo una hora, y así sucesivamente. Pero a bajo nivel solo podrás entrenar con Iruka, hasta un límite de 50 en cada habilidad. Deberás alcanzar nivel 3 para poder entrenar ocn Kakashi (solo nin), Gai (solo tai) y Kurenai (solo Gen). Existen más entrenadores (como Yamato) pero en este momento solo los jugadores de muy alto nivel tienen acceso a ellos. Es común que alcances el límite y tengas que esperar subir uno o dos niveles para alcanzar un entrenador superior. Así que es recomendable que no consumas los puntos que recibes al obtener un nivel y los acumules. Cuando llegues al límite, distribuye todos esos puntos.
Aunque el juego se ajusta a las habilidades mostradas en el manga/anime por cada familia, en la última actualización se introdujeron un conjunto de técnicas estándar (genjutsus defensivos, bunshin, etc) para obligar a que cada personaje entre todas las habilidades. O sea, que aunque no veamos en la serie a los Nara usando genjutsu, en el juego sí podremos entrenar el gen y utilizar muchas técnicas interesantes. Recomendación: estudia la sección de técnicas y asegúrate de entender bien qué habilidades tributan a las técnicas que has seleccionado, concéntrate en subir esas habilidades primero.
Una vez que tengamos algunos puntos ya podemos combatir. El mejor modo de saber si vamos bien es comparar nuestras habilidades con las de los jugadores que tienen retos abiertos. No es bueno abrir retos con puntajes bajos o serás presa fácil.
Si hay algo bastante original y por tanto chocante al principio es el sistema de combate de NW. Para empezar, es por turnos. Un personaje inicia la pelea, el otro responde, y así sucesivamente. En un turno puedes hacer dos movidas de defensa y dos de ataque. Una de esas movidas es esándar, o sea, común para todos los personajes. Los movimientos de defensa y ataque especial son específicos de cada familia. Las técnicas tienen una distancia, debes comprender el sistema de distancias para atacar y defenderte con efectividad, pero por suerte en la FAQ está muy bien ilustrado. Este sistema será enriquecido en la próxima actualización. Además de las movidas de ataque/defensa tienes una tercera jugada, que es la explosión de chakra. Es normal que el chakra no alcance para ejecutar las técnicas, así que tendrás que sacrificar un poco de vida a cambio de un poco de chakra.
Por el momento, esto es lo más importante. Trataré de actualizar esta guía a medida que me acuerde de cosas.

domingo, agosto 26, 2007

Shady, el directorio de shaders

El objectivo de Shady es ser un repositorio de programas GLSL, CG y ARB. Aún es muy nuevo, así que no hay muchas cosas y además se considera en estado beta.

sábado, agosto 25, 2007

El padre de Naruto podría no ser el Cuarto Hokage

Aunque falto de acción, el manga de esta semana ha revelado así como si nada dos detalles realmente impactantes. Primero, el nombre del Cuarto, Namikaze Minato. A decir de Jiraiya, un hombre con un talento que a lo sumo puedes ver uno en una década.
El segundo nombre, pues nada más y nada menos que el de la madre de Naruto, Uzumaki Kushina, una ninja del antiguo país del Remolino. Según Tsunade, muy similar a su hijo en sus técnicas y carácter.
No estoy muy ducho en las costumbres japonesas para los apellidos, pero se rumora que esto significa que el Cuarto no es el padre de Naruto. Sin embargo, Jiraiya dice que casi ve a Naruto como su nieto, lo cual me hace pensar que las cosas no están muy claras como parecen a primera vista.

viernes, agosto 24, 2007

Más CEGUI II

Les debía el código, así que busqué un poco para ver cómo evitar que se deformara el xml y aquí está. Abre el archivo TaharezLook.looknfeel y busca FramWindow. Dentro de la sección de FrameWindow busca esto:

<Child type="TaharezLook/Titlebar" nameSuffix="__auto_titlebar__">
<Area>
<Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
<Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
<Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
<Dim type="Height" ><FontDim type="LineSpacing" padding="8" /></Dim>
</Area>

Y cambia la penúltima línea, que indica que use la altura de la fuente para el alto de la barra de título por esto:

<Dim type="Height" ><UnifiedDim scale="0.02"
type="Width" /></Dim>

En este caso uso 0.02, o sea, que la barra ocupe un 0.02 del alto del elemento padre. El segundo paso es eliminar el botón de cerrar, que se continúa mostrando (ahora mucho más chico, pero sigue ahí).

bar->setProperty("ClosedButtonEnabled", "false");

Eso es todo.

jueves, agosto 23, 2007

Más CEGUI

Ya nos vamos entendiendo.
La barra de botones de acceso rápido costó lo suyo, es el primer elemento de CEGUI que hago desde el código y además requirió modificar el tema Taharez. En CEGUI, el único contenedor arrastrable es el FrameWindow, que por defecto trae una molesta barra de título y el botón de cerrar, aunque éste no haga nada. En el primer caso, una pequeña modificación lo soluciona: cambiar el tema y en vez de lo que dice, poner otra cosa para ajustar la altura de la barra y hacerla mínima. No es conveniente desaparecerla del todo porque entonces no hay por donde cogerla para el arrastre. En el segundo caso, cambiar la propiedad CloseButonEnabled es suficiente.
Me quedan montones de errores, pero supongo que necesitaré un desarrollador experimentado para rehacer la parte gráfica. Por el momento me limito a poner lo necesario para apoyar las ideas que tengo, que son simplemente implementar el motor de scripting, diálogos y quizás el sonido.

miércoles, agosto 22, 2007

CEGUI desde el punto de vista del programador

La mejor opción para controlar la creación y ubicación de elementos de CEGUI es mediante layouts. Sin embargo, hoy no tenía deseos de enredarme en crear uno, debido principalmente a que entendí mal algo que leí y quería crear los elementos directo en el código.
En principio no es tan difícil, lo que tiende a confundir es el sistema de CEGUI de dimensiones unificadas (UDim). Esto significa, en buen castellano, que puedes mezclar coordenadas absolutas y relativas, hacerte un lío con ello y de paso escribir código más ilegible que en perl.
Echen un vistazo a los siguiente:
CEGUI::UVector2( CEGUI::UDim(0.05f,0), CEGUI::UDim(0.05f,0) )
Hermoso, ¿no? un verdadero deleite para los ojos. Todo eso para especificar una posición en pantalla.

martes, agosto 21, 2007

Ogre 1.4.4

Nueva versión de mantenimiento de la rama Eihort, que va a toda máquina (me pregunto qué nos espera para la próxima rama). Los cambios son poco significativos: modificaciones en el SDK para Mac e inclusión de una nueva aplicación -MeshMagick- en el paquete de las herramientas de línea de comandos.

viernes, agosto 17, 2007

Opening y ending de Naruto modificados

Con motivo del estreno de la nueva peli del shinobi más insoportable de Konoha, el capítulo 24 de Naruto Shippuuden cambia los clips de inicio y final. Aunque la música no cambia ahora vemos imágenes de la cuarta película, que dicho sea de paso se ve muy buena. Nada que ver con la tercera que francamente no es nada del otro mundo.
En el nuevo filme veremos a muchos más personajes de lo habitual, Neji, Lee, Shikamaru, Kiba, Ino, Chouji, todos en versión "shippuuden", o sea, ya mayorcitos. No puede faltar la correspondiente pandilla de ninjas ultra-raros con jutsus nunca vistos. Por supuesto, los filmes son relleno, así que no esperen ver técnicas nuevas de Naruto, eso sí, prepárense para ver un doble Rasengan (uno con cada mano).

jueves, agosto 16, 2007

Vista isométrica en 3D

En estos días estuve investigando sobre la implementación de una vista isométrica en Ogre 3D. La idea es proporcionar un look similar al de los viejos clásicos (Fallout Baldur's Gate) potenciado con funcionalidades 3D como rotación de la cámara, shaders, etc.
Aunque con la proyección normal se puede lograr, el efecto más óptimo se obtiene usando la proyección ortográfica. En proyección ortográfica no hay efecto de perspectiva, o sea, que los objetos alejados no se ven más pequeños. Y bien, ¿qué tiene de importante esto? Luego de darle muchas vueltas y observar ambas proyecciones, llegué a la conclusión de que sí importa.
En perspectiva, los objetos ubicados hacia la parte "superior" de la pantalla obviamente están "más lejos" de la cámara, y al revés para los objetos que quedan en la parte inferior. Esto puede reducirse alejando bastante la cámara para hacer aún más imperceptible (de por sí es difícil de notar) el efecto de perspectiva.

Aquí pueden ver el resultado. Sin embargo, no me resulta fácil controlar la escena en proyección ortográfica, precisamente porque no hay perspectiva y a cualquier distancia los objetos se ven de igual tamaño. Pero con algo de tiempo y pruebas espero lograrlo.

miércoles, agosto 15, 2007

Opengl 3

Esto ya es un poco antiguo y no me había enterado de ello. Al parecer a finales de este mes se ultiman los detalles del estándar OpenGL 3, que luego de 30 días se hará público y efectivo. O sea, que sepetiembre se despide con una nueva versión de este veterano y potente API.
Los cambios se van a hacer sentir, entre los objetivos llama la atención una frase: Esto no es 1992. O sea, que existe el propósito de ponerse al día con las nuevas funcionalidades del hardware y actualizar tantas cosas que OpenGL va a ser muy distinto a partir de Octubre (o desde que los cambios se implementen en los drivers). Otras cosas a señalar: mayor rendimiento y simplificar el desarrollo de aplicaciones y drivers.
Mejor será que DirectX 10 se ponga las botas. Hay algo por ahí acerca de un 10.1 que ha enojado a mucha gente, que pagó una pila de billetes que no la brinca un chivo con los zapatos de Michael Jordan por tarjetas de última generación, que ahora resulta que no van a funcionar como se les dijo.

lunes, agosto 13, 2007

Migración completada

Bueno, ha costado lo suyo y aún tengo pendiente un dolor de cabeza por la tensión de estos días. Pero al fin, he migrado el servidor principal (y único que tengo) de Centos 4 a Gentoo 2007.0. ¿Por qué lo hice? Pues me cansé de los repositorios limitados y de las aplicaciones que se quedan estancadas en una rama y que para actualizarlas hay que actualizar todo el sistema a una versión superior. Me cansé de tener montones de cosas que no necesito y paquetes con soporte para cosas que no uso. Con Gentoo tengo acceso a un repositorio con casi todo lo que pueda necesitar, en el cual las aplicaciones no se congelan, sino que cuando las nuevas versiones se consideran estables, simplemente dejan de estar enmascaradas y ya puedes instalarlas. Por lo cual, puedes mantenerte al día sin necesidad de esperar a la próxima versión de la distro.
En fin, creo que no echaré de menos a Redhat. A pesar de que fue mi primera distro (si descontamos un breve experimento con Slackware), sencillamente ya no se adaptaba a mis necesidades. También hay que decir que he chocado con muchos problemas en estos días y que he tenido que solucionar a mano, preguntando, buscando y tirando piedras, porque aquí si que no hay herramientas gráficas para configurar. No puedo decir que sea más inteligente que hace dos días pero sí que he descubierto cosas nuevas.

sábado, agosto 11, 2007

Ausente

Desde ayer estoy enfrascado en la tarea de migrar de Centos a Gentoo. Las cosas no han ido nada bien, aunque algunas se han resuelto. En cuanto pueda regreso.

martes, agosto 07, 2007

Otra vez, los clásicos

Pero ahora se trata de juegos, no de literatura. Tengo el honor de haber sido el poseedor del primer CD de Fallout 2 que entró a Santiago de Cuba (a menos que alguien demuestre lo contrario). Me lo trajo mi primo de Inglaterra, una copia, por supuesto, pero con su etiqueta en colores tan bonita que parecía original. Recuerdo que cuando lo probamos en un Joven Club de Las Tunas no logramos entenderlo. El género era aún desconocido y la interfaz aún hoy luego de haberme fogueado en muchos títulos, me confunde.
El anciano disco ya no existe hoy. Lo presté a alguien y rodó por muchos lugares antes de desaparecer, no sin antes enviciar en el género del rol a varios amigos míos y tal vez a otros que no conozco.
No es que me repita, pero oyendo las justificaciones de por qué Fallout 3 es primera persona -que la inmersión, que la experiencia de juego- me di a la tarea de obtener el Fallout 2, que fue el que jugué hace ya casi diez años. Ayer ya lo había descargado y a pesar de una terrible migraña dediqué parte de la mañana en la oficina y toda la tarde en casa a jugarlo.
Si tienes un martillo todos los problemas te parecerán clavos. Si tienes el motor del Oblivion, todos los juegos, sin duda alguna, te parecerán primera persona. Eso es lo que pasa cuando el interés comercial prima sobre el interés del jugador. Tienes un motor de última generación que ha costado una pasta ¿y lo vas a usar para hacer un isométrico? Eso no se lo cree ni Bush, que oye hablar a Dios.

jueves, agosto 02, 2007

Cosas atrasadas

Pues he estado un poco ocupado en estos días y me he atrasado. No he podido trabajar en ninguno de mis proyectos y eso me molesta un poco, pero espero reiniciar la marcha a partir de la semana próxima.
Hay algunas cosas que me gustaría comentar, para no perder el ritmo.
Para empezar, hace dos días recibí mi primer envío de CDs de Ubuntu 7.04. Espero recibir el segundo pronto, para la arquitectura de 64 bits. Apenas le eché una mirada y realmente no me llamó mucho la atención, nunca he sido un fan de los LiveCD. Tampoco planeo instalarlo, pero nunca está de más tenerlos.
Lo segundo, hoy terminé de leer Harry Potter. Gracias a una larga sesión de lectura en la madrugada, mientras llenaba de agua los tanques (sí, aquí en mi barrio el agua a veces llega sobre las 3:00 AM) adelanté en las últimas páginas. Acaba una de las sagas más polémicas de nuestra época, lo que pueda expresar con mi pobre oratoria es poco y dejo ese trabajo a otros. A pesar de ser muy largo se deja leer y el final nos sorprende cuando pensamos que todavía falta. Un libro que sin duda ya no se puede considerar infantil y que escapa un poco de la estructura habitual de las entregas anteriores.
Otro hecho curioso, desde el día 17 de julio más o menos los feeds del blog han experimentado una explosión de popularidad sorprendente. Supongo que podría ser la nueva opción que permite a Blogger redireccionar los feeds a Feedburner por sí mismo, así que ahora todo el que se suscriba autmáticamente estará contabilizado. Ahora tengo hasta 77 suscriptores, todo un récord. Saludos a mis lectores y gracias por estar ahí.

miércoles, agosto 01, 2007

Meme

Javi, desde Incognitosis me ha concedido el honor de seguir un meme: ocho cosas que no sabes de mí. Me resulta bastante difícil porque aunque no suelo hablar de mí en este espacio, de vez en cuando dejo caer algunas cositas sueltas sobre mi vida personal. Así que a empezar.
  1. Yo tampoco he terminado la universidad. Aparte de ser vago, soy muy mal estudiante, actualmente ostento el dudoso récord de ser uno de los tres alumnos más antiguos de la especialidad de Ciencias de la Compuatación de la Universidad de Oriente, con casi 10 años en la carrera.
  2. Me gustan los deportes (aunque soy muy malo). Actualmente practico con sistematicidad el EBMAS Wing Tzun.
  3. Me gusta escribir, pero casi nunca termino lo que inicio. Tengo una novela en proceso de revisión y mejora, aunque tal vez nunca salga de mi círculo de amigos cercanos.
  4. Tengo 32 años y vivo con mi padre.
  5. Tengo novia (sí, y no se llama Manuela).
  6. Soy terrible en los multiplayer de RTS y FPS. Prefiero los juegos de rol, y que sean lo más conservadores posible. No me gustan las innovaciones.
  7. Me enoja que me interrumpan cuando leo, juego o veo la TV.
  8. No bebo y no fumo, excepto ciertas cosas que ya mencioné en una anotación anterior.
No tengo amigos blogueros, así que no sé a quién pasárselo. Si alguien se anima, pues me deja un mensaje y lo pongo aquí.