Llevaba meses sin postear en EOL, pero quiero dar mi opinión sobre el tema, pese a que despues de lo dicho por Edy conincidirá bastante.
Yo llevo ya unos añitos en el tema de la programación (pocos currando, bsatantes en plan hobby), y desde hace no mucho, me estoy metiendo de lleno en el tema videojuegos.
El problema actual es que es terrible hacer un desarrollo:
- OpenGL es bueno para 3D, pero en 2D es muy flojo, y solo es API de graficos, no incorpora sonido ni nada. De ahi proyectos como OpenAL, y miles de SDKs hechos por gente, pero ninguno "estandar".
-DirectX evoluciona de puta madre, en vez de ser el caos que era en las versiones 5 y anteriores, ahora es bastante sencillo de emplear, y proporciona temas de red, sonido, graficos, controles, etc.
Aun asi, el tener que ir sobre windows significa que tienes que meter un gran % de lineas de código solo para comprobar errores, posibles valores incorrectos, handles que no funcionan, pérdidas de surfaces al hacer alt-tab, y un sinfin de cosas que hacen que pases (sobretodo al principio) la mayor parte del tiempo haciendo codigo "estable" en vez de programando un juego en sí.
-Si pasamos a dispositivos móviles, la cosa es aún mas diversa: J2ME para móviles, .NET o eMbedded Visual C++ a pelo para PocketPCs, C++ especial para Palm, Symbian, Mophum,SKDs para GBAdvance...
Realmente cada vez es mas duro realizar videojuegos (sobretodo ENTRAR en ese mundo). Desde el nivel de matemáticas y programación necesario ("pensar" en 3D, ser un mostro de las APIs, saberse 2000 trucos para optimizar algoritmos y fragmentos de código,...), hasta la gran diversidad de lenguajes, APIs, SDKs, Middlewares y lo que se te ocurra.
Algo he leido de que OpenGL pretende integrar en su siguiente versión gestión de audio, E/S, etc. Eso es orientarlo para hacer la competencia a DirectX claramente, porque ahi pierde terreno cada vez mas.
Todo este rollo va para explicar, que pese a que todos odiemos a M$ por sus p***s windows (viva W2k, y a la basura los demas), esta propuesta puede suponer una gran ayuda para desarrolladores, puesto que en vez de empaparme 200 cosas para hacer un juego en PC, y luego tener que cambiar 100 de esas cosas para hacer la versión XBox, cambiando muchisimas menos se tendría el producto listo, lo cual beneficiaria a los jugadores, y a los desarrolladores q se pueden dejar mas pasta en efectos, musica, o lo que quieran.
Por mi parte, bienvenido sea, al igual que el .NET tiene sus defectos, pero la labor de integración de lenguajes, los servicios web (que son compatibles con los Web Services de Sun, por ejemplo) y su cojonudo entorno de desarrollo, para mi son un avance.
Monopoliar no va a monopolizar.... si no es rápido, en PC nadie lo usará y seguirán con VC++ (nadie programa juegos en .NET porque van lentos). Sony seguirá sus peculiares sistemas de programación, Nintendo los suyos, etc.
Y por ultimo, decir que yo para viciarme uso mi PC, mi PS2 y mi GBA (no poseo XBox), y si realmente montan esto bien, la futura XBox 2 podría caer en mis manos, no ya para jugar, sino para trastear con ella.
No demonicemos todo solo por su procedencia. A veces hay cosas que son realmente beneficiosas. Y sino, el tiempo dirá y la gente responderá positiva o negativamente
Ta prontor !