7.31.2005

código del mes

En el juego que estamos preparando para art-futura05 tenemos que hacer un editor para que el usuario se construya sus propios objetos. El juego está fuertemente orientado al 3D, con lo cual el editor tiene que dar un interface sencillo pero que permita controlar perfectamente las 3 dimensiones. Lógicamente el objeto se construye en base a otros más simples que el usuario debe colocar. Aquí es cuando viene el problema, hay que diseñar un sistema que permita que el usuario con el ratón seleccione en su pantalla (un entorno 2D) un objeto que está en un entorno 3D. Para ello OpenGL aporta un mecanismo llamado picking, que dándole las coordenadas del ratón (x,y) te retorna el objeto que se ha pinchado. Dicho así resulta simple, pero tiene algunos escollos que conviene salvar antes de hacer algo decente.

Para resolver el problema he creado una pequeña clase, que, aunque es muy simple, ayuda bastante:


class Picking:
def __init__(self):
pass;
self._buf = 1024*[1];

def Init(self, cursor):

#viewport = [0,0,0,0];
self._buf = glSelectBuffer(1024);

glRenderMode(GL_SELECT);

glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();

viewport = glGetInteger(GL_VIEWPORT);
gluPickMatrix(cursor[0],viewport[3]-cursor[1],
1,1,viewport);

gluPerspective(45,1.3333,0.2,200);
glMatrixMode(GL_MODELVIEW);
glInitNames();
def Push(self,i):
glPushName(i);
def Pop(self):
glPopName();

def End(self):
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glFlush();

return glRenderMode(GL_RENDER);


De esta forma le das las coordenadas del ratón, renderizas indicando los identificadores de los objetos y al terminar te retorna lo que has pinchado.

Lo paradójico del tema es que mirando después la documentación de pyopengl me doy cuenta que en GL__init__.py hay un wrapper muy parecido a este, pero que en vez de usar una clase, usa una función con un callback, que será la función de render.

En fins.. :_)

miedo

Hace no mucho vi en el cine la guerra de los mundos. Aparte de los efectos especiales y toda la parafernalia me quedó impactado como refleja el pánico de las personas ante una situación que no pueden controlar. Hay escenas como la de la pistola o la del barco que reflejan perfectamente lo que estoy diciendo. También lo comentamos en el blog de Jare hace unos días
.

Hace unos días también se nos ha venido encima el incendio de guadalajara. De no ser por los muertos hubiera sido otro incendio más que añadir a la lista de bosques quemados debido a sabe dios que. Lo que me ha impactado y me ha hecho recordar el pánic o que sufrían en la película fue una imagen de informe semanal en la que se veía desde un helicóptero un 4x4 estrellado contra un muro de piedras, el típico que hace de linde entre las diferentes parcelas. Al ver esas imágenes me vino a la mente el momento de angustia que tuvieron que pasar intentando escapar de las llamas a través del humo, conduciendo a toda leche sin ver nada y para remate intentar escapar ardiendo después de que el coche quedara inútil después del golpe. He encontrado una imágen de la escena en elmundo.es que lo dice casi todo.

Espero no verme en una así en mi vida.

7.29.2005

señoras

En esto que voy con un dolor de barriga de la virgen en el bus (por decir algo) y un asiento más alante va una señora de unos 60 tacos, muy bien puesta, se notaba que había salido del pueblo hace muchos años, se intuía que tenía dinero, que había viajado poco en autobús, es posible que su marido no hubiera podido llevarla en su BMW (seguro que es el típico de gorra) y por ello iba a su pueblo en el autobús en el que nos transladamos entre zonas administraticas los plebeyos.

En esto que saca de su bolso blanco, con motivos de color marrón claro, ni muy grande ni muy pequeño, elegante pero informal (casual), se notaba que era de la marca del caballo, un móvil, nokia, claro, y posteriormente la típica agenda con tapas semiblandas marrón claro con un toque de brillante y delimitadores basados en diferentes capas de hojas. A su vez saca las típicas gafas de mirar por encima, curiosamente las tenía guardadas sin ningún tipo de protección, se las pone y comienza a buscar en la agenda. Encuentra lo que buscaba, desbloquea su móvil y marca el número que había en la agenda. Me recordó a cuando mi abuela quería llamar a alguien conocido para darle el pésame, no recordaba el teléfono y tenía que mirarlo en su agenda.

No sabría la buena señora que los móviles actualmente guardan los números de teléfono ? Es capaz de hacer encaje de bolillos y no es capaz de ponerse a teclear 4 letras? A pesar de mi dolor de barriga me he pegado una buena despichada, la señora se ha dado cuenta y me ha mirado con cara extrañada.

7.27.2005

TVCYL

España definitivamente es diferente. Imaginate que tienes una empresa, llegan dos personas tituladas para hacer lo que tú quieras y que sin más les mandas a casa.

Pues eso es lo que han hecho conmigo en TVCYL, mandarme a casa hasta que ellos mismos se aclaren de lo que tengo que hacer yo allí. Yo me descojono entero XDD.

7.25.2005

Sandstorm - 3rd@euskal 13

Finalmente nuestra intro ha quedado tercera de 5. Un buen resultado para ser mi primera intro :). Solo he visto la ganadora en 4kb y creo que es merecida ganadora.

Como curiosidad decir que Ithaqua fue el que puso el título a la intro justo antes de subirla al server de compos ya que no la había puesto nombre XD.

Por último debo dar gracias a bastante gente por haberme echado un cable de una u otra forma: KILE por la ayuda con algunos conceptos de synth, shash y slack por compartir su experiencia en 4kb, sole por la ayuda con el formato IT, a bp y uffix de fuzzion de los tomé ideas para el synth+tools, Ithaqua por el nombre de la intro y por otros muchos cables, herotyc por los conceptos de tracker.

Un último comentario, la 64kb de rgba es bestial, recomedada. Cuando David Grajal me comentó que RGBA había hecho una intro fotorealista no esperaba algo así.

Cuando me duela menos la cabeza subiré la intro y unas imágenes.

YEAH!

7.24.2005

4k@euskal party 13

Finalmente hemos subido la intro al server de las compos :). A ver si le gusta a la gente, una pena no estar allí :(.

Intro 4kb finalizada

Por fin terminé la 4kb que "tenía" que presentar a la euskal party. Digo tenía porque era algo personal después de haber estado haciendo cosas con el synth e investigar un poco como meter todo en 4kb.

Ayer tenía todo terminado salvo la timeline, esto es, la secuencia de imágenes que quería mostrar y en que orden. Empecé usando los típicos if's:

if( Gtime < 40){ camara_1(); }
if( Gtime < 30) { camara_2(); }

sin embargo rápidamente me pasé de los 4kb, no sé porque, pero me pasaba. Con este problea y unos 4300 bytes en el .bat final decidí implementar un sistema que me permitira indicar la posición inicial de la cámara, el avance y la posición a donde miraba. Finalmente he usado el siguiente sistema:


struct CamKey
{
float time;
short ini[3];
short fin[3];
char dir[3];
}
camkeys []=
{
{0.0f ,{0,100,50},{200,200,100},{-40,0,30}},
{5.3f ,{300,400,300},{300,-400,270},{40,0,0}},
{10.6f ,{400,-400,150},{700,800,150},{40,50,10}},
{16.48f,{-500,-500,100},{0,0,0},{20,0,0}},
{17.9f ,{800,800,300},{0,0,0},{-40,0,0}},
....
};

for(i=0;i {
struct CamKey* p = &camkeys[i];
if(p->time < Gtime)
{
pos[0] = p->ini[0] + Gtime * p->dir[0];
pos[1] = p->ini[1] + Gtime * p->dir[1];
pos[2] = p->ini[2] + Gtime * p->dir[2];
dest[0] = p->fin[0];
dest[1] = p->fin[1];
dest[2] = p->fin[2];
}
}


gluLookAt(pos[0],pos[1],pos[2],dest[0],dest[1],dest[2],0,0,1);




que seguramente no sea el mejor sistema, pero que ha resultado ser efectivo.
Después de terminar el timeline (a ver si puedo subir la hoja de papel escaneada donde lo he diseñado) he retocado algunas cosas para intentar dejarlo un poco más vistoso y poco más.


Ahora mismo estoy esperando el feedback del músico (Wonder) para ver si debo cambiar algo y hacer la versión final que debemos presentar antes de hoy a las 19:30 de la tarde.

Estoy contento por haber terminado la 4kb, sólamente hay un punto que no estoy demasiado contento, y lo peor es que no me afecta a mi únicamente , si no a Wonder, ya que la música que va en la 4kb es una prueba que me envió y por falta de tiempo y sobretodo de previsión por mi parte, no ha podido hacer una canción del nivel que habitualmente suele hacer. Espero que me sepa disculpar y poder hacer una buena 4kb para la próxima party :).

7.22.2005

Inconsciencia

LLevo unos días viendo como en mi navegador habitual (firefox) me aparecían pequeños zonas con información acerca de la palabra que había debajo del ratón. No sé porque razón no había prestado ninguna atención, cosa que me parece rara, ya que es habitual sospechar de cualquier cosa cuando llevas ya algunos años navegando. Creo que en mi background (esa parte del pensamiento que piensa, pero que no hago caso) creía que era una nueva forma de palabra patrocinada, esto es, anuncios sobre ciertas palabras clave.

Cual es mi sorpresa al ver que leyendo un texto en inglés desconocía el significado de una palabra y, sin querer, puse el ratón encima de la palabra para copiarla y me la tradujo. Es lo que siempre había soñado, no tener que preocuparme de buscar las palabras que no conozco :). Realmente no sé de donde viene eso, tal vez sea una extensión, tal vez sea builtin de firefox, poco me importa.



Este es el tipo de tecnología que yo quiero, rápida,funcional y transparente para el usuario XDD.

En otro orden de cosas decir que ya tengo completamente funcional mi synth para 4kb, me ha sorprendido lo bien que ha funcionado casi desde la primera prueba. Ya solo me quedan 3 días para terminar la 4kb que voy a presentar en la euskal. No creo que vaya (otro año más), pero no quiero que se quede en la carpeta de olvidados todo el trabajo. En unos días pondré la release, unas shots y un largo post sobre el synth :).

7.18.2005

Televisión Castilla y León

Hace unos días envié una solicitud de beca para hacer unas prácticas en TV esperando que nisiquiera me llamaran. La sorpresa fue por partida triple, porque no solo me seleccionaron, si no que lo han hecho sin entrevista personal, lo que me hace pensar que la pidió poca gente, no sé si por el dinero, por las fechas o qué. Por una razón u otra me han elegido :).

La tercera sorpresa, y más grata, es que se trata de una beca para aprender, y no cualquier cosa, si no algo __realmente teleco__ (sí, aunque no lo creas), esto es, nada de picar código, nada de rellenar fichitas y pasar al PC y nada de hacer trabajo de informáticos u otras especialidades.

Allí estamos, otro compañero de teleco y yo, liados con fibra óptica, antenas, conmutadores, dan ganas de llorar viendo todos esos cables bajo el falso suelo :). De las 5 horas que llevo allí me he quedado impresionado con la matriz de conmutación de video que tienen, incluso gente de periodismo, que apriori no debería saber qué es y cómo funciona, lo maneja con soltura. A medida que vaya conociendo todo iré contando.

Como curiosidades del primer día, he visto como se realiza un telediario y tengo que decir que la presentadora, efectivamente, va en vaqueros, tiene un pedal para avanzar el texto que lee y que no se ajusta al texto, a veces improvisa :). Otro detalle curioso es que, por error de una proveedora de contenido, hoy han repetido el capítulo de la telenovela de por la mañana y las marujas han llamado enfurecidas para protestar. Lo curioso no es que llamaran, si no a quien han llegado las llamadas, que en este caso ha sido a uno de los responsables de continuidad (allí donde se asgura que siempre se emite algo), un técnico al fin y al cabo.

Manitas

En esto que va mi "suegro" y un feliz día se le ocurre montarse una incubadora casera para poder procrear sus propios pollos para su pequeña granja. Después de un mes o así dándole vueltas se coge un frigorífico viejo, le pone dos bombillas para dar calor, un ventilador para distribuirlo, un termostato de horno para mantener la temperatura en torno a los 37 grados y finalmente unos litros de agua en la parte inferior del frigorífico para que hubiera humedad.

Un buen día llega el primer test. Este constó en meter unos 60 huevos de diferentes especies, entre las cuales destaco gallinas, codornices y perdices, y después de completar los correspondientes días de empolle el resultado es el siguiente: 59 huevos no eclosionaron y uno de codorniz lo hizo.

El problema de todo esto es que el único pollo que consiguió salir se metió entre las rendijas de la bandeja del frigo y terminó ahogado en los litros de agua que había abajo. Total, que nace un pollo y se termina ahogando.

un caso XD

7.12.2005

una de "baqueros"

Me llega a mi correo una oferta de infojobs en la que piden un programador de visual c++ en linux. No sé si la empresa sabrá muy bien que es visual studio, qué es linux y qué es la vida.

Dije que mantendría cierto nivel en los post, pero es que cosas de este tipo no pueden quedar en la sombra.

7.11.2005

Las frikadas cuentan

Hace unas horas he llegado de vivir mis terceros sanfermines. Apenas he dormido en 3 días en los cuales nos hemos dedicado a beber, comer y dormir y en los que ha habido anécdotas de las típicas que cuentas a todo el mundo. Los sanfermines son para gente sin sentido común, todo __llenísimo__ de gente, hasta niveles insospechados, niveles que no creo que pueda describir nunca, sin ir más lejos esta misma mañana resultaba imposible salir de uno de los bares en los que intentamos bailar.

Este post no es para contar mis aventuras y desventuras en tierras navarras (aunque hay algunas buenísimas XDD), es para comentar algo que me ha llamado la atención. El primer día observé que mucha gente, en su mayoría guiris, llevaban camisetas en las que hacían publicidad de una web ( golden-palace.com), cosa que no me resultó demasiado raro y a lo que no presté mucha atención a primera vista, sin embargo haciendo un análisis del tema se pueden sacar conlusiones interesantes. Imaginemos que hacemos unos miles de camisetas blancas con la url de mi web en color rojo y que además pongo un torito en la manga, e imaginemos que las reparto a diestro y siniestro a la gente en sanfermines, el resultado de tanta imaginación es una publicidad baratísima y con un nivel de alcance increíble, sobretodo teniendo en cuenta que los encierros los dan íntegros por televisión varias veces al día en todas las cadenas nacionales (desconozco si en canales internacionales o de otros países lo hacen). Hay que tener en cuenta que el traje oficial de sanfermines es blanco (para poder lavar con lejía después, aunque algunos no lo hagan) y pañuelo y fajín rojo, con lo cual la camiseta que regalan te viene de perillas para esos días.

La cosa no queda ahí, parece que el casino-online está haciendo la típica publicidad en base a frikadas, como por ejemplo tatuando a una mujer la url en la frente o patrocinando una carrera de matrimonios en las que los hombres deben llevar a las mujeres a cuestas.

Ah! y para remate parece ser que un ex-deportista de la NBA (no recuerdo su nombre) está también muy metido en el ajo porque le he visto en dos de tres frikadas, incluído uno de los encierros en el que corrió y, como no, las televisiones lo filmaron bien filmado, a cámara lenta y con circulito en pantalla para que la gente vea con claridad la calva del señor y ya de paso la url del mencionado casino-online para que puedan utilizar su flamante PC con ADSL como algo más que un "terminal emule" (concepto acuñado por un buen amigo y que describe perfectamente el uso del PC en la actualidad). Una estrategia perfecta.

7.07.2005

art futura y planificación

Desde hace unos días estoy escribiendo un verdadero devlog, digo verdadero porque el apellido de este es "devlog" ya que cuando lo cree hace un tiempo se suponía que lo usaría para escribir en él mis avances en el trabajo, cosa que finalmente no hice y que, como veis, he usado para hablar de programación, de la vida y, sobretodo, quejarme.

Hace unos días zwitter de devilishgames me propuso hacer un juego en base a una idea que tenía desde hace tiempo. Está claro que no podía decir que no a una proposición de preparar un juego para art futura y en cuanto me describió, con un render de los protagonistas, la mecánica del juego me puse manos a la obra.

El primer paso es, como no, mirar el periodo de tiempo que tenemos para terminarlo y es entonces cuando llega la primera noticia, un mes y medio tienen la culpa. Visto esto me puse echando leches a pensar cómo orientar el juego, qué herramientas necesitaría para crearlo, qué documentos debería hacer, cual es la mejor forma de mostrar ciertas cosas al usuario... éstas decisiones y muchas más son las que he decidido plasmar en el nuevo blog, esta vez orientado específicamente al desarrollo del juego. La peculiaridad, y a la vez dificultad añadida para mi (y espero para zwitter), es que no puedo desvelar absolutamente nada de la clave del juego ya que es una idea que conviene no destapar... :). Sin más, espero que, a quien le interese, le guste el nuevo blog

7.01.2005

game over

Me propuse mantener cierto nivel en los post del blog y no aburrir con las historias de todos los días, pero por fin he aprobado TDS, y no puedo reprimir mi ilusión, una demodulación AM con un sistema de seguridad incluído (no es nagravisión, pero similar) me ha servido para quitarme de encima la última asignatura de la carrera.

Ahora al por el PFC, he encontrado uno que sé que a mi padre le hubiera encantado, que como dirían las personas personas religiosas o con demasiada tradición, seguro que lo verá desde alguna parte.