Ir al contenido principal

Entradas

Mostrando entradas de enero, 2006

Ya está

Luego de un hack bastante sucio solucioné el problema del mapeo de texturas. Agregué un glTranslatef(x,y,z) al inicio y un glTranslatef(-x,-y,-z) al final, como me recomendaron en los foros de gamedev, en vez de sumar las coordenadas a los vértices. La imagen no se ve muy bien, pero por lo menos funciona, incluyendo las animaciones. Solo me resta integrarlo al proyecto.

Escritorios ligeros

He estado probando XFCE 4 en CentOS. Como estoy en proceso de instalar Gentoo, andaba en busca de opciones de escritorios ligeros. Por el momento estoy impresionado con la ganancia de velocidad, indudablemente KDE estaba haciendo mi sistema tremendamente lento. En cuanto termine la instalación pienso echarle un vistazo a fluxbox, que se ve muy bien.

Gentoo LiveCD

Hoy me di a la tarea de instalar el Gentoo en mi disco duro utilizando el LiveCD y el nuevo Installer. Hasta el momento mi conclusión es que ni el LiveCD ni el instalador sirven para nada. El LiveCD se deja fuera un monton de herramientas utiles como por ejemplo ftp y no me permite montar memorias flash. No incluye stage, pero sí un portage y el instalador se las arregla para no encontrar de ninguna forma el stage, no importa dónde lo pongas, ya sea http o ftp. No tengo experiencias con Live CDs si exceptuamos uno de recuperación, pero éste me parece extraordinariamente lento, abrir una terminal toma unos 15 a 20 segundos en un P3 a 700 Mhz. De modo que me voy por la vía difícil y lo instalaré a mano desde el CD tradicional, que en mal momento decidí borrar.

Sanidad mental

Si pasan por aquí y se encuentran con algunos disparates no se sorprendan. Puede ser que me haya vuelto definitivamente loco. En estos momentos estoy trabajando en dos novelas y un cuento, leyendo La rueda del Tiempo, diseñando el formato de mapa (dos versiones diferentes: para Open GL y para OGRE) , escribiendo el parser para la lectura de esos mapas, integrando un nuevo formato de archivo 3d al proyecto, creando un GUI desde cero, agregando soporte de sonido con Open AL, soporte de archivos ogg, ajustando la autenticación, tratando de estudiar matemáticas y supervisando el proceso de diseño del proyecto online.

Mas de ms3d

He logrado aislar un poco el problema. Al parecer no andaba tan errado al suponer que solo bastaba sumar las coordenadas del punto donde quieres colocar el modelo a las coordenadas de los vértices. El fallo consiste en que las texturas no se mapean correctamente y el modelo se ve mal. Ando en busca de soluciones.

ms3d

Luago de un poco de deliberación decidí echarle un vistazo al tutorial de carga de archivos ms3d de Milkshape. Este formato soporta animación esqueletal, y animar con Milkshape es relativamente fácil, incluso si no tienes muchas nociones de modelado. Estoy en proceso de modificarlo e integrarlo a mi proyecto. No puedo mostrarles una imagen aú porque por alguna razón, aunque se ve perfectamente en pantalla, las capturas quedan tan oscuras que no se aprecia nada.

FUD, FUD, FUD...

A través del meneo llegué a la noticia de la futura salida de Firefox 2.0 alfa. Pensando en que tuvimos la 1.5 hace muy poco tiempo, me acuerdo del rumor hace unos meses de que Firefox era mantenido por apenas 8 personas, de las cuales sólo una estaba trabajando "de vez en cuando". De ser cierto, es un tipo muy productivo. En menos de seis meses fueron desde la 1.0.5 a la 1.5 y la 2.0 nos toca las puertas. Aunque no veo por qué razón los saltos tan grandes (no creo que los cambios justifiquen saltar de la 1.0.x a 1.5 sin pasar por la 1.1, y de ahí directo a la 2.0), lo cierto es que Firefox avanza.

Soporte de sonido

Hace unos días que vengo planteándome agregar el soporte de sonido al proyecto. Planeaba utilizar sdl_mixer, pero luego conversación con mi almohada ésta me señaló que estaba violando uno de mis preceptos: si vas a aprender algo, aprende lo mejor. Así que volví a descargarme el SDK de Open AL y echarle un vistazo a la documentación.
El primer paso es implementar buffering para audio continuo (la música de fondo). Hay un ejemplo en devmaster.net, pero cuando lo incorporé al proyecto anterior no me funcionaba. Volveré a intentarlo.

Monitor LCD 3d de Sharp

Sharp ha puesto en venta un monitor 3d, donde los gráficos aparecen fuera de la pantalla y no necesita de gafas especiales. Este LCD de 15 pulgadas también permite cambiar a modo 2D mediante un botón. Está diseñado lo mismo para disfrutar juegos que para aplicaciones científicas como visualizar estructuras moleculares.

El principio de funcionamiento consiste en una segunda pantalla LCD, que cuando se desactiva, permite el modo de operación 2D. Al activarse, la luz proveniente del LCD primario es dirigida de forma que las columnas impares de pixeles son enfocadas hacia el ojo izquierdo y las pares hacia el derecho. El cerebro se encarga de hacer el resto del trabajo sucio (y aún así te cobran 1400 estacas).

Leyes sexuales

Via www.idreamofporn.com, aquí van algunas de muestra:
Ley islámica: es pecado mortal comer la carne de un cordero si has tenido sexo con él.
Arizona: Es ilegal que dos personas que no estén casadas tengas sexo. La pena podría ser de hasta tres años de prisión. También en Rhode Island y Texas.
En California, Rhode Island, Dakota del Sur, Maryland, Utah, Nuevo México y Florida el sexo oral está prohibido, con penas de hasta 20 años de cárcel en este último estado.
En Kansas el sexo anal se paga con hasta 6 meses de prisión. En Maryland, con hasta 10 años. En Nebraska, con $5000 y 10 años. En Carolina del Sur, $500 y hasta 5 años.
En Buckfield, Maine, el chofer de un taxi no puede cobrarle a su cliente si han tenido sexo mientras regresan a casa desde un expendio de licores.
En Michigan es ilegal masturbarse.
Alexandria, Minnesota: es ilegal que el esposo tenga sexo si su aliento huele a ajo, cebolla o sardinas.
Nevada: es obligatorio usar condón para tener sexo con prostitutas (unos tipos inte…

Solucionado el problema

Luego de preguntar en gamedev y verificar algunas cosas encontré un error que em estaba molestando desde que implementé la autentificación contra la base de datos. El problema era que nombré un campo "user" y Postgres al realizar las consultas me devolvía en lugar del valor de la tabla el nombre del usuario que realizaba la consulta. Renombré el campo a username y ya funciona adecuadamente el select.
Como un plus, me dieron un consejo. Tenía pensado en caso de un login fallido informarle al usuario si la contraseña era incorrecta o si simplemente había escrito mal el nombre. Pero me advirtieron que de este modo un posible atacante solo tendría que hacer M+N búsquedas para encontrar un nombre de usuario válido y su contraseña. Sin embargo, si solo le informo que hay un error de usuario/contraseña, tendrá que hacer M*N intentos para encontrar el par válido.
De igual forma, tengo pendiente implementar una validación de el nombre de usuario y contraseña para evitar posibles ataq…

Errores de Windows

Esto ya lo he visto en otras ocasiones, pero en ésta me animé a hacerle una captura. Si comparan la barra de direcciones con lo que está seleccionado en la barra de carpetas verán que son distintas y por supuesto el listado de archivos mostrado no corresponde a la carpeta seleccionada a la izquierda.

Autenticación contra base de datos

Luego de implementar el soporte de postgresql la primera tarea que emprendí fue lograr pasar la autentificación a la base de datos. Ahora tengo una tabla con las cuentas globales, que serán únicas. Cada cuenta podrá tener varios personajes, pero pienso guardarlos en archivos xml, que serán "locales", o sea, estarán en la misma máquina del servidor y como es habitual, los personajes creados en un servidor no estarán disponibles en otro.
Por el momento tengo algunos problemas con la consulta sql, pero con el tiempo se resolverá. Además he estado trabajando en un sitio para el proyecto, pero aún no sé dónde hostearlo.

Ya estoy de vuelta

Debido a un error estuve sin internet justo desde el día que regresé de las vacaciones de fin de año.Me estoy poniendo al día, así que espero recuperar el ritmo a partir de mañana.