Projecto De Un Juego 3d

Aviso
Sobre el cierre del foro

Durante más de dos décadas, la pasión por exprimir al máximo el potencial de las videoconsolas ha sido una parte fundamental de EOL. Sin embargo, la masificación del juego en línea (que impide la modificación de la consola para otros usos) y la proliferación de multitud de dispositivos como portátiles de uso general y media centers han ido relegando la scene a un papel más secundario.

En este contexto y, tras ser advertidos de que el contenido de numerosos hilos del foro podría infringir los derechos de propiedad intelectual o industrial de terceros y analizar con nuestro servicio jurídico la situación, hemos decidido cerrar el foro. En consecuencia, tampoco se podrán volver a tratar los contenidos de este foro en otros foros de temática general.
Hola.

Desde que mi padre me compro hace siglos [ayay] mi primera consola la Atari 2600 vi que lo que mas me gustaba eran los videojuegos pero nunca pude inmaginar que en realidad lo que mas me gustaria seria hacer mis propios juegos o programas, que descubri cuando me compraron (esta claro que me compraron todo porque con 11 años o asi no tienes un duro para comprarlo tu [sonrisa] ) mi primer pc un maravilloso pentium 100 con el windows 3.2 que guapooooooo!!!

Bueno y dejandome de ostias....tengo conocimientos bastantes estensos de C# y no ando mal en C++ pero despues de estar durante tiempo mirando, eligiendo y viendo el tema de los motores graficos me di cuenta que ni de coña por mucha voluntad llegas a algo sin ser un informatico muy empoyon con lo que un dia encontre un programa que permite o ayuda a la creacion de juegos 3D con "cierta facilidad" y rapidez y la verdad es que al de solo 2 horas ya tenia creada una habitacion con iluminacion en tiempo real, efectos de agua, espejos, puertas electricas que se habrian a cierto distancia o puertas normales etc.

Este programa esta basado en C++ y si sabes usar C# o Pascal por ejemplo es muy facil el enterderlo y conseguir resultados gracias a su simplificacion de planteamiento en el que se mete el codigo justo y necesario para la condicion que tu quieras pero el resto lo genera el programa automaticamente.

En cuanto tenga preparada mi GC con el Qoob Pro voy a probar a ver si los juegos creados de esta manera una vez compilados cargan en ella pero mi duda es....

Se que hay gente que ha cargado programas amater, la cual se supone que es la finalidad del modchip, pero que tipo de lenguaje de programacion soporta? que tipos de graficos? etc...
Se puede meter el programa en .exe o hay que modificarlo a .god?

Me explico:
Yo puedo crear un juego o programa simple de eleccion de condiciones que se planteen en pantalla en C# o C++ y lo compilo. Eso se que iria en la GC porque ya he visto ejemplos de gente que ha creado juegos de preguntas y parecidos.

Pero tambien podria querer hacer un juego en 3D tendre que usar un motor grafico salvo que podria usar con dos cojon...s el SDK de GameCube y con mucha suerte conseguir algo decente pero no tengo ni idea de como va ese SDK ni mucha gente mientras que de los motores graficos hay mucha mas informacion.
Con lo que usaria uno ya creado para pc.
Y ese es el principal problema.
Seria compatible este motor con la arquitectura de la GameCube¿?
Ambos pueden estar programados en C++ pero no por ello creo que tengan que ser compatibles.
o algun port de N64 de pc o de neogeo???? un FBA o un kawaks
Si quieres el sdk de gamecube, yo recuerdo haberlo visto por mIRC, pero imagino que ha de estar pesadito, asi que puedes buscarlo en los canales donde se intercambian "copias de seguridad":D
Mira en http://www.gcdev.com mas exactametne en la seccion de documentos y downloads

Por otro lado, que coño tiene que ver el lenguaje de programacion que uses con el chip de la GC???? Tu creas tu programa, lo compilas, lo enlazas y lo pasas a .dol u otro ejecutable binario valido .bin... hay aplicaciones para esto.

Si usas un motor grafico y esta solo en c++ (no sera nada del otro mundo ya que estos suelen ser dependientes de plataforma) con recompilarlo con el cross-compiler deberia de funcionar con pocos cambios (poner direccion de buffers y asegurarte de qeu los colores del buffer son los adecuados, aparte de otras cositas :D). La cuestion es: las rutinas graficas, de sonido y que hagan uso de asm (si es solo c++ no hace falta) tendras que adaptarlas a las de GCLib o SDL para GC-Linux si quieres que funcionen.
Lo del lenguaje lo digo porque el SO de la gamecube esta programado por Metrowerks y la herramienta oficial de desarrollo para la Gamecube es su propia herramienta CodeWarrior. Al mirar las especificaciones del programa nombrado dice: "Advanced compilers and linkers for PowerPC C, C++, EC++ and assembly"(ademas de plugins para .Net y poco mas) y por eso mismo si creo que importe el lenguaje elegido a la hora de hacer el projecto dado que basicamente si sigues leyendo el manul de CodeWarrior ves que este programa esta optimizado casi en su totalidad para la programacion en C#/C++ y lo que tu dices es:
Por otro lado, que coño tiene que ver el lenguaje de programacion que uses con el chip de la GC???? Tu creas tu programa, lo compilas, lo enlazas y lo pasas a .dol u otro ejecutable binario valido .bin... hay aplicaciones para esto.
y con ello me estas diciendo el paso que es necesario para que la GC pueda detectar y acceder al programa creado, pero una vez cargado el mismo de la memoria Flash o de un miniDVD (o como se quiera) la GameCube pasa a interpretar los archivos contenidos en esta imagen xq el .dol o .bin no es nada mas que un emboltorio del programa (que explicacion mas bruta XD) y si estos estarian programados por ejemplo en java dudo mucho que la GameCube pueda interpretarlos.

Espero que me entiendas mi opinion y un cosa, por favor no uses expresiones como
Por otro lado, que coño tiene que ver
porque yo solo he dado mi opinion sin animo de ofender ni nada ju [mamaaaaa]

Pd: Gracias por la idea de recompilarlo con el cross-compiler ya que tenia el problema de saber si habria algun programa para poder hacerlo. Si pudieras decirme para que sirve concretamente ese programa? me refiero si solo es para GC o si sirve para otros sistemas? :) asias
Disculpa mismalos modales anteriormente. Pero la verdad es que de ha dejado muy turbado tu post, se ve que no tienes experiencia en este sentido y realizar un juego 3D no es algo trivial como pueda deducirse de tu post de intenciones :)

¿Metrowerks ha programado el SO de la Gamecube??? No lo se (aunque lo dudo), pero creo que te has precipitado afirmando ciertas cosas. Codewarrior es el entorno de desarrollo profesional de alto rendimiento por excelencia, se trata de un IDE con soporte de compiladores multiplataforma (cross-compiler, vamos que estas en un x86 y creas codigo para arm, ppc, mips...) y editor adecuado a c++ y otros muchos lenguajes que has mencionado. Se utiliza en Gamecube, PS2, PSP, GP32, GBA,.... y un largo etcetera, pero no es la unica forma de crear aplicaciones. Lo que lo diferencia es el hecho de que los SDKs suelen ser estar preparados para el y el hecho de que es de pago.

En la scene no suelen usarse estos compiladores/IDEs por varias razones: son de pago, usan librerias con copyright (de pago tambien) y no son facilmente accesibles (aunque se puede obtener una verison de prueba gratuita). Lo que se hace es utilizar el GCC, compilador libre por excelencia preparado para PPC que es el procesador de la GC. Informate mas sobre cmo crear tu propia cadena de herramientas para crear aplicaciones para GC (esto es compilador ppc, enlazador y conversor de binarios). Usualmente se trabaja con fichero elf, formato abierto de ficheros que se utiliza en linux y multitud de plataformas y permite crear ejecutables; luego la herramienta que carga el fichero y prepara la CPU para su ejecución puede requerir algun formato especial como DOL o GCM para ello convertimos los ELF a estos formatos con herramientas creadas con ese proposito (que tendras que poner en tu tool-chain despues del enlazador o ejecutarlas tu a mano para obtener ficheros ejecutables en la gC).

Utilizar un engine 3D en GC implica tener uno que sea de codigo libre o hacerlo desde cero (esto se lo dejamos a unos pocos entendidos). Con uno de codigo abierto se podria hacer un port, pero habria que adecuarlo a la utilizacion de GCLib y optimizarlo dado el hardware de la GC; ¿te ves preparado para portarlo? Posiblemente cualquier engine abierto que conozcas tire de OpenGL o bien sea una reliquia como el de Quake o un raytracer como el de Doom; OGL no creo que no esta portado o implementado en para GC, otra cosa mas para portar y esto seria algo muy serio (siempre se puede portar TinyGL o algo asi).

Para el Audio y 2D puedes tirar de SDL que esta portado ya, pero sobre GC-Linux no nativo, si no me equivoco. Hoy por hoy es la mejor opcion, pero ya te digo que los 3D estan complicados si no tiras de GCLib y curras muchisimo.

Suerte y perdon si parezco esceptico u arrogante.
http://www.metrowerks.com/MW/Develop/Games/GC/Default.htm Esa es la pagina oficial de metrowerks y si puedes leerla veras que hacia la mitad pone
NINTENDO GAMECUBE OS was built with CodeWarrior tools, so your code will integrate seamlessly, saving valuable development time.
y con eso queda defendido mi primer comentario y para el segundo anotar la siguiente fotografia :D Imagen en la que si te fijas en el punto numero 5 veras que dicen muy claro "Install NINTENDO GAMECUBE Compiler" y hacen mencion a la herramienta Codewarrior y debajo aparece el proDG que no es mas que un Debugger que junto con otras herramientas de esa misma compañia permite depurar el trabajo incluso viendo el resultado en tiempo real gracias a un sistema de conexino via USB que tienen creado a modo de los modchip.

Si yo cuando digo algo no lo digo porque si a menos de que sea una idea, pero si estoy diciendo datos que suenan a reales sera por algo [enfa].
Y en lo relacionado al trabajo con la extension elf ya se como va porque tengo un esquema completo de como el chip Gecko de la Gc trabaja y me he estado bajando informacion del sdk libre para GC. Y para que veais como va el proces real os lo anoto aqui: (Claro esta que nadie puede tner acceso al hardware[decaio])

*Se requeriria el hardware siguiente: DDH,NPDP-GDEV,NPDP-GW,NPDP-Cartridge,NPDP-Console,NPDP-GBOX,NR-Writer and NR-Disc o lo que es lo mismo un nintendo GC normal y corriente para terminar.
Imagen
KFR escribió:http://www.metrowerks.com/MW/Develop/Games/GC/Default.htm Esa es la pagina oficial de metrowerks y si puedes leerla veras que hacia la mitad pone y con eso queda defendido mi primer comentario y para el segundo anotar la siguiente fotografia :D Imagen en la que si te fijas en el punto numero 5 veras que dicen muy claro "Install NINTENDO GAMECUBE Compiler" y hacen mencion a la herramienta Codewarrior y debajo aparece el proDG que no es mas que un Debugger que junto con otras herramientas de esa misma compañia permite depurar el trabajo incluso viendo el resultado en tiempo real gracias a un sistema de conexino via USB que tienen creado a modo de los modchip.


Primero, que el SO de Gamecube haya sido programado usando Codewarrior no quiere decir que el mismo lo haya hecho Metrowerks.

Segundo, ya sabemos que Codewarrior soporta compilacion cruzada de ejecutables de GC, instalas el compilador y punto como dice donde lo has puesto. El problema esta, como dije antes, en que los kits de desarrollo son caros y el SDK de GC con su plugin para debug sobre hardware lo vende Nintendo, junto con sus bonitas licencias oscenamente caras y restrigidas a profesionales bajo contratos de confidencialidad severos (como hacen todas las empresas del sector, menos Gamepark :D:D).

Estos kits de desarrollo son esos a los que se suele hacer referencia cuando se dice: "Nintendo/Sony/Microsoft ya han mandad los SDK para su nueva consola alas third parties". En este caso SDK no es Software Development Kit sino Standar Development Kit.

En ningun momento he dicho que hays dado datos erroneos, sino que el camino del desarrollo homebrew va por otro lado :) El esquema que pones de hardware utilizado en el desrrollo es muy bonito, ya sabes que se generan ELF y luego se pasan a GCM; pero eso es para aplicaciones profesinales, nosotros usamos el PC o el MAC y para probar las aplicaciones se usa PSO-Loader o SDLoader para no gastar miniDVDs a lo tonto. Vamos que el proceso y lo que se usa difiere completamente desde que obtienes el .ELF, a parte de que los profesionales cuentan con mejores SDKs y mucha mas documentacion (bueno, nosotros tenemos mucha tambien gracias al trabajo de algunos cmo has podido ver en el link que te puse antes).

Sigue con esas ganas y seguro que dentro de poco podemos ver algun programa tuyo, animo :)
Primero decir que en realidad quien haya programado el OS de la GC da igual porque podrian haber sido unos pikmin aliados con unos teletubis malignos con intencion de conquistar el mundo (com se me va la pinza [fies]) que al fin y al cabo seria lo mismo porque lo que importa es que al estar programado con Codewarrior si se usara este mismo programa para la creacion de juegos la compatibilidad seria 100% y no daria lugar a problemas inesperados que podrian surgir si se usara algun otro software de desarrollo.

En cuanto a los SDK que se van repartiendo para las third parties ya se que no solo son el software sino el conjunto de hardware y software necesario y firmado, aparte de los contratos de confidencialidad exclusividad etc...
Y tambien he tenido en cuenta que es imposible acceder a ese hardware ademas de ser muy dificil usar el software porque esta firmado y el programa no da problemas pero a la hora de compilar las librerias estan firmadas y restringe el acceso a ellas (esq he probado [666]) por lo que mi idea no es usar ese software sino el saber que programas se podrian usar ya que no sabia pero durante este hilo he ido conociendo gracias a los comentarios varios programas y librerias gratis a las cuales dare uso en poco tiempo :P.

Y el tema del metodo de carga y prueba de los proyectos en el scene de GC y su homebrew decirte que creo que puede haber otro metodo mucho mas eficad para ello que el PSO Loader o SD Loader y para ello mira el hilo de este mismo foro llamado http://www.elotrolado.net/showthread.php?s=&threadid=456303 en el que anoto una peazo informacion.
Amigo.. te recomiendo mucho q te vayas por el tema de un juego llamado Ragnarok Online.... su emulacion esta MUY avanzada.. pero porke Ragnarok Online??? pues

este juego es online asi ke... no solo creas un juego si no ke muchas personas pueden compartirlo y jugar en linea y ver tu creacion. Ragnarok Online es un juego en 3d con jugadores en 2D o 3D si prefieres crealos con las posibilidades de ahora... el servidor esta programado en C y el juego como tal es gratis y lo puedes bajar de iro.ragnarokonline.com aunke te recomiendo la version koreana ke esta mucho mas avanzada (mas jobs, items, sprites etc).. el juego es 99.99999999% modificable.... es mas yo estoy en un proyecto para hacer un Zelda Online y con las posibilidades actuales se ke kedara increible jojojo ^^ cya ;)
9 respuestas