javisantana.com

OMEPET S.L.

Leyendo uno de los resúmenes que Nae está escribiendo en anaitgames sobre los premios desarrollador_ES me ha resultado curioso el comentario sobre “La insula de don sancho”. Resulta que la empresa desarrolladora OMEPET S.L. es un caso interesante de empresa desarrolladora de videojuegos y no solo por dedicarse al desarrollo de videojuegos en España… :). Lo interesante… en su web ponen muy claro las tarifas por cada uno de los trabajos, que la verdad son muchos, casi todos relacionados con videojuegos + mundoweb. Como bien dicen en su web sus servicios están orientados a dos tipos de áreas, el advergaming y los juegos como herramienta de aprendizaje.

Otra de las cosas que me ha gustado es que colaboran con la universidad, proponiendo prácticas y proyectos fin de carrera muy interesantes. Entre los proyectos, existe uno de kiosko de distribución de contenidos para móviles. A tenor de los datos sobre las descargas de juegos para móviles, según la EDGE de Julio “solo” un 5% de usuarios de móviles descargan juegos y algunos de los entrevistados en ese mismo número hacen referencia a los medios de distribución, este podría ser un método diferente de distribución por experimentar.

Sin embargo, lo mejor de todo, es que se han dado a conocer gracias a su talento, seguro sin necesidad de invertir demasiado dinero. Han salido en TV, radio y prensa, además de por las webs y blogs del mundillo.

Pues nada, a jugar a la insulta de don sancho.

Hola mundo genético


Después de leer en planet stratos dos (uno y dos) hola mundo no podía dejar pasar la oportunidad para poner uno que me ha llamado la atención. Se trata de un hola mundo con algortimos genéticos.

En la misma web se pueden encontrar traducciones de artículos relacioandos con la IA, muy recomendables. Personalmente, uno de los que más me ha gustado es este sobre la IA del quake basada en máquinas de estados finitos. A hilo, otro artículo que he leído en designostic sobre la IA que está por venir.

Diseño de Juegos para Programadores

Jare ha colgado en su blog las proyecciones de su conferencia en gamelab. Sigue la línea de la charla de la UPC, aunque esta vez más orientada al público cuadriculado, aunque sin perder la visión del director de un proyecto.

Muy recomendables, con cosas curiosas, como el uso de MS project, que pensé que nunca lo vería funcionando en ninguna parte. Espero que detrás de la foto haya todo un proyecto y que no haya servido como foto-recurso.

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.