2.20.2007

Neurona.com

Hoy leía en stratos sobre una web de contactos profesionales que parece bastante interesante, se trata de Neurona.com. En ella te das de alta y puedes ir haciendo contactos que tengan que ver, o no, con tu actividad profesional. Teniendo en cuenta que la mayoría de los trabajos que se consiguen se hacen a través de conocidos me parece que de lo más interesante. Aparte, poder matener contacto con gente que hace lo mismo que tú seguro que es enriquecedor. De momento he mandado unas cuantas invitaciones, espero que vayan aumentando.

Está claro que la publicidad es tan importante como tener un buen producto.

Mi ficha en Neurona. Si los que leeis habitualmente este blog (que creo que os conozco a todos) os haceis ficha, enviadme una invitación.

De momento me he apuntado a la categoría de desarrollo de videojuegos, en lo que voy a trabajar a partir de dentro de una semana.

Me he puesto una foto la mar de sonriente :D.

2.16.2007

eh, papá, felicidades !

54 años hubiera cumplido mi padre hoy. Como cada 16 de febrero desde hace 9 años no puedo por menos que recordar que hoy solía ser un día especial a pesar de las dificultades. Cómo me gustaría poder haber compartido este mismo día sin esos baches y con las cosas un poco mejor.

Seguro que mi padre me hubiera dicho que si era gilipollas por venirme a trabajar a Murcia, seguro me hubiera ayudado mucho con el proyecto. No me cabe duda que ni por asomo él se hubiera pensado que la culminación de mi carrera iba a ser una herramienta precisamente para ayudar un poquito al trabajo que él hacía y mucho menos que la iba a vender a agricultores, como él, que la usarían para labrar esas tierras que tanto sudor le costó a él trabajar.

Cada 16 de febrero es un día triste, pero te hace dar cuenta del valor que realmente tienen los que siguen a tu lado (aunque estén lejos). Suena a tópico, pero no lo es.

Felicidades!

2.11.2007

Las fotos :)




Ya tengo mi megane

Ya llevo una semana con el megane. Lo recogí el sábado pasado en Bilbao, fui desde Bilbao a Valladolid y desde Valladolid a Murcia el domingo.

El coche es una gozada:

- Tiene una dirección muy cómoda, el volante en parado se mueve con un dedo
- Silencioso. A pesar de ser un motor diesel apenas se oye. Al principio he tenido que bajar las ventanillas para poder escuchar el motor y que no se me calara en los semáforos :X. Además en autovía, a 120 en sexta, el motor va a unas 2500 veultas y apenas se oye nada, ni el motor, ni el ruido de rodadura, ni nada. Aparte que da sensación de suavidad cuando vas en él.
- Frena que te mueres. El pedal peca de demasiado sensible, pero en cuanto le pisas, se para.
- Entrega la potencia de forma muy suave, no es igual que los motores turbo diesel que tienen un "patadón" de potencia cuando entra el turbo. El turbo entra sobre las 1800 rpm y de 2000 a 3000 sube de miedo en cualquier marcha. Acostumbrado a un coche de 60cv ya me he pegado un par de sustos, aparte que en autovía corro bastante más que con el peugeot 205 sin darme cuenta.
- El regulador de velocidad tendría que ser obligatorio. No te preocupas de la velocidad, le marcas una velocidad de crucero y él la mantiene. Esto tiene muchísimas ventajas. Te cansas menos en viajes largos, evitas multas por descuídos y puedes ir más atento a otras cosas. Si alguien se compra un coche, que pague los 300€ que vale de más el sistema, merece la pena.
- Consumo: le he echado unos 55€ de gasoil a 0.88, he hecho más de 1300km y aún no me ha pitado la reserva, en total una media de,más o menos, 4.5 litros/100km.

Podría estar unas cuantas horas comentando el tema, pero creo que eso es más que suficiente. Eso sí, lo malo, muy malo del coche, es que es un chorro de dinero que te mueres; entre lo que vale el coche (3 kilos), el seguro (1300 y pico €)(*), el gasoil, impuestos varios...

De momento estoy muy contento, a ver si sigue bien.

(*) había compañías que me lo daban 200 y pico euros más barato, pero esas compañías "online" tenían unas condiciones lamentables y he preferido no arriesgar ni un pelo a encontrarme con un disgusto por 30 mil pelas.

A ver si cuelgo unas fotos otro día :)

2.10.2007

El camino a seguir

Leyendo el blog de mig21, en concreto un post en el que hace referencia, entre otros, a Buzzword compliant, hace pensar hacia donde va la tecnología y hacia donde quiero ir yo.

Hace no demasiado me llamaron de experience, una empresa que tiene sucursal en valladolid para ir a hacer una entrevista. Lo que buscaban era alguien para programar en C++ y aunque yo sé hacerlo le comenté a la persona de recursos humanos que no me interesaba porque me habían hecho ya una entrevista para ese mismo puesto y no me había llamado el trabajo. Supuse que con eso el tema quedaría zanjado, pero no, me ha llamado otras 4 veces más para decirme que me aconsejaba ir a la entrevista, que la podíamos hacer en madrid, en valladolid... etc. No entendía porqué este señor estaba tan interesado hasta que revisé las ofertas de trabajo que me manda infojobs. Si no llevo mal la cuenta he visto ya 4 veces esta oferta de trabajo. Será que no encuentran a gente que programe C++? será que pagan poco para llamar a alguien que programe en C++? Pasará con C++ lo mismo que pasó con Cobol, C (sí, pobre), etc

Como algunos habeis leído me voy a Salamanca a trabajar en Unkasoft. Cuando cambias de trabajo, cuestiones personales aparte, tienes en cuenta algunos factores como el sueldo, qué lejos estás de casa, lo que puedes hacer tú en esa empresa y lo que puede influir ese trabajo en tu futuro profesional.

De mi estancia en la empresa que voy a dejar he aprendido que no vale con tener un grupo de personas muy buenas, además esas personas deben saber trabajar en grupo. Los problemas que surgen cuando juntas a personas muy buenas es que, aunque lo sean, muchas veces no saben o no quieren ceder, no hay cultura de trabajo en equipo y no hay una metodología clara que "surja" de la experiencia individual. Cada día que pasa en esta empresa me doy cuenta de lo difícil que es llevar a un grupo de personas y llevar un proyecto a cabo a pesar de haber dado horas de clases en la carrera sobre el tema.

Por ello el camino que quiero seguir ahora es ese, aprender realmente como se aborda un proyecto llevado a cabo por un grupo de personas. La tecnología cambia con rapidez, sin embargo la tecnología no es lo más importante para sacar algo adelante, si no los que hacen esa tecnología.

2.05.2007

Agroguía en la revista Agricultura

En el número de este mes de la revista Agricultura han publicado un artículo de Agroguía. Se puede ver en este índice de la revista, en el apartado de "colaboraciones técnicas". Ya pondré el artículo en PDF por si a alguien le interesa.

Por lo demás el tema va avanzando, vienen nuevos pedidos, gente interesada en ponerlo en flotas de tractores, gente que pide y pide cosas nuevas y yo en cocina preparando una nueva versión.

Ah, y en breve me mudo a salamanca , por suerte podré llevar todo desde murcia en mi nuevo coche (ya pondré un post) :)

1.27.2007

Entrevista/visita a unkasoft

El pasado sábado estuve en una visita-entrevista en unkasoft y como lo prometido es deuda voy a comentar un poco la visita.

Hace ya tiempo que conocía unkasoft, les conocí por el blog cuando buscaba algo sobre extreme programming y desde entonces les he seguido a través de su blog y recientemente desde planet stratos.

Para empezar una entrevista más personal, con preguntas de la vida personal y algunas de cultura videojueguil. Esta fue distentida, sin las típicas preguntas de "dónde has trabajado" y de ese tipo y en la que me contó un poco el funcionamiento de la empresa, que parece que dista mucho del funcionamiento de las empresas de tecnología.

A continuación, después de hablar con Hugo pasé a hablar con Jaime y JM que me contaron bastante sobre lo que hace unkasoft, su forma de trabajar, sus desarrollos y su filosofía. De su trabajo me quedé muy sorprendido con su herramienta de creación/empaquetado de juegos para móviles y con el guión de "El cuarto Sello", un buen tocho con guión, mapas,etc aparte de la documentación para programadores. Pensé que nunca vería algo así ... XD

De la visita me quedo con la seriedad y la profesionalidad que inspira. Las metodologías que usan para programar (tanto XP, SCRUM, como otro tipo de cosas que me comentaron) y su filosofía hacen ver que saben hacer su trabajo muy bien. Una de las frases con las que me quedo fue la de "conocemos el negocio", cosa que valoro mucho más después de ver como está el percal de las empresas que se dedican al negocio de las tecnologías de la información.

Precisamente, cosas de la vida, hablaba con un inversor que tenía (o tiene, no sé, ya pondré un post sobre el tema) pensado meter pasta en una empresa de videojuegos en Salamanca que he conocido a través de mi tutor de proyecto y que me pedía opinión sobre algunos temas, y comentaba que en Salamanca había una empresa que hacía videojuegos llamada "Unkasoft" de la que destacaba su seriedad, cosa que, después de mi experiencia con la relación inversores/clientes (o vende motos, como prefiera), me parece algo impactante.

Me he comprado un culón

Finalmente, después de ver diferentes coches me he decantado por un culón (aka renault megane). Las razones: la relación necesidades/calidad/precio y las recomendaciones de gente con experiencia. Me echó en un comienzo un poco para atrás que fuera un motor con tan poca cilindrada, es un diesel 1.5, pero después de preguntar a gente que lo tenía no me preocupa tanto.

Aparte lo he cogido color beis (la suciedad apenas se nota), 5 puertas para que mi madre no me de la brasa, con luces antiniebla (suficientes malas experiencias he tenido con la niebla), limitador/control de velocidad y todas esas pichadas.

Ya solo queda una semana para tenerlo ... :)

1.17.2007

Generación procedural de ciudades y casas

EL otro día vi en el blog de jare un link a un post del blog de introversion software, los creadores de darwinia, en el que hablan del desarrollo de su nuevo juego.

En uno de los post habla de generación procedural de ciudades y saca un video bastante interesante de como se generan. El algoritmo usado se puede ver funcionando e incluso puedes bajarte el código del applet.

Además, ha publicado otro post con un video de cómo genera el interior de un edificio proceduralmente. Muy interesante :), habrá que estar atento a este blog.

1.13.2007

El hijo tonto

aviso: post personal

De toda la vida me han encantado los coches, ya desde pequeño jugaba con las réplicas metálicas (que luego pasaron a ser de plástico, pft), pasé por los coches radio control (un porche 911, un buggy y un 205 rally), scalextric con dos audi quatro, una maqueta de un 406 que participó en el dakar, me compré una gran cantidad de juegos de coches ya desde la master system hasta el mario kart ds que me han regalado por reyes, tengo mi habitación de mi casa llena de posters de toyota corolla con el que carlos sainz _casi_ gana el mundial por tercera vez, el focus de mcrae, el lancer evo de makinen, incluso algunos de los todo terreno del dakar que llevó Prieto (que por cierto era zamorano y estuvo a punto de ganarlo enel 99), tengo grabados los todos los rallys de cataluña que retransmitió canal+ y los resúmenes que daba en abierto...

Durante 7 años he estado conduciendo el peugeot 205 de 62 cv que con muchísimo esfuerzo ha pagado mi madre. Es una gozada de coche, te lleva a todos lados, consume poquísimo, lo aparcas en cualquier sitio. Durante estos 7 años nunca he tenido ningún percance, ni un rozón únicamente 2 situaciones de verdadero peligro (una de ellas culpa mía) que supe resolver sin darme el ostión (a veces pienso que gracias a las horas delante de la consola).

LLega el momento de adquirir mi vehículo, empiezo a echar cuentas y ahora es cuando recuerdo lo que todo el mundo dice que el coche es como un hijo tonto. El precio del coche es lo de menos, por suerte tengo familiares que trabajan en automoción, el problema es el seguro. He mirado diferentes compañías y a pesar de llevar más de 7 años conduciendo, con más de 10mil km. al año sin un solo rasguño, me meten la clavada padre en el seguro a todo riesgo, en torno al medio millón de pelas. No sé si la culpa la tiene la subnormalidad que cubre a los jóvenes españoles de mi edad o que las aseguradoras tienen más jeta que espalda, pero me parece a todas luces un atraco a mano armada. Si decides hacer un seguro a terceros (cosa que no haré porque es un coche nuevo) te sale 200€ más barato que si coges a todo riesgo con franquicia de 300€ como término medio. Lo curioso es que algunas aseguradoras sólamente con la edad no te hacen el seguro.

No me queda otra que pasar por el aro y pagar los más de 1400€ de seguro a todo riego si no encuentro algo mejor, aunque por fin podré tener mi coche :_), aunque, por cuestiones monetarias, no el que quería :P.

1.12.2007

agroguía avanza poco a poco

Poquito a poquito vamos avanzando con agroguía, la aplicación que desarrollé como proyecto fin de carrera, que sirve, por medio de un pocketpc y un gps, para indicar a los agricultores que zona han tratado.

Hace unos meses planteamos la posibilidad de venderlo, a modo de prueba, para ver si la cosa funcionaba y gustaba a los agricultores. Empezamos vendiendo alguno y con el dinero que ganamos (poco :() hemos ido haciendo carteles, mejorando la aplicación y comprando alguna cosa necesaria.

En estos días se ha publicado un artículo, escrito por jaime gómez (mi tutor) y yo, en la revista "tierras" y ayer vi el artículo maquetado para la revista "agricultura". Hace ilusión ver en una revista algo que has creado tú, aunque realmente lo mejor es ver como la gente que lo compra te comenta que le va muy bien, que ya no usa los métodos que usaban antes para marcar las zonas tratadas. Ha habido alguno que me ha comentado que incluso apaga las luces del tractor por la noche y solo se guía por la aplicación.

Con la salida de la revista ha empezado a llamar bastante gente, sobretodo gente que está enterada de qué va el tema, que conoce otros dispositivos similares, a esos que da gusto venderles algo. Porque si hay algo que está claro es que no merece la pena vender por vender, porque al final ni ganas dinero, ni te satisface lo que haces.

Como conclusiónes: lo importante de una buena publicidad (no mucha, pero bien enfocada), es preferible no vender a hacerlo de forma "forzada" y la más importante, si te portas bien con el posible comprador, este se portará bien contigo, cosa realmente importante en un producto en el que el boca a boca es tan importante.

Estamos preparando la web ahora... :)

1.06.2007

Entrevista en Boecillo

Para no variar, el otro día hice una entrevista en el partque tecnológico de boecillo. El trabajo era para, en palabras del entrevistador, "un proyecto relacionado con algo de telefonía".

La cosa empezó mal, me confundí de empresa ya que antes me habían llamado de otra para lo mismo. Resulta que telefónica i+d saca proyectos para que otras empresas presenten candidatos, de forma que varias empresas sacan a infojobs ofertas muy similares. Yo envié varias ofertas y de ahí mi confusión.

La entrevista fue semi mal, empecé contandole toda mi vida profesional, que si la tele que si ahora estoy en murcia que tal... de cualquier forma yo ya sabía que ni me iban a tener en cuenta desde el mismo momento en el que dijo el salario que me iban a pagar (casi un millón menos al año de lo que cobro ahora) delante de todos los demás trabajadores.

Lo peor fue cuando me comentó el tipo de contrato que me ofrecían: indefinido con 6 meses de prueba (¿¿¿???). Obviamente le dije que yo indefinido no quería. Para qué quiere una persona de 25 años un contrato indefinido? Con 3 meses es suficiente para ver si un tío vale o no y si quiero irme de la empresa el día que acabe el contrato se termina y punto. Si me hubiera dicho la verdad, que a ellos les beneficia por el tema de las subvenciones...

Triste.

12.23.2006

PIC

En éstos últimos días he estado programando para pic por rigores del guión. Nunca había visto la programación de microcontroladores desde dentro, siempre había visto las típicas peleas de microbots, las tarjetas de pirateo del satélite y poco más. Y la verdad es que me ha sorprendido gratamente la potencia de estos dispositivos, sobretodo cara a el interfez con redes que es donde he estado trabajando. Aparte de las herramientas de desarrollo que son, a pesar de un IDE bastante torpón, bastante decentes incluídas las librerías de red que he estado usando. En este caso Microchip aporta una pila de red que incluye implementación de casi todo lo que hay de HTTP para abajo. Sorprende ver como un pic de 7$ es capaz de servir páginas web, hacer de servidor FTP (con su propio sistema de ficheros en eeprom) y encina muy simples de programar.

Aprovecho este post "sigo vivo" para desearos buenas vacaciones a los que las tengais y que disfruteis de vuestras personas queridas y esos tópicos de estos días. /o/

12.03.2006

Quedada en valencia

Ayer estuve en Valencia en una KDD de stratos para, entre otras cosas, hablar de una hipotética asociación de desarrolladores. El lugar fue la facultad de informática de Valencia, en el salón de actos (demasiado pequeño era para ser un salón de actos me parece a mi), en el cual había un proyector donde a la entrada se podía leer algunos de los puntos de los estatutos de la asociación.

Antes de eso, y para llegar a Valencia desde Murcia, tuve que meterme 3 horas y media de tren (para hacer 225 km), con la suerte de que en el mismo tren iba, además de con un compañero de trabajo, Zaelsius, el hombre mac-style, no solo por el mac, si no por la DS lite y la gente de devilishgames. Al llegar a la estación conocí, entre otros, a varios de los míticos de stratos, colson y mars atacks :).

Llegados a la sala de grados con un vistazo reconocí a algunos propietarios de caras cuyos nicks llevo viendo ya varios años en foros e irc. La cosa se confirmó cuando Nae, el moderador, presentador y showman del evento invitó al personal a presentarse. Allí ya terminé de conocer al resto de gente.

La charla sobre la asociación fue bastante peñazo y me parece que se sacaron pocas cosas en claro. El problema? pocas empresas (solo devislih y exelweiss) y mucha gente a las que les importaba un carajo el tema. En cualquier caso sirvió como un comienzo para un algo. Los comentarios más interesantes partieron de José Vicente Pons (aka kabila) y Carles Pons de exelweiss que eran de los pocos, junto con Vicente, mi compañero de trabajo y la gente de devilish que sabían que querían de una asociación. En cualquier caso se obtuvieron conclusiones, que no es poco.

Para mi lo más interesante vino después del debate, conocí a gente de la escena, slack y r3d, a la demás gente de stratos, josepho de questtracers(aka huevo-man), Ager de noticias juegos, pude hablar con gente que hacía, al igual que yo, infoarquitectura, hablé, aunque poco, con Carles Pons y también conocí a un chaval de digital legends del que no recuerdo el nombre.

En resumen, la kdd estuvo muy bien y es bastante enriquecedor conocer gente que le gusta lo mismo que a ti.

Un resumen un poco más objetivo en noticias juegos.

11.30.2006

Que pasaría si outrun fuera publicado ahora

Viendo estupideces de este tipo se me ocurren unas cuantas cosas que pasarían si el mítico outrun fuera publicado ahora en España:

Para empezar las asociaciones de mujeres se echarían encima de los creadores porque es un juego machista, es el hombre el que conduce. En este caso propondrían que fuera la mujer la que condujese, porque así se fomantería la igualdad de sexos. Lo tacharían de tópico, porque la mujer es rubia y explosiva, lo acusarían de fomentar la anorexia y la bulimia por el estado de la rubia. Ah!, y no quiero decir nada si fuera el tío quien mete ostias a la tía cuando termina mal la cosa porque no has corrido demasiado

La cosa no queda ahí, la DGT pararía los pies, primero porque le quitarían los puntos por exceso de velodad (a sabes la de radares que habrán puesto en esas autovías de 4 carriles donde hay un peligro extremo), conducción agresiva, invasión del carril contrario y claro, por no usar el cinturón de seguridad. Ah! y a saber si el tío se ha metido cualquier droga o va bebido (con esa pedazo de rubia).

Ah, y en España seguro que las fases en las que sale la playita de puta madre no tendría más playa al lado contrario, seguro que pondrían unas buenas torres de apartamentos, la SGAE cobraría al pavo lo suyo por poner la radio y antena3 se cebaría por ser un juego violento, eso sí, entre noticia de atentado en irak y muerte de unos perros a manos de unos salvajes.

11.27.2006

Compartiendo datos entre python y C++

Es muy babitual usar python como herramienta para labores anexas a otras, por ejemplo para extraer datos de un fichero de texto, hacer tareas previas la compilación y multitud de cosas. De esta forma podemos aprovechar la capacidad de tratar texto u otros datos de python (y su amplia librería) para dejarselo fácil a la aplicación en C++. Y qué significa dejarselo fácil? pues en pocas palabras en dejarle un fichero que podamos leer directamente a estructuras y que no tengamos que parsear ficheros de texto.

Para ello python provee un módulo cojonudo, struct. Con él en dos líneas podemos guardar datos que posteriormente podemos leer en python, por ejemplo.

- python
open("fichero.bin","wb").write(struct.pack('3f2f',x,y,z,u,v));

- C++
struct vertex
{
  float x,y,z;
   float u,v;
};

vertex v;
FILE* f = fopen("fichero.bin","rb");
if(f)
  fread(&v,1,sizeof(vertex),f);

Con este módulo podemos hacer, por ejemplo, un exportador de geometría en python para Blender en cosa de segundos:

scn= Blender.Scene.GetCurrent()
object= scn.getActiveObject()
mesh = BPyMesh.getMeshFromObject(object, None, True, False, scn)
file = open(filename, 'wb')
file.write(pack('i',len(mesh.faces));
for f in mesh.faces:
   for v in f.v:
      file.write(pack('3f',v.co[0],v.co[1],v.co[2]);

11.23.2006

Nuevo juego de Kenta Cho

Leo en sandía weblog que kenta cho lo ha vuelto a hacer. Ha sacado otro juego más, en la línea de los anteriores, esto es, mata mata de navecitas con estética tron/rez. Acabo de jugar unos minutos al juego y está divertido, la posibilidad de atraer naves y unirlas a la tuya para que disparen a la par.

Parece simple crear un juego así, total, no hay texturas y todo son primitivas simples, pero a pesar de eso todo está hecho con buen gusto y hace uno uso de las partículas cojonudo. Me gusta sobretodo la explosión de cuando te matan.

A bajarlo que son 5 megas de nada :).

11.21.2006

Juegos cortos, ideas buenas

Veo en el blog de librador, un empleado de digital leyends legends (jaja), el juego que ha presentado a una compo de creación de juegos en 72 horas.. EL juego es un puzzle en el que tienes que mover unas bolas metálicas usando unos "electroimanes" para llevarlas a un agujero. Hay solo 4 ó 5 niveles creados, pero sirven para ver que el juego mola y plantea un reto interesante, a pesar de estar programado en 72 horas.

Además el juego está creado en python + pygame y tiene todo el código a la vista :).

11.20.2006

OpenGL cambia de look

Jodo, sigo leyendo las noticias de opengl.og y me encuentro con una burrada de cambios que se van a producir en opengl en el próximo verano:

- Dos nuevas releases para el verano. En resumen, si usas una implementación serás compatible con las viejas y nuevas tarjetas y con la otra solo podrás usar el nuevo hardware con la ventaja de poder usar todo su pontencia

- un SDK, que ya era hora. Hasta ahora yo me habia guiado con el redbook, la espec de opengl y la de GLSL, pero está claro que es necesario unificar y centralizar ,sacando algo similar al SDK de DX.

- cambios en el modelo de opengl. Al parecer el modelo usado para algunas cosas, como explica en la web, era una chapuza y estaban optimizadas para la creación y no para el render.

Estas son las más importantes según mi punto de vista y parece que todas cara a poder hacer frente a lo que está por venir en D3D. Todo orientado a facilitar las cosas y a poder optimizar para el hardware moderno.

Geometry Shaders con OpenGL

Hace bien poco salía la nvidia 8800 que promete que será capaz de tirar dx10. Entre tantas cosas, añade a su funcionalidad el tema de geometry shaders, esto es, shaders que permiten añadir vértices. Hasta ahora nos habíamos conformado con transformar los vértices que teníamos pero ahora es posible generarlos.

Y para qué leches quiere alguien generar vértices? Por ejemplo, imaginemos el caso de querer usar billboards. Tenemos la opción de usar fixed pipeline, transformando uno por uno los vértices de los quads para orientarlos a la cámara. Otra opción es usar un vertex shader, de forma que le pasamos un "quad" con los 4 vértices centrados en el centro del quad, luego en una coordenada de textura se le pasas el número de esquina y por último dos uniforms con los ángulos de cámara. Con simple trigonometría y un vector de vec3 en el que se haga lookup con el número de esquina se puede transformar el vértice. Con geometry shaders se puede, indicar que la entrada es un punto, la salida es un triangle strip y en el shader generar los 4 vértices a partir del primero, con el consecuente ahorro de cálculo en el VS y de transferencia de datos.

Este es un ejemplo, pero seguro que hay cosas mucho más útiles que eso :). Un buen tutorial lo he visto hoy en una noticia de hace 4 días en la web de opengl. Bien explicado, con sus gráficos de rigor. A ver que hace ATI (aka, quisquillosa con GLSL) ahora.

11.18.2006

perrito

El otro día un compañero de trabajo apareció en la oficina con un perrito que estaba abandonado y que le estaba siguiendo. Como tenemos (aún) un poco de corazón le hemos acogido en nuestro seno, dándole cobijo, alimento y cuidado. Es un perrito la mar de juguetón, como viene siendo habitual cuando son cachorros, no parece que sea de raza definida, se le ve que está a falta de cariño y me imagino que nos lo quedaremos hasta que alguien lo adopte. Parece ser que en la protectora de animales únicamente se comprometen a meterlo con otros perritos y darlo de comer (que no es poco), pero preferimos mantenerlo unos días a ver si le podemos encontrar familia. De momento, y a a falta de un nombre mejor, le he bautizado como "jeta".

11.15.2006

STL: sí o no

Es muy común entre los que programamos en C++ el reinventar a menudo la rueda (incluso varias veces) y reprogramarse los contenedores básicos él mismo. Se suelen escudar en cuestiones de legibilidad de código, sobrecarga de llamadas, rapidez de ejecución. Es cierto que muchas veces es necesario tener muy claro como funciona algo, sobretodo con algortimos críticos sin embargo hay una serie de pros que me hacen decantarme por el uso de STL:

- efectividad: ganas tiempo en no tener que programar y hacer debug de tus contenedores. Además sabes que hay muchas más personas usándola y tienes cierta seguridad cuando las usas.

- rapidez de ejecución: es posible que tus contenedores sean más rápidos, pero en el tiempo que has usado para programarlos es posible que invitiéndolo en otros algortimos hubieras ganado más ciclos de cpu (o gpu :P).

- trabajos en equipo: cuando se trabaja en equipo es muy ventajoso que todo el grupo conozca muy bien las cosas básicas del código sobre el que se trabaja. Además casi nunca se suele estar de acuerdo en como deben funcionar los contenedores.

- Los iterators: te dan una versatilidad para cambiar de contenedor y trabajar con los mismos algortimos sobre cada uno bastante alta y que da aporta mucha efectividad a la hora de programar

pero también hay contras:

- No te evitas bugs... pero tampoco te libras de ellos si los programas tú. Por ejemplo hacer std::vector< std::vector > en algunas versiones de gcc (con la STL de GNU) tiene un bug.

- Código muchas veces ilegible, con lo cual hace difícil saber qué hacen exactamente.

- Múltiples implementaciones. Por un lado tienes la que traen por defecto los compiladores, STL de SGI, STL port. No es que sea un gran problema, pero hay contenedores y algortimos diferentes, ciertos detalles internos, etc.

- Los iterators: a algunos programadores les resulta engorroso tener que usar, por ejemplo, un iterator para eliminar un elemento de un std::vector

En resumen, para mi, STL sí, porque prefiero usar mi tiempo en crear algortimos diferentes a los de toda la vida, aunque creo que todo programador debería saber como implementar una lista enlazada o un vector. Tú que opinas?

10.28.2006

La fiesta empieza en Gameloft

Leo en khronos que gameloft anuncia en una nota de prensa que va a usar OpenGL ES en uno de sus juegos y que además lo va a endosar en un móvil con aceleracion.

Me hace gracia como vende la moto el presidente de Gameloft, más que nada porque existen juegos 3D hace siglos, no creo que porque veamos juegos 3D en dispositivos móviles vaya a ser la revolución aunque si funciona bien gameloft, entre tantas, se puede forrar a base de bien. El problema es que un juego 3D requiere mucho más trabajo que uno 2D (y por tanto mayor coste de producción) y no sé si saldrá tan rentable.

Por suerte OpenGLES es muy similar a OpenGL y los programadores de PC no creo que tengan problemas en reconvertirse, con lo cual la experiencia acumulada para PC siempre se puede aprovechar. A ver que va saliendo.

10.23.2006

matemáticas para la vista


Hace tiempo se anunció el "International Congress of Mathematicians" en el que se dieron unas charlas sobre demoscene. Hoy Íñigo Quilez ha publicado en su web las transparencias de las ponencias además de todo el material usado en la exposición. Personalmente me ha gustado la definición matemática de una mariposa que hace Íñigo en el pdf, aunque los otros documentos no se quedan atrás, lo cual no sorprende viendo los ponentes, unos de los creadores de iconoclast y también de plastic.

matemáticas para la vista


Hace tiempo se anunció el "International Congress of Mathematicians" en el que se dieron unas charlas sobre demoscene. Hoy Íñigo Quilez ha publicado en su web las transparencias de las ponencias además de todo el material usado en la exposición. Personalmente me ha gustado la definición matemática de una mariposa que hace Íñigo en el pdf, aunque los otros documentos no se quedan atrás, lo cual no sorprende viendo los ponentes, unos de los creadores de iconoclast y también de plastic.

10.16.2006

Pizarra mágica

Veo en codepixel un video sobre una pizarra (ojo, el pesado, lento y funciono_mal_en_firefox youtube :P) cuanto menos curiosa. En ella un señor muy serio dibuja objetos con un puntero a los que se aplica física real. Desde que apareció la DS hemos visto una gran cantidad de juegos que hacen uso de las posibilidades de la pantalla táctil y este ejemplo demuestra uno de ellos. Lo que se representa no es un juego, pero con unas pocas de vueltas a la cabeza estoy seguro que no sería difícil sacar un juego.

Además, la física ya sola por sí hace un juego, aunque si le añades unos toques divertidos pueden salir cosas como breakquest

EDIT: un jueguecillo/test que me ha pasado alex con física creada en flash: line rider y un video con una aplicación curiosa.. :)

10.11.2006

Agroguía empieza a andar

Como ya comenté el otro día tenía pensando intentar sacar algún dinerín vendiendo el PFC. En este tiempo ya hemos vendido 4 unidades y me empiezo a encontrar con los primeros problemas. El peor es el del abastecimiento de materia prima, esto es, pocketpc y GPS. Sé que hay por decenas en las tiendas, pero la mayoría de los pocketpc tienen cosas que no necesito (Bluetooth, WiFi), tienen pantallas pequeñas, son poco robustas... y los GPS peor porque muchos de ellos son una basura que no sirven ni para guiarse cuando vas en coche, otros son bluetooth y los que son un poco decentes y son con interfaz serie escasean y tienen plazos de entrega de dos semanas!!.

Bueno, estaba claro que esos problemas iban a estar. Otra cosa curiosa es lo que la gente pide que podría tener, unos piden medidores de área, otros sistemas de control integral del tractor... en fin y en cuanto al precio... a algunos les parece caro a otros barato, a algunos les parece que no sirve de nada, a otros de mucho, es curioso.

Por mi parte estoy mejorándolo en mi tiempo libre (que es poco). He añadido un medidor de área y ahora mejoraré el GUI, sobretodo en su usabilidad. A ver si contrato los servicios de un grafista que me haga unos iconos en vectorial (solo rasterizo polígonos, nada de texturas) chulos.

Por otra parte mañana voy a Valladolid, 8 horitas de tren... arg! Pero lo peor no es ir, lo peor es la incompetencia de algunos trabajadores de renfe que no saben cuantos minutos es una hora y que no saben resolver una duda sobre un trayecto. Encima creo que he cogido un catarro de estos estúpidos y tengo un principio de anginas.

Por otro lado ayer pasé por el silken 7 coronas, un hotel de murcia, donde parece que se aloja la selección. A mi la selección me da igual, pero casi se me saltan las lágrimas de ver la DSNG (aka fragoneta con antena parabólica), al ver esa parabólica orientada a vete tú a saber qué satélite, esos VTR's y sobretodo esos pequeños monitores SONY con las barras de colores ( blanco y negro, los colores primarios y los complementarios) test de la señal PAL. Qué recuerdos :__).

10.05.2006

Tristeza

Es la que me produce ver lo que estoy viendo. Estoy cenando y viendo en telecinco un programa que se trata de abrir cajas AL AZAR!! sí, completamente al azar, no hay ningún tipo de reto al participante y tampoco al espectador. El único interés del programa es ver como el concursante, jodido por tomar decisiones tan importantes, se jode al ver que no gana los 100 kilos que podría ganar. Pero es que además los concursantes hacen afirmaciones en las que saben con total seguridad donde está el premio...

Pero es telecinco... contrata a una presentadora que sabe estar en cámara, que sabe hacer ver al espectador que es una mentira y que ella es una hipócrita pero que como eres tonto te lo tienes que comer, buena iluminación, unos cuantos juegos de cámara, algún efecto de sonido y todo arreglado.

Por no hablar de los informativos, ahora mismo acaban de abrir con el titular de un método para dejar de fumar, por detrás se estaban oyendo voces de realización, una conexión en directo con el hijo de un periodista que no se aguanta de los nervios. Por no hablar de las cagadas de rotulación, las de los micros de los presentadores y de la auténtica basura sensacionalista y propagadísitica que nos meten entre pecho y espalda.

Menos mal que gran hermano se lo curran bastante bien :D

10.01.2006

hagamos negocios

Como algunos sabeis en mi proyecto fin de carrera programé una herramienta para el guiado de agricultores. Ya que está terminada y se asemeja en calidad a herramientas comerciales, por qué no sacarle un poco de partido? Para ello he creado un folleto de información (pdf) que va a llevar la universidad de Valladolid a una feria de Bilbao. Espero que llevando ese folleto a cooperativas y demás pueda vender y comenzar en el maravilloso mundo del pluriempleo :P.

En mi opinión quedan cosas que mejorar de la herramienta:
- Unos graficos en condiciones que no se pusieron en su debido momento por algunos problemas, sobretodo para los iconitos, el tractor y esas cosas.
- Me falta por concretar el HW concreto. Sé que debe ser un GPS sirf III, sin embargo me queda por concretar el modelo de PocketPC. La aplicación de momento ha funciona bien en todos los modelos que he probado, pero conviene que sea uno MUY robusto, con pantalla grande y que además tenga un soporte que aguante las vibraciones.

Si esto no funciona bien y no vendo nada, creo que la mejor manera de hacer que sea útil es sacarlo gratis y hundir en la miseria a arvatec y a isagri (jaja :P) no así a ssiiaa (empresa zamorana que también tiene un producto similar) y que así todos los agricultores puedan tener su sistema de guiado por muy poco dinero. Un día haré una comparativa sobre sus productos y el mío.

Por suerte cuento con la ayuda de Jaime Gómez, mi tutor de proyecto y amigo y con la sabiduría de rafa mompó que siempre están dispuestos a echar un cable y proponer cosas. Bueno, además de mi novia, que ahora está de comercial :P.

Sugerencias?

9.29.2006

SpeedTree

Dado que he estado trabajando con esta librería, voy a hacer un pequeño resumen de qué es y para qué sirve además de comentar algunos apartados técnicos que me han resultado curioso.

SpeedTree es una librería que genera proceduralmente árboles en base a una definición de parámetros. En esencia es solo eso y lo dejan muy claro en la documentación, speedtree es solo un motor de cálculo, no un motor de render ni nada similar. Speedtree te da todos los datos para renderizar el árbol... las texturas (que no genera, claro), los vértices, las normales, el tangent space de cada vértice, los pesos de los "bones", y otros parámetros realmente curiosos.

Ciertamente la librería genera unos árboles de alta calidad y perfectamente preparados para renderizarlos y animarlos en tiempo real. Y es que bien se podría llamar SpeedHack, porque utiliza todas las artimañas posibles para renderiza más rápido. Usa el mal llamado pseudo-instancing, esto es, pasa todos los parámetros del árbol en coordenadas de textura (posición, rotación y otros) dejándo todo el trabajo al vertex shader, de esta forma se ahorran los cambios de matrices de cada uno de los árboles.

Pero la cosa no queda ahí, especifican claramente como debes renderizar, en qué orden y casi te imponen un sistema de oclusión basado en celdas con batches de vértices para renderizar todos los árboles lejanos como billboards. Aparte de todos los trucos típicos de cambiar lo mínimo posible el contexto, organizar los vértices para no tener fallos de caché, usar un lod precalculado, usan otros trucos curiosos. Por ejemplo, una vez conoces las especies de árboles que vas a usar, una herramienta que te trae el SDK, SpeedTreeCAD, te genera texturas batch, esto es, en ella acumulan todos los billboards de cada árbol, las texturas de las ramas, etc.

Sin embargo lo que más me ha gustado es la parte del movimiento de los árboles con el viento. Cada vértice tiene unos pesos, al igual que cuando se hace skinning, sin embargo aquí se han ideado un sistema por el cual todos los árboles, sea de la especia que sean, comparten matrices de transformación. Cada frame las matrices de viento cambian (puede ser 2 o más) y cada árbol tiene un índice a una de las matrices, de forma que el mecanismo de pseudo-instancing funciona de miedo ya que parece que cada árbol se mueve a su ritmo a pesar de tener las misma mastices, la misma malla y los mismo pesos. Y todo eso con solo un parámetro por shader.

Para concluir decir que la librería se nota que está currada, pero ciertamente esta enrevesada y es muy rígida a la hora de integrarla. No compila en GCC para PC (he tenido que hacer unos cuantos hacks), aunque sí está preparada para compilarse en PS3 con gcc, además de XBOX y DX. Decir que la demo que viene a modo de tutorial no funciona en tarjetas ATI y que hace conversiones a de float a enteros en el shader que tan pesadas son en algunas tarjetas.

Otro día sigo hablando de ella, tendría para horas...

Links:
- sitio oficial
- demo de trees of pangaea, demuestran lo que puede llegar a hacer speedtree

9.22.2006

sensacionalismo al poder

Qué mejor que ser un sensacionalista, sacar las noticias de contexto y mentir de forma indiscriminada para tener una noticia "que pegue"? La receta es fácil, coges algo sin ninguna importancia de hace años que tenga que ver con la actual situación, lo expones en un medio de comunicación masivo (periódico, TV o página web) y a vivir.

Ni más ni menos que esto es lo que ha pasado con el juego patera racing. En un blog de informativos telecinco publican la noticia de la existencia del juego patera racing, programado hace 4 años y cuyo aspecto dista mucho de ser una burla hacia los inmigrantes que se juegan el pescuezo a diario. Todo hecho, 20 minutos se hace eco, los foros empiezan a funcionar... y seguramente en pocos días antena3 y T5 echarán pestes contra todo el mundo de los videojuegos (todo esto entre noticia de muertes en algún atentado y el desayuno de ronaldiño). Por suerte, el que ha escrito la noticia no debe tener mucho de periodista, porque ha publicado una "rectificación", esto es, ha copiado un correo del supuesto autor, y digo supuesto por el comentario que hace el autor en su web.

Qué enseñan en las escuelas de periodismo? Cuando aprenderemos a quejarnos y no dejar que gente así escriba noticias que no lo son y que lo único que persiguen es generar polémicas donde no las hay. Triste.

EDIT: ojo al comentario del periodista de 20minutos acerca del diseño del juego... tendría que leer sus noticias antes de criticar de aspectos que no conoce. Manda huevos que diría trillo.

9.20.2006

lo que está por venir en OpenGL

Leyendo los foros de gamedev he encontrado un link con los ppt de las charlas sobre opengl del siggraph de este año. Lo ideal sería escuchar la charla, pero con las transparencias te haces una idea sobre OpenGL 3.0, información sobre Khronos, lo que va a pasar con Windows Vista y OpenGL (jaja) y lo que está por venir en OpenGL, que a mi modo de ver es el paper más interesante para el que esté pegándose con OpenGL a diario y que más o menos viene a ser lo que ya ha anunciado MS con su DX 10.

9.16.2006

Global Illumination usando GPU

Para no variar iñigo quilez vuelve a sacar un estupendo artículo de cómo precalcular la GI usando la GPU(*). La técnica es muy simple y es un paso más allá de la técnica que ya descibrió hace tiempo para calcular el Ambient occlusion. La imagen habla por si sola.




(*) Actualmente cuando se habla de GPU lo primero que te viene a la mente son los vertex y pixel shaders y quizás en alguna técnica para fakear alguna propiedad física de la luz o de los materiales, sin embargo la técnica que comenta no los usa necesariamente, tranquilamente se podría calcular usando la "fixed pipeline"

9.12.2006

Lo que faltaba



Leo en anaitgames que apple se mete en el terreno de los videojuegos. Si les ha funcionado el negocio de distribuir música en internet, por qué no les iba a funcionar la distribución de videojuegos? son 5 dolares (según este resumen) por cada juego, que creo que al cambio viene a ser lo que vale un juego de móvil de los que anuncian a todas horas en TV.

Puede que se quede en una anecdota, pero tiene un análisis muy interesante. Veremos a apple sacando peleando con nintendo y sony ?

El toro de vega

El toro de vega es un festejo que se realiza en Tordesillas, muy cerca de mi pueblo, y donde pasé 4 años de mi vida estudiando la correspondiente enseñanza obligatoria y el bachillerato, y que se basa en matar a un toro que sueltan por las calles y afueras del pueblo. Los mozos van con unas lanzas y se lo tienen que cargar, sin más.

Hoy veía la noticia en 20 minutos, los cuales están completamente en contra de los espectáculos taurinos, pero esta vez no es la noticia lo que me ha llamado la atención, si no los comentarios. En ellos todos hacen referencia a la bestialidad que es matar a un toro y demás, pero, curiosamente, lo hacen amenazando e insultando, incluso hay algunos que van más allá y son ellos mismos los que se proponen voluntarios para ir a partirle la jeta al señor que remató al toro, que por cierto, le ha metido el cuerno hasta el gañón.

Como he dicho, he estado durante 4 años conviviendo con gente que ha nacido viendo al toro de vega morir año tras año y para ellos es algo natural, está muy dentro de ellos, tanto que ven como una aberración que alguien se queje o quiera eliminarlo de las fiestas.

Mi opinión es que es una animalada, creo que los festejos taurines deben ir más en la línea de los cortes que en la de la matanza, sin embargo veo desmedida la actuación de las personas, tanto las que comentan en 20 minutos, como las de carne y hueso. Pretenden solucionar el problema dando de ostias a otros humanos? hay algún comentario que iguala a tordesillas con ETA.

De mientras los moros jodiéndonos la vida con las bombas, los inmigrantes palmándola, los españoles empeñándose (me hace gracia hablar en tercera persona :P), los etarras de verdad riendose de nosotros, la televisión "educativa", los bancos, telecos y empresas en general riendose del consumidor, los políticos chupando del frasco y haciendo el ridículo... no me jodas.

9.10.2006

Mi nueva casa

Aviso: post personal

Bueno, hace unos días comenté que ya tenía nueva casa... qué menos que poner una imagen jaja :P. Es solo del salón (no tengo tele) con todo el dominical descomprimido, mi reproductor de mp3 (que me lo regaló mi novia), dos latas de cocacola que me gustan porque decoran, la pda, el portátil y la wifi usb para sacarla por la ventana (al fondo) y "shuparles el intené", como dirían por aquí, a los vecinos.

9.04.2006

1 semana

Aviso: post personal

LLevo ya una semana en Murcia, y ya he estado en el trabajo dos días, lógicamente de contacto con la dinámica, de aprendizaje de las herramientas y el modo de trabajo, etc. La cosa promete, la gente que he conocido tiene un nivel muy alto, algunos de ellos buena experiencia en el sector del videojuego (ya me han contado algún cotilleo :P).

Qué tengo que hacer? de momento pelearme con speedtree, una librería de generación de árboles procedurales muy enfocada al entorno realtime. Se puede ver en movimiento en juegos como unreal, oblivion y, como me ha comentado Nae, en fallen lords. Es una librería potentísima y con una amplia librería de árboles, aunque tiene algunos fallos que ya comentaré.

Por otro lado he conocido enlightenment un gestor de ventanas muy interesante, no solo por el hecho de que sea bonito, si no por su arquitectura, que permite correr todo el gestor de ventanas no solo en linux, si no también en windows bajo una ventana usando GDI o incluso OpenGL. Y no se queda ahí la cosa, también corre en dispositivos embebidos. Eso por no hablar del acabado. Pinta muy bien, de momento he conocido algunas caraterísticas y me ha encantado, a ver qué tal pinta.

El resto... bien, sobreviviendo.

8.31.2006

Aterrizando

Aviso: post personal. Siento mucho que los visitantes de planet stratos y planet augcyl se tengan que tragar mis post personales, pero de momento blogger no me da ninguna facilidad, aunque parece que pronto podrán separarse los post por tags y espero que tengan rss diferenciados.

LLevo en Murcia 2 días y pico ya que llegué el lunes, los que he invertido en buscar un piso en condiciones. Al final he encontrado un apartamento la mar de majo, un poco caro, pero me pilla cerca del trabajo, de mis amigos y de los sitios que conozco. Ah! y tiene aire acondicionado, cosa que es fundamental en esta región, el calor para mi es sofocante... :(. Aparte del calor me estoy adaptando bien a la nueva situación :)

En cuanto al trabajo he estado viendo la nueva oficina y he conocido a mis compañeros y, espero, a mis futuros compañeros a los que estaban haciéndoles una entrevista para entrar como grafistas (el término grafista es muy amlpio, no sabría decirlo con más precisión). Increíbles los bocetos, comics y animaciones que han llevado como currículum, dignos de quitarse el sombrero. El ambiente no puede ser mejor, tengo ganas de que llegue el 1 para empezar a trabajar.

8.27.2006

Me cambio de vida

aviso: post de esos con contenido personal.

Mañana me cambio de vida, esto es, me mudo a la otra punta de España a trabajar en algo que me gusta. Si hace dos meses, cuando terminé la carrera, me dicen que iba a terminar en Murcia y me hubiera descojonado. Leo con alegría una entrada de hace más de un año en la que empezaba a plantearme mi futuro profesional. Algo bueno de tener un blog es que puedes recordar qué es lo que pensabas aquel día y lo mejor, puedes analizarlo con mucho más claridad, a vista de pájaro, a toro pasado como dice mi abuelo. Y ahora, después de leer lo que puse aquel día me hace gracia que haya conseguido un trabajo en algo que me gusta.

Cambiar de ciudad no es algo simple, no solo por el hecho de alejarte de tu familia y personas queridas, si no por tener que buscarte la vida para encontrar vivienda, nuevos amigos, acostumbrarte a la ciudad, en mi caso al clima y a otras cosas que también me interesan, por ejemplo quién es el alcalde, quienes son los que gobiernan la comunidad autónoma (me interesa demasiado la política desde qu trabajé en TV), qué tv locales hay allí (jaja) (justo al lado del nuevo trabajo está tv murcia), dónde está el "tio molonio" de murcia (que será de m-clan, claro) para quedarse hasta las tantas los días de diario :P. Por suerte hay personas que me están echando un buen cable.

Lo dicho, me voy a murcia, así que si vas a estar por allí, ya nos veremos.

8.23.2006

python mola

Y mola porque quieres hacer algo y no tienes que estarte pegando con gilipolleces del lenguaje, lo tienes en la cabeza y lo pones en el editor. Estoy liado con un juego (secreto, para no variar) y necesito búsqueda de caminos, para lo cual, voy a usar dijkstra. Aún recuerdo cuando lo implementé con C++, qué tiempos aquellos. Ahora con python lo implemento en un abrir y cerrar de ojos. Buscando algo de información sobre grafos en python he encontrado uno de esos documentos cortos pero no menos interesantes y útiles que hacen que te enamores a primera vista. Si aún no has probado python, deberías echarte un vistazín a este documento sobre grafos para animarte a probarlo. Eso es sencillez, a que mola?

8.20.2006

Blender como framework para juegos

Desde que conozco Blender siempre he visto que tenía un sistema para crear juegos, pero hasta ahora no le había dado demasiada importancia, ya que no parecía una herramienta muy potente. Sin embargo, viendo los juegos creados con blender presentados en "Build a Cool Blender Physics Game - Win a PSP" he cambiado mi opinión radicalmente. He jugado a un par de ellos, pero el que me dejado bastante impactado ha sido este, un juego de coches con un acabado muy muy bueno. Una lástima que no se hayan centrado un poco más en la jugabilidad.

Desde hace un tiempo llevo viendo herramientas para crear juegos muy simples. No solo por el hecho de tener nuevas (y no tan nuevas) herramientas como fenix(devilish lo usa), blitz3d, game maker (questtracers), blender, lo nuevo de MS, XNA si no también porque los lenguajes son más simples (C#, python) y tienen más facilidades. Por ejemplo, últimamente estoy mirando el motor de disney Panda3D y la verdad es que crear un juego (simple,claro) sabiendo un poco de python es bastante asequible. O por ejemplo amanith framework (bindings para python) una librería para 2D y 3D que se ha usado en el juego de moda, freets on fire, que por cierto, está muy bien :D.

8.19.2006

blogs de desarrolladores de videojuegos

Últimamente los desarrolladores españoles se están poniendo las pilas. En los últimos meses estoy viendo algunos blogs muy interesantes sobre desarrollo de videojuegos, no solo de amateurs, si no también de profesionales.

Hace no demasiado apareció planet stratos que en su gran mayoría son amateur, aunque también hay gente con años de experiencia. Tenemos a josepzin y tucho que vienen del desarrollo de glest(juego de estrategia en tiempo real 3d de gran calidad), grupos algo más consolidados, como geardome del que destaco hydrium, el blog de ager de andorstudios, Josepho de questtracers (recomiendo easter avenger), grupos de reciente aparición pero que prometen mucho como G-Boot team, gente que escribe artículos apuntes y tutoriales, como samsaga2 (buenso artículos de generación de niveles), zupervaca que no debes dejar de leer si te interesa la programación para móviles, FANatiko, Jove Chiere, el grafista alternativo (y única persona que conozco con apellido en el nick), Pablo Zurita con un podcast sobre creación de motores y luego gente con sus años de experiencia a la espalda como Astat y Virtus.

No he enumarado todos, lo mejor es visitar el planet regularmente o suscribirse al rss.

Pero la cosa no queda aquí, hay un montón de blogs de desarrolladores que están sacando juegos al mercado. En la parte izquierda del blog hay unos cuantos links que he ido recolectando (y espero que aumente) en bloglines. Destaco:
- Designostic: Blog de reciente creación que está enfocado al diseño de videojuegos (esa parte tan desconocida). Realmente no sé quienes son los que aportan, aunque según he podido leer son de las grandes españolas.
- exelweiss: en sus post tratan diferentes temas, sobretodo de análisis de mercado enfocado naturalmente a los que son objeto de sus productos, esto es, juegos online (ver mundijuegos), desarrollo para móviles, advergaming, etc :).
- El blog de Jare: no necesita presentación, creo yo :).
- Blog de Nae: diseñador y showman en digital legends. El tío que más sabe de videojuegos del mundo XD.
- Blogs de omepet: los más interensates, este y el técnico. No se actualizan con frecuencia, pero son interesantes. A ver si mejoran el ritmo :).
- Blog de unkasoft: empresa de videojuegos para móviles afincada en Salamanca y que hablan, sobretodo, de metodologías de diseño de software y de programación para móviles. Se actuliza regularmente
- Librador: otro currante de digital legends.
- DevilishGames: blog de david ferriz (aka zwitter) de devilish games, empresa que ha desarrollado los pajarracos esos que anuncian a la hora de los simpson en antena3, vamos, movil+kota en sus variantes. Además de estos juegos, han creado muchos más, han sido finalistas unas cuantas veces en artfutura. Ya era hora de que creara un blog.

Espero poder hacer un post "blogs de desarrolladores de videojuegos II" en poco tiempo :)

8.15.2006

Python en real flow

Leyendo algunas de las entradas de python-es, la lista de corrreo sobre python en español, leo un post que me ha resultado llamativo. En concreto la persona pregunta por cursos o formación en python para poder usarlo como lenguaje de script en real flow, un programa de simulación de fluidos, que no conocía, pero que debe ser bastante conocido en el mundillo de los efectos especiales. Como curiosidad decir que en la sección de contacto la sede está en Madrid y la empresa fue creada por dos españoles.

Parece que se empieza a usar una de los muchos potenciales de python, la facilidad embeberlo en otros lenguajes y usarlo como lenguaje de script, especialmente usando swig o boost::python.

Espero que en esta aplicación se hayan pensado bien el interface con python y no lo cambien en futuras versiones porque puede pasar como con blender. En blender hay scripts para dar y tomar, sin embargo no hay compatibilidad hacia atrás y el trabajo de mantener un script al día es alto, con la consecuente pérdida de tiempo y motivación. A ver si se asienta el API de blender y la gente puede empezar a hacer scripts que tengan duración y sobretodo robustez, algo de lo que carecen la mayoría de scripts de Blender.

8.13.2006

Qué no hacer al diseñar software

Recientemente he descubierto el blog de mig21 y uno de los títulos de las entradas me llamó la atención: "el auge y la caída de CORBA". Cuando en quinto estudiamos middleware, esa capa utópica en la que sería posible hacerlo todo transparente al programador, nunca fallara, podría ser distribuida y de la que todos los gurús tenían algo que decir, algo me decía que algo tan bueno no podría ser verdad.

A medida que descubres cómo funciona RPC, con su sistema interno y, lo peor, el sistema de programación, te das cuenta que algo así es imposible que llegue a funcionar bien. Es tedioso montar un sistema simple con RPC, no entiendo como pudieron montar algo que funciona tan bien como NFS.

Pero la cosa no queda ahí, porque alguien decidió que también podría hacerse middleware para sistemas orientados a objetos y se le ocurrió CORBA que era aún mejor que RPC y todo lo conocido porque abarcaba absolutamente todo: todos los lenguajes, todas las posibilidades. Asombrado me quedé cuando vi que había empresas, como telefónica i+d, que lo usan. Cómo podría alguien usar algo tan sumamente enrevesado y complejo?

Por eso no me sorprende nada ver como CORBA muere y mucho más viendo las razones de sentido común pero tan dificiles de llevar a la práctica que enumera mig21 en el post que paso a copiar aquí:

"""
1 Los consorcios de estandarización necesitan reglas sólidas para estandarizar las mejores prácticas
2 Ningún estándar debería aprobarse sin una implementación de referencia
3 Ningún estándar debería aprobarse sin haber sido usado para en algunos proyectos de complejidad realista
4 El software libre/abierto tiene procesos de selección darwiniana y por ello se adapta mejor a las reglas anteriores
5 Para crear un software de calidad, la habilidad para decir "no" es más importante que la de decir "si"
"""

Las más importantes para mi, la 2 y la 3 que son la misma y la 5. Las primeras porque cualquier que haya hecho algo en su vida sabe que los toros desde la barrera se ven bien y la última porque la perfección es imposible.

Está claro, yo aún no he visto ninguna tecnología basada en algo fantástico como son los componentes o los WS que funcione. Sin embargo, cosas simples como AJAX están hasta en la sopa.

8.09.2006

Me voy a Murcia

Aviso: contenido personal

Como dije, antes de ayer estuve en Murcia en una entrevista de trabajo. Salí el domingo a las 5 de la mañana - mi coche no tiene aire acondicionado -, llegué allí sobre las 12:00, no sin problemas gracias a un "pequeño" atascto en la A-7 desde murcia hasta alicante (gracias N-340). Después de encontrar la oficina, estuve más o menos una hora en una entrevista muy informal y entretenida. Estuvimos hablando de temas de 3D, de lo que sabía, de lo que hacían, me enseñaron cosas,etc. Mi novia, que estaba presente, me dijo que era lo más friki que había escuchado hacía años.

Ayer me llamaron para decirme que estaban interesados y lógicamente yo también, así que en breve me desplazaré a murcia para quedarme una temporadita. Ahora a buscar piso y preparar :).

Por cierto, GMV me respondió el correo diciendo que:"mis conocimientos y experiencia no se ajustan al proceso de selección" pero mantendrán mi cv en su BBDD para futuras pruebas de selección. El mail, típico de plantilla, que no pego aquí por que venía con una "licencia" un tanto restrictiva, estaba firmado digitalmente, esto es, habían escaneado la firma del señor que me lo había enviado y la habían puesto en un attach.


Entre este blog y mi actuación en las entrevistas, me estoy buscando una cantidad de amigos en las empresas de acojone, pero me puede esta forma de tratar a las personas, no sería mejor decir la verdad en vez de un correo prefabricado... aunque bueno, mejor eso que no decir nada, como hace telefónica i+d, tecsidel, etc. Debo ser el único que piensa que cuando voy a una entrevista soy javier santana y no el currículum número X o el segundo candidato y que la misma molestia que te tomas tú en ir a conocerles podrían tener ellos en dedicarte unos minutos en escribir un mail personalizado. Triste.

8.06.2006

Trabajo: Capítulo II

aviso: post con contenido personal

Después de la esperada desilusión de GMV, vuelvo al ataque con otra oferta de trabajo, pero esta vez cambiando de tercio.

Mi idea hasta ahora era la de intentar encontrar trabajo por una zona cercana a mi casa siempre y cuando el trabajo me interesara. El tema es una cuestión de calidad de vida, aunque, claro está, tampoco puedo estar toda la vida intentando encontrar trabajo en un sitio donde no lo hay o no lo consigo.

En mi pueblo cuando queremos decir que algo está lejos decimos que está en murcia y ahí es precisamente donde voy a ir mañana a hacer una entrevista. Del trabajo no sé demasiado, solo sé que une dos de mis grandes aficiones, C++ y OpenGL.

Seguiré posteando, mañana desde el pocketpc, seguramente desde alguna playa del mediterraneo :)

8.03.2006

Desarrollo actual: cubeout

En los ratos libres de estos días estoy programando un pequeño juego de carreras de naes estilo wipeout. No es un juego muy original ni tampoco pretende ser una maravilla, trato de quitarme la espinita que tengo clavada de la jugabilidad en mis juegos anteriores y creo que con este de momento lo estoy consiguiendo, es jugable :).

EL juego está a un 80%, me falta casi todo la parte del renderizado que quiero darle un mejor aspecto y pulir los típicos fallos y bugs que siempre aparecen.

En este juego estoy tratando de meterlo todo en 96kb, ahora mismo el ejecutable comprimido con UPX ocupa unos 40kb y de momento tiene solo una canción dentro del ejecutable. Todo lo demás es generado, la pista, las texturas incluso los efectos de sonido.

Bueno, dejando a un lado la chapa técnica la peculiaridad del juego es que un 30% de las naves corren más que tú y la única forma de pillarlas es usando los típicos turbos. Pero claro, los turbos son limitados y la única forma de conseguir rellenar los turbos es estando al rebufo de una nave (si te deja). Con lo cual la carrera se convierte más que en una carrera a morir, en una estrategia, porque si adelantas al primero, tarde o temprano de adelantará, con lo cual lo interesante es permanecer detrás de él hasta los últimos metros :).

Bueno, una foto:



Un ejemplo de nave:

8.01.2006

Así se empieza

En stratos, web que aglutina a todos los que nos interesa el desarrollo de videojuegos, se está debatiendo este post de clockwork orange sobre el desarrollo de videojuegos en España. Cómo siempre que se habla de empresa en stratos, se termina hablando de cosas diferentes, arreglando el mundo y echándo la culpa a la sociedad o a cualquier ente susceptible de no reprochar nada.

Entre ellos he leído un post, concretamente de david ferriz, zwitter para los amigos, que voy a pasar a reproducir aquí, porque me parece un ejemplo y creo que tira abajo muchos mitos sobre el tema de "montatelo tú mismo". Verdaderamente interesante:

"""
Cita:
un tipo amateur no se va a exponer a invertir dinero en crear una empresa


Yo me he gastado una pasta en montar la empresa, asesores, administración, equipos, licencias, etc. No se cuanto durará, pero de momento nos da para comer haciendo juegos Smile , yo no tengo estudios empresariales, ni nada por el estilo, de hecho tengo 23 años, he estudiado un ciclo superior de ilustración, y cuando acabé, decidí que mi hobbie de tantos años... podía llegar a convertirse en mi trabajo. Todo es cuestión de intentarlo, ver posbilidades, de no rechazar clientes... por muy poco atractivo que sea hacer un juego de ese estilo, ... buscarse las castañas por internet, buscando clientes para gráficos shareware. No se, todo es cuestión de moverse.

Tengo muchos compañeros que estudiaban conmigo ilustración, que son verdaderos artistazos, pero no se han movido nada... y están currando en telepizza. Hay que moverse y no tener miedo a mostrar tu trabajo por foros de todas partes, por stratos, por foros de 3d, por indiegamer... etc. A alguien le interesará tarde o temprano.

De hecho, hace ya más de un año puse un post en indiegamer presentandome, mostrando algunos gráficos, etc... y todavía me llegan mails ofreciendome trabajos freelance. Está claro que al principio te la darás muchas veces con los presupuestos, ... y te tocará comerte proyectos enormes cobrando una mierda, pero eso se gana con la experiencia... y la experiencia se gana trabajando.

Yo no soy nadie, a si que no soy quien para dar consejos, por que no creo que mi empresa sea un ejemplo, pero bueno, a mi me da de comer... y pienso que si mucha gente rebajara un poco sus pretensiones... y en vez de trabajar en un AAA, se dedicara a otras cosas más pequeñas... le saldría mejor. No es tan bonito hacer un juego flash para una web... que participar en el ultimo juego de Commandos... pero bueno... a mi me vale.

Lo de arriesgarse o no... es otra cosa, yo nunca he tenido un duro, pero todo lo que gané trabajando como diseñador web, lo he invertido en la empresa. Como mucho... voy a perder ese dinero. Para trabajar en una empresa... tengo toda la vida, para intentar montar lo mio... no Smile

Cita:
no se va a exponer a invertir dinero en crear una empresa, para por ejemplo montar un negocio de shareware


Una opción a eso... es hacer un buen juego share o para móviles, en ratos libres... pero con seriedad, acabarlo, ponerlo a la venta... y esperar beneficios para poder invertirlos en la empresa. Para hacer eso, hay que tener las cosas claras, ser constante y profesional, y hay que sacrificarse. Yo antes que quejarme... prefiero intentar las cosas antes Very Happy

Cita:
Creo que muchos de los que no se lamentan tanto son los que realmente están haciendo cosas o intentándolo.


Eso pienso yo.
"""

7.31.2006

Rez: un juego para mujeres

En estos días he estado jugando al Rez de dreamcast. Es una verdadera gozada de juego, lo mires desde el punto de programador como desde el punto de vista de jugón. Es muy dinámico, tiene un montón de transiciones, todo está sincronizado, etc, etc. Recomiendo que si alguien no lo ha jugado, que lo haga, si puede ser con unos altavoces en condiciones y a un volumen razonable. También es interesante la web en cuanto a que explica la historia, lo que ha inspirado cada nivel, los creadores de la música

Mirando la entrada de la wikipedia me encuentro que algunas mujeres usan el pack de vibracion que viene con el juego (solo japón) para otros propósitos. Pase, siempre se ha bromeado de la utilizad de los vibradores en los mandos de la consola desde el rumble pack de nintendo64 y el dual shock, pero lo que es el colpo es que incluso se han programado drivers para controlarlo desde PC y que se integra con winamp/itunes/etc.

Ver para creer.

Blender para programadores

Blender, como espero todos sepais, es un software para modelado, renderizado y un largo etcétera relacionado con el 3D. Lo interesante es que permite crear scripts en python para manipular los objetos, exportarlos, importarlos y todo lo se te pueda ocurrir.

Como el tiempo es oro, cuando programas algo con cierta entidad siempre surge la necesidad de crearte herramientas que faciliten y agilicen el trabajo. Para crearte las herramientas se puede optar por la vía de programarte todo un GUI en OpenGL (o en tu api favorita), usar algunas de las librerías como MFC, windows forms, wxWidgets, etc, usar un lenguaje no apropiado o usar el apropiado (por ejemplo python). Es posible que se pueda aprovechar mucho del código del motor, juego o lo que sea para hacer la tools, en ese caso es lógico usar el mismo sistema que usas en el motor, sin embargo si no es así, lo ideal es usar un lenguaje que permita trabajar rápido y te de cosas ya hechas. No quiero ser repetitivo, pero python encaja perfectamente ahí.

En algún rato libre estoy programando un juego de carreras de naves estilo wipeout además intentándolo meter todo en 96kb. Lógicamente no voy a guardar todos los datos de geometría en el ejecutable, pudiéndolo generar, para qué voy a gastar espacio a lo tonto? :P. Para generar la pista a cualquier se le ocurre que con unos cuantos puntos y una interpolación cúbica es más que suficiente. Qué es lo que permite hacerlo en 5 minutos? pues Blender da soporte para hacer pequeños GUI con pocas líneas, fácil acceso a los vértices, objetos, etc y además tienes toda la potencia de python.

Por ejemplo, para los puntos que generarán la línea y a su vez la malla se puede exportar de la siguiente forma:


def export_c():
O = Blender.Object.GetSelected()[0];
me = O.getData();
f = open("export.h","w");
f.write("vec3f track[%d]={\n"%len(me.verts));
for v in me.verts:
f.write("{%f,%f,%f},\n" %(v.co[0],v.co[1],v.co[2]));
f.write("};");
f.close();


Basta con seleccionar la malla y exportará los vértices. De esta forma puedo editar los vértices en blender a mi gusto y dar al botón de export, recompilo y ya lo tengo. De otra forma tendría que estar editando los vértices a mano hasta que consiguiera el resultado que quiero.




Las naves, por ejemplo, están basadas en quads con muy pocos polys. Para incluirlas en el código he creado un exportador:


def export(name):
p = Object.GetSelected()[0];
if(not p): return;
objname = p.getData(True);

me = NMesh.GetRaw(objname);
objname = objname.replace(".","_");
f = open(name,"w");
verts = [];
xmax = me.verts[0].co[0];
xmin = me.verts[0].co[0];
ymax = me.verts[0].co[1];
ymin = me.verts[0].co[1];
zmax = me.verts[0].co[2];
zmin = me.verts[0].co[2];

total = [0,0,0]
for x in me.verts:

if(xmax < x.co[0]): xmax = x.co[0];
if(xmin > x.co[0]): xmin = x.co[0];

if(ymax < x.co[1]): ymax = x.co[1];
if(ymin > x.co[1]): ymin = x.co[1];

if(zmax < x.co[2]): zmax = x.co[2];
if(zmin > x.co[2]): zmin = x.co[2];
total[0] = total[0] + x.co[0];
total[2] = total[1] + x.co[1];
total[1] = total[2] + x.co[2];

total[0] /= len(me.verts);
total[1] /= len(me.verts);
total[2] /= len(me.verts);
m = max(xmax-xmin,ymax-ymin,zmax-zmin);

f.write("float %s_verts[]={"%objname);

xpan = (xmax-xmin)/m;
ypan = (ymax-ymin)/m;
zpan = (zmax-zmin)/m;
for x in me.verts:
cx = (x.co[0]-xmin)/m;
cy = (x.co[1]-ymin)/m;
cz = (x.co[2]-zmin)/m;


f.write("%ff,%ff,%ff," % (cx-xpan/2.0,cy-ypan/2.0,cz-zpan/2.0));
f.write("};\n");

f.write("unsigned short %s_inds[]={"%objname);
for x in me.faces:
f.write("%d,%d,%d,%d," % (x.v[0].index,x.v[1].index,x.v[2].index,x.v[3].index));
f.write("};\n");

f.write("meshdata %s_mesh={"%objname);
f.write("%d,%s_verts,%d,%s_inds,0,0,0,0,0};\n"%( len(me.verts),objname,len(me.faces)*4,objname ));




Fácil, no?

De postre un wipeout en 32kb: el loco megabus

Record: post más antiguo

Sí, según blogger mi primer post lo escribí en en 1990 hace ya cosa de 16 años. Qué, alguien me supera?

7.27.2006

Se nota lo del euro

noticia en 20 minutos. Ojo, 20 minutos y escrito por una persona que puede que tenga título de periodista, pero bueno, los datos ahí están. Bueno, también lo citan en elmundo, en la sección de economía.

Yo ya sé donde voy a echar mi currículum, ¿y tú? ¿vas a buscar trabajos en infojobs pudiendo estar de funcionario sin opositar?

7.26.2006

gimp para aventuras gráficas

No hace demasiado tiempo ponía una imagen que mostraba el desarrollo de una pantalla de una aventura gráfica. Ayer, visitando los blogs de omepet he encontrado un pequeño resumen del proceso de creación de un escenario de "la insula de don sancho" y ademas con GIMP, del que hace poco se ha sabido que tiene solo 5 desarrollares fijos :)

7.24.2006

Trabajo: capítulo I, conclusión

Aviso: post personal

El pasado lunes tuve una entrevista en GMV y creo que está bien hacer un pequeño resumen de lo que pasó, sobretodo cara a quien lea esto y tenga que enfrentarse a una entrevista.

La entrevista fue bien, esto es, yo estuve tranquilo y conté todo lo que tenía que contar. Primero me hicieron una entrevista técnica y posteriormente la típica de RRHH, pero esta vez por videoconferencia.

En la entrevista técnica me hicieron las típicas preguntas:
- repaso del currículum
- ronda de "estarías dispuesto a..." [ quedarte más horas | hacer cosas a bajo nivel | etc]
- ronda de "sabrías hacer ..."
- en la carrera qué es lo que más/menos te gustó y porqué.
- inglés

Para terminar me hicieron colocar en el orden que yo quisiera las siguientes palabras: perfección, trabajo ,eficiencia y otra que no recuerdo :P. Curiosa pregunta.

La entrevista de RRHH, aún más típica:

- repaso de currículum, por qué desjaste tal y cual trabajo
- especial atención a la carrera: asignaturas que más/menos te gustaron, definir lo que hiciste en el proyecto fin de carrera incluyendo metodología y tecnologías ( muy incisivo en lenguahjes de programación y SSOO, sobretodo linux)
- tienes pensado seguir estudiando? qué?
- cómo te definirías, qué mejorarías de ti
- has trabajado en trabajo en grupo, cuándo y cómo.
- estarías dispuesto a irte fuera
- qué tal ha ido la entrevista?
- inglés, escrito y conversación.

Una de las preguntas que hacen muchas veces y que es difícil de responder es: por qué crees que te mereces más el puesto que otro?.

En mi caso hubo partes un poco "tensas", no en la parte técnica, en la que yo di hasta donde podía dar, esto es, a nivel de programación/electrónica sé lo que sé y a nivel de autonomía en el trabajo puedo hacer lo que puedo hacer. Sin embargo en la entrevista de RRHH hubo almenos dos momentos difíciles: me preguntó que asignatura me había gustado menos, respondí que economía, asignaturas de sociedad, sin embargo quedé claro que me habían gustado a pesar que habían sido las que menos. Más adelante me preguntó que si quería seguir estudiando, a lo que respondí que sí y le dije que querría estudiar algo que no tuviera mucho que ver con la tecnología, por aquello de cambiar. Entonces me dijo que eso era una contradicción... momento curioso. El otro momentazo fue cuando le dije que había desarrollado el última PFC bajo pocketpc, entonces me preguntó que si usando linux y windows. Le expliqué que pocketpc es una plataforma que trabaja bajo windows mobile y las herramientas de desarrollo lógicamente eran bajo windows. Ella respondió "ah!, lo siento" como si yo hubiera echado en cara que no supiera eso (o eso me pareció), lo más lejos de mi intención.

El resultado... el que esperaba. A pesar de que el puesto de trabajo me parecía muy interesante, me gustaba y creo que encajaría muy bien, la sensación de la entrevista no fue buena, no en cuento al trato con ellos, que creo que fue positivo, si no para obtener el puesto. Sigue rascando.

7.22.2006

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.

7.21.2006

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.

7.18.2006

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.

7.17.2006

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 :)

7.15.2006

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.

7.12.2006

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)

7.10.2006

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.

7.07.2006

bodas frikis

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

7.06.2006

Nos vamos a sanfermines

Como viene siendo habitual, me voy a sanfermines. Hay que estar tocado para meterse en aquella ciudad abarrotada de gente, pero tienen algo que enganchan.

Por otro lado, una imagencilla nueva:



Es la misma escena de siempre (envmap+fresnel+ao+difusse), pero esta vez con un poco de color. Esta semana he estado re-implementando un poco el minimotor para poder usar cubemaps de forma transparente.

7.02.2006

Dónde está la gente de Valladolid

Hace tiempo que me pregunto dónde está la gente de Valladolid y, bueno, de Castilla y León. Me explico, leo todos los días planet augcyl, leo las listas de ñuva, sigo algunos foros y blogs, etc y me resulta curioso que haya tan poca gente de Valladolid que se "mueva".

Y me explico de nuevo, no estoy diciendo que seamos más lerdos, ni más tontos, nada de eso, pero me gustaría saber dónde se mete la gente que hace cosas, que programa, que monta charlas y conferencias, etc.

De las personas que conozco, las que más se mueven son la gente de soleup montando talleres, charlas, distros e incluso empresas. También dentro del planet augcyl hay gente que hace (y dice) cosas interesantes, como por ejemplo Diego Calleja, David Grajal o Wonder (ya fuera del planet), pero no conozco nadie más (un respecto de los que me haya olvidado o no conozca) que se mueva en ese entorno.

Imagino que habrá gente de Valladolid (y CyL) que me lea, sobretodo por el planet augcyl, y me gustaría saber si hay gente que se mueva, que programe algo, que le interese y haga cosas. Ya no pregunto nisiquiera le interesa la programación gráfica (oh!)
o el 3D (arg!)

Estaría bien tener un banco de asociaciones/gente que haga cosas en valladolid/CyL.