Google
 

jueves, noviembre 08, 2007

¿Lenguajes "alternativos" en los motores de juegos?

No nos desengañemos, salvo honrosas excepciones en C# o Java como jMonkeyEngine, no hay ni un sólo motor 3d (al menos que yo tenga constancia) orientado a juegos comerciales que usen otro lenguaje que no sea C/C++.

¿Es que no es posible crear un buen motor 3d en algún lenguaje funcional? Puedo entender que no se escoja Lisp por no ser tan rápido como C/C++ (aunque considero que es lo suficientemente rápido) pero ¿porqué no tirar de OCaml o de Haskell por poner dos ejemplos? Creo que los lenguajes funcionales son perfectos para el desarrollo de un motor 3d. Además, hoy en dia todos los lenguajes tienen FFI para poder acceder a librerias como OpenGL o OpenAL.

Soya3D está escrito integramente en Python. Aunque aún le falta mucho camino por recorrer es un buen ejemplo.

También tenemos Flag, un juego escrito totalmente en Haskell.

miércoles, noviembre 07, 2007

IOCCC 2007

Vía Barrapunto leo que ya han salido los ganadores del último International Obfuscated C Code Contest. Para los que no sepan de que va el concurso decir que es ya todo un clásico en cuanto a osificación de programas escritos en C, ejemplos extremos del mal uso al que se le puede dar un lenguaje.

Aún no han publicado el código fuente de los últimos ganadores, pero para ir abriendo boca podéis ver los de los anteriores certámenes.

Para que se os vaya abriendo el apetito os dejo todo un clásico en cuanto a programas ofuscados. El fractal del Mandelbrot:
float e,a,b,c,d;int i;main(){for(b=0;b<4;b+=.091){for(a=0;a<4;a+=.051)
{c=0;d=0;for(i=99;--i&&c*c+d*d<4;)e=c*c-d*d+a-2,d=2*c*d+b-2,c=e;
putchar(". ·*%#"[i&5]);}puts("");}}