Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





SDKs para videoconsolas

Iniciado por DarkGDK, 06 de Marzo de 2011, 03:53:56 PM

« anterior - próximo »

DarkGDK

Hola,

Se que existe XNA para desarrollar en XBox 360, también he leído sobre SDK´s para Wii y GameCube. Pero mi duda es, ¿estos SDK´s son los que usa Microsoft y Nintendo para hacer los videojuegos?

Molaría que las compañías que hacen las consolas, al igual que las compañías relacionadas con los móviles (Nokia, Apple, Android) dejaran a disposición de la gente SDK´s para que hubiera desarrolladores y que se pudieran hacer juegos profesionales sin necesidad de sentirse un hacker por hacer un "hola mundo" para GameCube o PlayStaion 2 por ejemplo.

A esto me refiero: http://ecetia.com/2008/12/se-encierra-para-conseguir-el-sdk-de-nintendo

¿Qué opináis?

Saludos.

Phoer

En este mundo todo se paga... Puedo contarte el caso, por ejemplo, de Nintendo:

Si quieres desarrollar para Nintendo, ya sea en DS, Wii, 3DS o Project Café, primero debes hablar con la sede central [en japonés, evidentemente, ya que el inglés les sigue siendo un misterio] conseguir cita presencial con ellos [véase en Japón], exponer qué quieres hacer, cómo, cómo es la empresa para la que trabajas en cuanto a tamaño, etc. Nintendo pone a debate la valía del proyecto y, si es viable, proporciona un kit de desarrollo el cual vale su pasta gansa. Tanto si sale el juego adelante o no, esa pasta ya la has invertido, y no la podrás recuperar. Si el proyecto sale adelante, tienes dos opciones: sacar el juego en versión física o mediante descarga digital. Si eliges la última opción evitas costes de producción y distribución, pero a parte del cacho de pastel que se queda la editora, Nintendo se queda con un porcentaje de cada juego descargado que alguien te compre. Si te decantas por el formato físico ya es más arriesgado, ya que pagarás por cada copia del juego [la cifra total, no la que vendes]. Felicidades si logras el millón de copias [cifra media] y consigues pagar los costes de desarrollo y distribución.

Obtener una SDK no es tan fácil. Ni siquiera con Miscrosoft, que puedes programar con el XNA de forma gratuita, algo que queda mucho más cercano, pero que, además, tienes que pasar por unos test de calidad si el producto sale a la venta, a parte de los gastos por descarga anteriormente mencionados...

Lo que se empieza a hacer desde hace un tiempo es que grandes empresas con sus propios motores gráficos distribuyen gratuitamente versiones capadas de sus motores, para que tú te montes tus pinitos gratuitamente. Eso sí, si quieres ganarte unos dineros con ese proyecto hecho con un motor gratuito externo, antes también vas a tener que pagar por la versión buena del motor gráfico [ya que la gratuita es para fines no económicos], además de pagar por el derecho de poder desarrollar para Sony, Microsoft, Nintendo, Apple o lo que quieras.

Vicente

Una puntualizacion, los tests de calidad con Microsoft y XNA son solo si haces un juego de XBLA o fisico. Para un juego de XBLIG no hace falta todo eso. A dia de hoy es la opcion mas sencilla para desarrollar en una consola.

Lo demas, como ha dicho Kimakun, es una movida conseguir un SDK oficial.

TrOnTxU

#3
En mi opinion (y esperemos que nadie me lo tenga en cuenta  ^_^'), el Homebrew (o XNA, o Net Yaroze en su epoca) es un gran punto de partida si lo que quieres es hacer es conocer las consola.

Depende mucho de lo animados que esten los "hackers" que modifiquen la toolchain(gcc generalmente) de compilacion, a facilitar el desarrollo "extraoficial", y no simplemente a crear un loader para piratear juegos (ultimamente me llevo mas decepciones con esto :( )
La "scene" que hay detras de cada dispositivo determina generalmente la cantidad de herramientas de "depuracion", etc que hay disponibles. En ocasiones (y seguramente debido a filtraciones de informacion) los SDK no oficiales, incluso ponen nombres muy pareciados a las funciones del SDK oficial, con lo que luego pasar a compilar con un SDK oficial puede no ser tan tedioso.
Hay un ejemplo que recuerde (al menos) de un juego de naves, que se programo con el SDK no oficial de la PSP, y luego salio como juego comercial de la misma consola.

Tambien creo (sobretodo en epocas de recruitment) que a la hora de encontrar gente para un proyecto que sepa programar, puedes encontrar, pero gente que este acostumbrada a las "limitaciones" de las consolas es mas dificil. Con lo que tienes que asumir un tiempo de formacion extra y esperar que se adapte, porque hay gente que es muy cabezona (y yo reconozco ser el primero  0:-) )


Pero por otra parte, comprendo enormente las reticencias de las compañias creadoras de las consolas a exponer publicamente muchos datos de las mismas, más con los ultimos "hackeos" que realmente estan perjudicando gravemente sus intereses, y de rebote a otras que se dedican a desarrollar, y a cruzar los dedos cuando sale la gold.


Asi que estoy entre dos vertientes que me afectan de manera "mas o menos" directa.
Pero mi consejo es que si quieres conocer las consolas tires de informacion de GDCs y informacion publica de Sony, Nintendo, o Microsoft.
Si quieres compilar y probar algo, deberas conseguir una consola que pueda cargar hombrew, y el sdk no oficial.
Pero: NO MAS LOADERS, POR FAVOR!!!


Un saludo.
Vicent: Linked-In  ***  ¡¡Ya tengo blog!!

Mars Attacks

Emmm... si quieres desarrollar para Nintendo, te vas a su web de desarrolladores y rellenas un bonito formulario en inglés, donde te pedirán información de la empresa (si no tienes empresa, olvídate). Si aceptan tu solicitud, podrás comprar sus kits y te darán acceso a la cuenta. A partir de ahí, tendrás como gasto fijo el rating del juego (aunque si encuentras publisher, se suelen encargar ellos) y las certificaciones de calidad (no sé ahora mismo si la primera es gratuita y las siguientes de pago, van evolucionando en este tipo de gestión según la competencia).

Con PS es tres cuartos de lo mismo. Con Microsoft (para juegos independientes) y Apple, al no necesitar más kit que la propia consola o móvil, basta con pagar por la posibilidad de publicar. La certificación es gratuita y ellos se encargan de añadirle el rating de edades basado en los contenidos.

TrOnTxU

#5
Cita de: Mars Attacks en 01 de Mayo de 2011, 06:39:28 PM
Emmm... si quieres desarrollar para Nintendo, te vas a su web de desarrolladores y rellenas un bonito formulario en inglés, donde te pedirán información de la empresa (si no tienes empresa, olvídate). Si aceptan tu solicitud, podrás comprar sus kits y te darán acceso a la cuenta. ...

Coincidirás conmigo Mars, en que la "educacion" de desarrolladores para consolas es un problema. Ya que como bien has dicho, tienes que ser empresa para que se te licencie como desarrollador oficial y poder acceder a los kits, compiladores y documentación.
Además se suele exigir tener desarrolladores con experiencia en la industria para obtener dicha licencia, y si es una empresa pequeña, suele ser la pescadilla que se muerde la cola.

Además las restricciones respecto a la difusion (o que salga algo del estudio) en cuanto a kits, documentacion, etc es muy rigurosa, y altamente penada.

En conclusión poder contratar a desarrolladores con experiencia en estas es muy, muy dificil.

Yo personalmente he tenido problemas serios con gente inexperta, que se "emperran" en no seguir las politicas de gestion de memoria, o adaptarse a las limitaciones de cada dispositivo, quejandose continuamente: "Pues vaya mierda de consola!".

Y cuanto más avanza la tecnologia (con los nuevos procesadores de varios nucleos, y los procesadores matriciales), más tiempo de formación se necesita.

Por eso yo a veces confio en que la "desventaja" para las ventas de los custom firmwares y las "modificaciones" de consolas que permiten cargar homebrew, puede formar a gente en dispositivos tan cerrados.
Al menos fue mi caso, que me formé "minimamente" en algunas consolas (GBA,NDS,PSP,...) mediante el hombrew, antes de comenzar a trabajar con el kit oficial. Aunque reconozco, que siempre es más "comodo" trabajar con el oficial, y los devkits te suelen facilitar mucho la vida.

Por desgracia, como he dicho antes, cada vez menos gente de las "scenes" de las consolas intereasada en aprender a programar, y muchos más chavalines "pirateando" la consola, y haciendo más loaders (como si no hubieran suficientes!)


Aun asi, siempre que sea para aprender, el Homebrew, me sigue pareciendo un buen punto de arranque. Nunca para acabar un juego comercial, pero si para formarte.

Un saludo.


EDIT:
Como tambien dije en la reunion de Empresas que organizo Nae el año pasado en el Esat, creo que es necesario, al menos en estas academias o en escuelas de algun tipo, se adquieran licencias de educacion (que haberlas, las hay) para poder formar a la gente (además de tener profesores con experiencia en la industria).
Pero yo siempre he sido de los que le tiran más horas en casa ;)
Vicent: Linked-In  ***  ¡¡Ya tengo blog!!

Mars Attacks

Mi comentario iba por lo de Kimakun sobre hablar japonés, debí citar el tema.

Sobre lo que has respondido, obviamente programar para consolas implica muchas restricciones y una forma de pensar "de guerra", si no optimizando continuamente, sí apuntándose dónde se puede optimizar para cuando haga falta, probando tras cada cambio si está todo limpio de leaks, diseñarlo bien desde el principio para asegurarse de que no se está fragmentando...  Ciertamente es un estrés poco apto para no iniciados, aunque también "adiestra" en estilos de programación muy limpios.

eglomer

Cita de: Mars Attacks en 02 de Mayo de 2011, 02:50:40 PMCiertamente es un estrés poco apto para no iniciados, aunque también "adiestra" en estilos de programación muy limpios.

Ya te digo. Después de más de tres años en la scene de la nintendo DS cuando hago algo para PC siempre se me olvida que no tengo las limitaciones de memoria de la consola, y muchas veces me descubro pensando si no será demasiada carga de variables o de gráficos.  ^_^'

Gallo

De los SDKs que mencionas, XNA es un framework oficial de Microsoft para el desarrollo indie en XBOX 360, que te limita a desarrollar en C# y a no poder usar un buen puñado de cosas. Por otro lado XBOX 360 tiene un SDK oficial que funciona con C++ y tienes bastante libertad en cuanto a programación, puedes tirar de la API de DirectX directamente, y también seria el SDK necesario para usar motores como el Unreal Engine 3, o creo que incluso Unity. El compilador intuyo que es similar si no el mismo que el de Visual C++.

PS3, PSP, Nintendo DS o Wii no tienen SDKs de este tipo, solo hay el oficial. El compilador creo que en su mayoria son una versión propia de la compañia del GCC, el de PS3 seguro, para PS3 el SDK además trae consigo bastantes herramientas, algunas mas necesarias como el armatoste de PS3 para desarrollo, el plug-in para poder usar el compilador desde visual studio, otras mas opcionales como el Phyre engine, un motor bastante completito, creo que bastante usado en juegos de PS Network. Todo esto se paga y bastante mas caro que en los mobiles y ademas require cumplir ciertas condiciones, por ejemplo, en Nintendo no basta con tener una compañia, también es obligatorio tener un local/oficina.

La nueva PS Vita, también tiene un SDK oficial similar al de PS3, pero además también se anunció hace tiempo que habria un SDK indie, muy al estilo de XNA creo yo, incluso también iba a ser C#. Este SDK esta enfocado a dispositivos Android que sean PS Certified, pero en el fondo seguro qeu todos lo queremos probar en la PS Vita jeje. Desconozco si este se pagará.

Lo de tener que ir a japón para solicitar SDKs.. humm yo tengo entendido que no es así eh, todas las compañias tienen un portal para desarrolladores donde puedes solicitar el SDK rellenando una serie de formularios, y están en inglés, incluso los de Nintendo.

Los otros SDKs que mencionas, que te permiten desarrollar en consola de forma extraoficial, son precisamente eso, no-oficiales, se basan sobretodo en ingenieria inversa y bueno, jamas podrás publicar un juego hecho con esos SDKS PEEEEEEEERO, son una carta de presentación insuperable en una entrevista. Aunque es mas sencillito desarrollar para mobil y ademas si que podrás vender lo que hagas pagando la licencia que es baratisima.

Vicente

Cita de: Gallo en 19 de Enero de 2012, 10:12:41 AM
La nueva PS Vita, también tiene un SDK oficial similar al de PS3, pero además también se anunció hace tiempo que habria un SDK indie, muy al estilo de XNA creo yo, incluso también iba a ser C#. Este SDK esta enfocado a dispositivos Android que sean PS Certified, pero en el fondo seguro qeu todos lo queremos probar en la PS Vita jeje. Desconozco si este se pagará.

Este SDK esta bajo NDA todavia (aunque te puedes apuntar a la beta), y por lo que se ha leido en algun blog es bastante calcado a XNA, pero con alguna cosa extra (como una libreria para la UI).

Gallo

Cita de: Vicente en 19 de Enero de 2012, 11:38:08 AM
Cita de: Gallo en 19 de Enero de 2012, 10:12:41 AM
La nueva PS Vita, también tiene un SDK oficial similar al de PS3, pero además también se anunció hace tiempo que habria un SDK indie, muy al estilo de XNA creo yo, incluso también iba a ser C#. Este SDK esta enfocado a dispositivos Android que sean PS Certified, pero en el fondo seguro qeu todos lo queremos probar en la PS Vita jeje. Desconozco si este se pagará.

Este SDK esta bajo NDA todavia (aunque te puedes apuntar a la beta), y por lo que se ha leido en algun blog es bastante calcado a XNA, pero con alguna cosa extra (como una libreria para la UI).

Llevo apuntado a la beta desde noviembre jejeje, pero nanai de la china.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.