PDA

Ver la versión completa : Recomendarme, please¡¡



raiser
12/05/2009, 12:16
Hola a tod@s, necesito que me recomendeís... estoy un poco perdido en cuanto a la GP2X Wiz, actualmente la tengo reservada y me la he comprado más que nada para desarrollar mis juegos ya que me gusta mucho picar código fuente.

Ahora bien, necesito que me recomendeís en que lenguaje programo para la GP2X Wiz porque estoy indeciso, por una parte me gustaria empezar con C/C++ y SDL pero la verdad es que solo he tocado C y de esto hace ya unos cuantos años, pero pensandolo bien y mirando de cara al futuro creo que me conviene empezar con C/C++ porque a la vez que me divierto programando juegos aprendo un lenguaje con futuro (hablando laboralmente). La otra opción posible es programar en Fenix, es un lenguaje que nunca lo he visto de cerca, no tengo ni idea de como funciona ni de su sintaxis y demás cosas, según he leído parece ser mucho más fácil que C/C++ por lo que eso puede animar a ver resultado más rápidamente... en fin, decidme algo que ya estoy mareado.

Otra duda que tengo es a la hora de portar tanto código C/C++ como Fenix, ¿como lo hago? ¿me podeís decir la forma correcta de hacerlo tanto para C/C++ como para Fenix?

Y por último, que S.O me recomendaís para programar tanto en C/C++ como en Fenix para la GP2X Wiz, ¿Windows, Linux o Mac? Lo digo porque parece ser que la mayoría de las aplicaciones e IDEs están para la plataforma Windows, aunque yo soy más de Linux (Ubuntu), además por ejemplo en C++ hay partes del lenguaje que son específicas para Windows como por ejemplo windows.h y claro no se si será posible portar a GP2X Wiz aplicaciones de este tipo que utilicen caracteristicas propias de un S.O concreto.

Muchas gracias

Saludos.:brindis:

Theck
12/05/2009, 12:52
Pues ya has comentado las opciones típicas, C+SDL (sea C++ o C) te permitirá explotar más la máquina ya que Fenix es un lenguaje interpretado y por lo tanto pierde algo de rendimiento por el camino. Aunque esto realmente solo lo notarías si hicieras un proyecto muy basto, si no mira el Wiztern de Chemaris que está hecho con Fenix y como tira.

Con Fenix es más fácil tener resultados antes porque es un lenguaje pensado para juegos y te dará muchas funciones ya hechas que te ahorran mucho trabajo pero el hecho de ser un lenguaje orientado a procesos puede hacer un como complicado entender como va al principio, pero tampoco es una gran diferencia.


Portar un programa no es más que coger su código fuente y adaptarlo a la nueva máquina. Si el programa está en C++ pues tendrás que hacerlo en C++ (bueno, con mucho curro podrías portarlo a otro lenguaje pero es casi literalmente reescribir el programa).


Para desarrollar en C++ hay soluciones en todos los S.O., Eclipse es un IDE que existe en windows y en linux (en mac no lo se) y si no hay otros tantos. La cosa está en lo complicado que será hacerte un toolchain y dejarlo funcionando pero suele haber bastante documentación y en GP2X tenías toolchains ya hechos y preparados leyendo su readme como el de Open2X.

En Fenix ya me pierdo más pero hay programas para todo en línea de comandos y en windows tienes un IDE completo que te deja las cosas bastante fáciles. Creo recordar que hasta con MAC podías desarrollar sin demasiados problemas.

Drumpi
13/05/2009, 13:32
Fenix es un lenguaje un tanto especial. Si estas pensando dedicarte profesionalmente es mejor que tires a C+SDL, aunque Fenix es un buen paso intermedio para novatos.

Fenix es especial, en el sentido en que no sólo te facilita todo el tratamiento de gráficos (modificando dos variables cambias su posición, con otra el ángulo, con otra el alpha...), sonido (cargar, reproducir, detener y descargar, san sacabó) e interfaces (teclado, raton, joysticks...). Usa un lenguaje de programación concurrente, donde los "procesos" se ejecutan "a la vez". Esto para juegos puede ser más intuitivo (lo creas y lo dejas ejecutándose) que frente a lenguajes secuenciales (donde deberías crear estructuras por cada elemento, una lista de ejecución, etc...), pero tiene una pega: eso no lo verás en otros lenguajes (a menos que te metas en sistemas multicore o trabajes inter-relacionando programas) y cuesta un poco adaptarse.

Con todo y con eso, se pueden hacer cosas sencillas muy rápidamente, y también cosas realmente complejas sólo aptas para profesionales (de momento no conozco a NADIE que sepa manejar todas las posibilidades de Fenix).

La ventaja de Fenix es que, cuando compilas el código, ya tienes el juego listo para todas las plataformas, sólo necesitas un ejecutable, el intérprete (FXI). Puedes desarrollarlo en cualquier sistema, pues con el propio bloc de notas te sirve. Los recursos (gráficos, sonidos, etc... ) ya es otra cosa, porque los formatos propios de Fenix (FPG, MAP, FNT...) requieren programas específicos (FPGEdit, FNTEdit...) que funcionan sólo en windows, aunque hay utilidades por linea de comandos (MAP.exe, FPG.exe) que son multiplataforma... y si no, Fenix tiene herramientas suficientes para diseñar tu propio editor en muy poco tiempo.

Ahora, con BennuGD, se están desarrollando herramientas multiplataforma, compatibles, empezando por un FPGEdit en código Bennu (que es el mismo lenguaje que Fenix, con otro nombre, y más potencia), así que puede que a medio plazo tampoco sea un problema.

Segata Sanshiro
13/05/2009, 14:51
Si no tienes mucha experiencia previa, en Fenix consigues los mismos resultados que en C++ y SDL en mucho menos de la mitad de tiempo. Eso sí, puede que llegues a "tocar techo" en Fenix (problemas de rendimiento, bugs que no dependen de ti, necesitas 3D...) y necesites empezar con C++, SDL y si se da el caso, OpenGL (aunque probablemente quede mucho para eso, si estás preguntándote por qué lenguaje empezar ;))