javisantana.com

Trabajo: capítulo I

Desde hace ya un tiempo me han llamado para alguna que otra entervista laboral, lo cierto es que solo en una de ellas he caído en gracia, aunque después la cosa no fructificara.

Aún recuerdo la prueba de selección de deloitte con cierto agridulce ya que además de ser la primera, fue un cúmulo de sorpresas. Tambien he pasado por tecsidel, esta vez era para unas pruebas psicotécnicas y tecnológicas para una beca en la que finalmente ni me llamaron, lo cual no me extraña, ya que salí cabreado (conmigo mismo, *ejem*). Buen sabor de boca me quedan en mis 3 entrevistas en TID( y 2), dos de ellas para una beca (me llamaron para una tercera pero ya estaba trabajando) y otra más a través de TCPSI, ya con fines laborales serios (nada de becario). Finalmente hace cosa de dos meses, quizás más, me llamaron para otra entrevista, en una empresa formada por dos personas que se dedicaba al I+D. De esa entrevista no he comentado nada aquí y aunque para mi fue muy bien (me sentí agusto), para ellos no debió ser tan buena porque no me llamaron. AH! y otra en cap gemini en el rollo ese que montan en industriales todos los años (FIBEST).

Resumen: deloitte, TIDx3, tecsidel, TVCYL, la empresa de i+d y capgemini. Total 8 entrevistas, “superadas” 1 :), menudo ratio más malo.

Hace cosa de una semana recibía una llamada de GMV madrid, intuyo que de RRHH, diciéndome que habían recibido mi CV a través de infojobs. Me hicieron unas preguntas, imagino que con triple sentido, los de RRHH nunca sabes lo que quieren saber, con lo cual me limité a responder la verdad, así nunca me confundo. Lo que me preguntaron fueron las cosas que más o menos te preguntan siempre, cosas que has puesto en el currículum y las que no has puesto pero que quieren saber: por qué dejaste los trabajos, cuando comenzaste la carrera, cual fueron los pfc’s de las carreras, qué tecnologías estaban implicadas en ellos… etc. Mañana tengo la entrevista, supongo, técnica. En principio la empresa me atrae bastante, no solo por lo que se puede leer en su página web, si no por algunas de las conferencias a las que he ido durante mi estancia en la universidad.

Asi que mañana me enfundaré el traje, cosa que me desagrada ligeramente. En otras entrevistas he ido vestido normal, como voy siempre, que es como si consigo el trabajo iré en un futuro. Me parece que si voy así peco de hipócrita, aunque hay una regla no escrita que dice que tienes que ir bien vestido, psé, cosas de esta sociedad de apariencias. A pesar de ceder en este aspecto, a lo que no voy a renunciar es a ser sincero en la entrevista, no tengo problema en decir que no sé hacer y qué se hacer bien, es mejor no llevarse a engaños.

Mañana el desenlace. Más información en próximos capítulos :)

Usando filtrado de señal en videojuegos

Aviso: frikada
De las cosas que más me gustan es poder aplicar lo que he aprendido a situaciones para las cuales no estaban aplicadas. Cuando estudias electricidad te enseñan lo que es una resistencia, lo que es un condensador, una bobina, los mezclan en ciucuitos de mil maneras y te muestran las ondas que se producen en cada uno de los elementos.

Por otro lado, en los típicos tutoriales de programación gráfica, en aquellos que te enseñan como recoger desde tu programa las pulsaciones de teclado y aplicarlas a la rotación de un cubo. Para rotar un cubo fuciona bien, pero cuando te pones a aplicarlo al juego de naves que estás programando funciona no demasiado bien, hay discontinuidades y no se parece nada a como funciona en los videojuegos “de verdad”.

Y qué tiene que ver una cosa con otra? volviendo al tema de los circuitos, el caso habitual era intriducir en el cirucito una tensión en forma de salto para ver como se comportaba el circuito. En la siguiente figura se muestra el comportamiento para diferentes valores de los componentes (arriba la entrada, abajo la salida):

(fuente figura)

Este tipo de filtros se puede aplicar a la entrada de teclado o al movimiento de un objeto para hacerlo más suave.

Por ejemplo, queremos que un objeto se desplace a una velocidad V, lo que se suele hacer es:
obj->vel = V;
obj->pos += obj->vel*delta;

Pero imaginemos que se quiere hacer que acelere suavemente: Se puede, usando un filtro de orden 1:

obj->targetVel = V;
obj->vel += (obj->targetVel - obj->vel)*cte;
obj->pos += obj->vel*delta;

De forma que si falta mucho para llegar a esa velocidad, lo hará más rápido que si falta poco para llegar. Este sería el caso “overdamped response” de la figura. La constante es un factor que indica la velocidad con la cual llegará a la velocidad deseada o en otras palabras, indica la frecuencia de corte del filtro.

Pero la cosa no queda ahí, imaginemos una nave que va a cierta altura del suelo, pilla un obstáculo, se levanta y después cae lentamente y pega unos cuantos botes más antes de estabilizarse. En este caso podemos usar un filtro de orden 2 con la coordenada Z (la que indica la altura) de la nave. En musicdsp.org se pueden conseguir montones de filtros de orden 2, en este caso he tomado el siguiente:

float zfilter(float in)
{
static float buf0 = 0.0f;
static float buf1 = 0.0f;
const float fb = 2.0f;
const float f = 0.1f;
buf0 = buf0 + f * (in - buf0 + fb * (buf0 - buf1));
buf1 = buf1 + f * (buf0 - buf1);
return buf1;
}

basta con hacer:

obj->targetzpos = TerrainHeight(obj->pos) + 3.0; //va a una altura de 3 metros sobre el suelo
obj->pos.z = zfilter(obj->targetzpos);

Variando los parámetros del filtro se puede hacer que responda más rápido a las variaciones o que oscile más. Ojo porque para ciertos valores puede hacer que la salida sea inestable.

Conclusión, es posible usar los filtros para filtrar una entrada de salto, como es presionar una teclar o hacer que los movimientos de un objeto sean más suaves y solo aplicando unas ecuaciones muy simples.

Premios desarrollador_ES

Hace dos días saltaba la noticia de que este año en la campus vamos a tener la entrega de premios a los mejores desarrolladores españoles de videojuegos.

Es una gran noticia para la gente que se dedica a esto, en particular para los que los que empiezan que tan cercanos me quedan. Muchas suerte a todos ellos y muchas gracias a la gente que se ha movido para que estos premios salgan adelante.

Decir que la noticia ha llegado:

- barrapunto (los comentarios positivos, como siempre)
- vidaextra
- ojgames (de primera mano)

Sintetizador de música

Hace un tiempo dije que escribiria más a fondo sobre el sintetizador que programé hace tiempo y esta tarde he decidido escribir un artículo hablando un poco sobre como generar música en función de unos pocos datos incluyendo código fuente.

- El artículo: 4k synth

Espero que a alguien le resulte interesante.

bodas frikis

Estaba mirando el foto de codepixel yme encuentro esto. Los testimonios son para recordar XD.