PDA

Ver la versión completa : Empezando a programar



Rarok
22/02/2008, 12:03
Vale, que estais hasta las narices de responder a preguntas como las mías pues fijo, pero es que toda la información que encuentro está terriblemente desfasada con links rotos y demás problemas.

Os pongo en situación, tengo Mac, nociones ligeras de programación en C pero ninguna experiencia real, me hago un cristo con los IDE, con compilar la herramientas de desarrollo y esas cosas, que es justo donde me gustaría que me dijeseis donde buscar la información.

La idea es poder programar en C para la GP2X F-200 (no estoy al tanto de si el firmware requiere de otras versiones de las herramientas de desarrollo), sobre las herramientas y librerías pues... ¿las SDL como van de rendimiento? ¿que otras alternativas hay?

Especialmente me gustaría que me explicaseis como poner un IDE a funcionar y preparado.

Tengo Mac, pero si es necesario pues también podría utilizar Windows o Linux(distro basada en Debian)

MoReNiLLo
22/02/2008, 12:17
para programar te hubiera venido mejor una F-100 que admite telnet con la F-100 ... no se

Jurk
22/02/2008, 12:23
mira en el wiki (http://wiki.gp32spain.com/index.php/Programaci%C3%B3n_para_GP2X:_primeros_pasos)

hardyx
22/02/2008, 12:39
El SDK oficial de la gp2x incluye todo lo necesario para programar tanto en Windows como en Linux. Si no sabes mucho te recomiendo que te instales el de Windows que tiene el IDE Dev-C++ con resalte de sintaxis y ayuda de funciones, además de la SDL. Puedes compilar tus programas para Windows y probarlos, y también puedes compilar para la GP2X. El código será el mismo.

Ñuño Martínez
22/02/2008, 12:44
¡Qué manía con empezar a programar en C!

Si quieres aprender, aprende Object Pascal (Free Pascal (http://www.freepascal.org) está disponible para la GP32) y cuando sepas ya podrás elegir otro lenguaje, o seguir con Pascal que mola mucho.

Jurk
22/02/2008, 12:49
Ñuño, edita el link y cambia el com por org

Rarok
22/02/2008, 13:01
mira en el wiki (http://wiki.gp32spain.com/index.php/Programaci%C3%B3n_para_GP2X:_primeros_pasos)

Los links que aparecen ahí me llevan a posts del 2005 ¿Se siguen utilizando exactamente las mismas versiones? ¿No hay problemas por haberse cambiado el firmware?

¡Qué manía con empezar a programar en C!

Si quieres aprender, aprende Object Pascal (Free Pascal (http://www.freepascal.com) está disponible para la GP32) y cuando sepas ya podrás elegir otro lenguaje, o seguir con Pascal que mola mucho.

A ver, las nociones de programación básicas ya las tengo, lo que no he hecho es meterme en un proyecto real por lo que quería ponerme a hacer algunos programas básicos (sistema gestor de lista de la compra XDDDD) para la blanquita, lo que se de Pascal es porque en la asignatura de introducción a la programación en la facultad pues es lo que damos, y no hago más que cagarme en las limitaciones con las que me encuentro, la verdad es que me siento mucho más comodo con C.

Y sobre empezar a programar con C... yo empecé con Python[wei5] pero para una máquina limitada como es la GP2X pues prefería algo compilado y no interpretado.

Akui to Higeki
22/02/2008, 13:13
Deberíamos hacer una live de linux con todo el entorno preparado para programar para la GP2X, así los que quieran empezar a cacharrear tendrían menos problemas. Luego ya sabiendo como va el tema sería más fácil que cada uno se lo instale para su SO. ¿O igual existe ya y la desconozco?

juanvvc
22/02/2008, 13:23
¿Se siguen utilizando exactamente las mismas versiones? ¿No hay problemas por haberse cambiado el firmware?

En la actualidad yo prefiero el entorno de Open2x para programar en C. Tiene librerías actualizadas y compiladores GNU en su versión 4.1.1, así que es la más recomendable. En su página oficial puedes encontrar compilados para los sistemas habituales y herramientas para compilarlo tú mismo si lo necesitas. Open2x usa las herramientas GNU habituales por consola, así que el IDE adecuado es el que más te guste compatible con ellas (que son todos, prácticamente)

La wiki en inglés suele estar bastante más actualizada que la española: http://wiki.gp2x.org/wiki/Getting_started_with_GP2X_development

En cuanto a tu duda si los cambios de firmware influyen... Dado que lo recomendable es linkar estáticamente a las librerías para soportar todas las versiones de la consola, los cambios de firmware son totalmente irrelevantes en cuanto al soporte de librerías.

Finalmente no desprecias la posibilidad de programar en Python si ya sabes: es fácil y rápido y tiene más eficiencia de la que puedas pensar porque usa las SDL directamente :) Si tu juego/programa no necesita scrolls horizontales y verticales constantes, Python es una buena opción (Fenix también, pero ya que dices saber Python...)

^MiSaTo^
22/02/2008, 13:25
Deberíamos hacer una live de linux con todo el entorno preparado para programar para la GP2X, así los que quieran empezar a cacharrear tendrían menos problemas. Luego ya sabiendo como va el tema sería más fácil que cada uno se lo instale para su SO. ¿O igual existe ya y la desconozco?
Yo estaba mirando como hacerme una para mi con los entornos de GP32, GP2X y NDS. No me cuesta nada compartirlo cuando lo tenga hecho ;)

Ñuño Martínez
22/02/2008, 14:03
Ñuño, edita el link y cambia el com por org Gracias por el aviso. Las prisas...

A ver, las nociones de programación básicas ya las tengo, (...) ¡Ah, bueno! Es que como escribiste "Empezando a programar" pues... De todas formas, eso de "limitaciones del Pascal" es muy relativo, pero en fin, no voy a discutir. Disfruta de tu C.

Rarok
22/02/2008, 14:28
En la actualidad yo prefiero el entorno de Open2x para programar en C. Tiene librerías actualizadas y compiladores GNU en su versión 4.1.1, así que es la más recomendable. En su página oficial puedes encontrar compilados para los sistemas habituales y herramientas para compilarlo tú mismo si lo necesitas. Open2x usa las herramientas GNU habituales por consola, así que el IDE adecuado es el que más te guste compatible con ellas (que son todos, prácticamente)

La wiki en inglés suele estar bastante más actualizada que la española: http://wiki.gp2x.org/wiki/Getting_started_with_GP2X_development

En cuanto a tu duda si los cambios de firmware influyen... Dado que lo recomendable es linkar estáticamente a las librerías para soportar todas las versiones de la consola, los cambios de firmware son totalmente irrelevantes en cuanto al soporte de librerías.

Finalmente no desprecias la posibilidad de programar en Python si ya sabes: es fácil y rápido y tiene más eficiencia de la que puedas pensar porque usa las SDL directamente :) Si tu juego/programa no necesita scrolls horizontales y verticales constantes, Python es una buena opción (Fenix también, pero ya que dices saber Python...)

Y yo pensando que Open2x no era nada más que un firmware alternativo :loco:...
Muchas gracias por el link, está bastante más majo que el wiki en español.
Sobre lo de usar o no Python pues es que no descartaba hacerme algún día un jueguecillo así que me acostumbre a la máquina, por eso quería empezar directamente con C y no andar bailando de lenguajes. Pero como me de mucha lata ponerme con C pues a tomar por saco y uso Python que es mucho más cómodo de trabajar con él.



Gracias por el aviso. Las prisas...
¡Ah, bueno! Es que como escribiste "Empezando a programar" pues... De todas formas, eso de "limitaciones del Pascal" es muy relativo, pero en fin, no voy a discutir. Disfruta de tu C.
A ver, no digo que sea limitado, solo que pone algunos límites y pegas a los que yo no se enfrentarme, otra cosa es que no me extrañaría que sea más culpa de que usamos el TurboPascal del año catachispún antes que del lenguaje en si.



De todas en todas lo que si veo es que ponerse a intentarlo en Mac está chungo, ya probé hace un tiempo y no fuí capaz de compilar el entorno de desarrollo, así que esta tarde me pondré a intalar eLive (si, me gusta esa distribución tan rara :P) en el MacBook y mañana tocará ponerse al chollo [wei5]

juanvvc
22/02/2008, 16:01
Pero como me de mucha lata ponerme con C pues a tomar por saco y uso Python que es mucho más cómodo de trabajar con él.

Como siempre digo cuando convenzo a alguien para usar Python: puedes echar un vistazo a mis ejemplos de juegos en Python para Gp2x (http://globus.upc.es/~juanvvc/downloads/download.php?file=libgp2x.zip), que incluye implementaciones del Tetris, Reversi, Pong y uno de los minijuegos de Crash-nosequé. Como además Python/Pygame funciona tal cual en Mac, no tendrás que instalar ningún sistema operativo nuevo en tu ordenador para desarrollar.

chipan
22/02/2008, 16:12
¿Y nadie recomienda fenix?

juanvvc
22/02/2008, 16:31
¿Y nadie recomienda fenix?

Sí, yo, en el mensaje 9 :)

En realidad te estábamos esperando...

Rarok
22/02/2008, 16:56
¿Y nadie recomienda fenix?

A fenix le eché un ojo, y la verdad es que está muy majo, lo que pasa es que sabiendo defenderme más o menos en python... Lo que si que tiene especialmente bueno fenix para este contexto es que por lo que puedo ver está mucho mejor documentado su uso en para GP2X (también puede ser que yo no tengo ni zorra de donde buscar :P).

Pero vamos, la verdad es que entre fenix y python la cosa anda muy igualada, al menos en sencillez, en rendimiento ni idea...

Como os dije voy a ver si soy capaz de hacer algo que no de asco y vergüenza ajena en C y si no doy pues me quedo con la serpiente

Drumpi
22/02/2008, 18:21
¿Me toca ya difundir la palabra fenixera? XD
Hombre, Fenix, rendimiento, mucho no tiene, porque es pseudointerpretado y todo eso, pero no se yo hasta que punto llegan los demás lenguajes.
Eso si, con Fenix te dejas de lios: programas con el bloc de notas, usas el fxc para compilar como el que abre el gedit por linea de comandos (o si te resulta más fácil arrastrar el código al exe... :P) y listo, y puedes ver resultados a partir de la 15 linea de código (el resto es el nobre del programa, variables, seteo de pantalla y los 3 comentarios de lo guapo que eres).
Eso si, para aprender... tiene una filosofía distinta, que quizás se ponga de moda dentro de unos años cuando en lugar de hablar de dual/quadra-core hablemos de procesadores multi-core, y cambiar el chip cuesta un poquito, pero no mucho XD

Yo por ejemplo estoy pensando en pasarme al C+SDL, para aprender algo que se use más, mejorar un poco el rendimiento y superar ciertas limitaciones que me he encontrado de tanto usarlo (por ejemplo, el 3d para esta consola es impensable fuera de lenguajes de bajo/medio nivel). Pero hasta llegar a eso han pasado muchas lineas de código, y con las que he aprendido más que con cualquier profesor.

turco
23/02/2008, 18:01
Yo estaba mirando como hacerme una para mi con los entornos de GP32, GP2X y NDS. No me cuesta nada compartirlo cuando lo tenga hechoEso sería algo genial ^MiSaTo^l!! [wei6]

Jurk
23/02/2008, 18:32
Misato, seria la bomba, un live cd de programacion para portatiles... solo una cosa, incluye la GBA tambien porfa

davidgutierrez
24/02/2008, 11:38
Yo tengo hecho un juego en Python y ahora mismo estoy haciendo un programita para PC y para la Pandora cuando salga (si tiene suficiente potencia para echarlo a andar, que yo creo que sí), así que me conozco un poquito el lenguaje...

Lo primero que tengo que decir es que es un lenguaje que me encanta, super simple, super fácil de programar y que con PyGame está tirado hacer un juego. Como comentan por ahí arriba, PyGame es una librería que usa internamente SDL por lo que también es bastante rápida... sin embargo, yo no lo utilizaría en la GP2x para juegos que no sean puzzles o similares. Verás, yo le veo 2 problemas a usar Python en la GP2x:
El tiempo de carga de la aplicación. En mi juego Sliding Puzzle, el tiempo que tarda en cargarse el intérprete de Python en la GP2x es de unos 5 segundos durante los cuáles se queda la pantalla en negro. Si es la primera vez que cargas el juego, tarda unos 10 segundos en arrancar debido a que también tiene que compilar los ficheros *.py. Tal vez esto no sea un problema para ti, pero supongo que habrá gente para la que sí sea importante esos 5 segundos con la pantalla en negro.
Siempre tuve la impresión de que mi juego no iba "todo lo fluido que debería" en la GP2x respecto a cómo iba en el ordenador. Estuve mirando el consumo de memoria de varios programitas Python en el PC e incluso los más simplones requerían más de 40 MB de RAM. No lo he comprobado en la GP2x, pero si el intérprete de Python de la GP2x también requiere de esos 40 MB para funcionar, teniendo en cuenta que la GP2x tiene tan solo 64 MB (y supongo que el Sistema Operativo también ocupara parte de la memoria restante), la verdad es que nos queda muy poca RAM disponible para las aplicaciones. Eso explicaría esa falta de fluidez que noté en la GP2x, no por la falta de velocidad de la consola sino por la falta de RAM.Fenix la verdad es que no lo conozco, pero mi opinión sobre Python es que es un buen lenguaje y podría utilizarse pefectamente para hacer juegos, pero creo que la GP2x no es lo suficientemente potente como para hacer juegos en Python que no sean de puzzle (o tal vez sea yo el que no está optimizando bien los recursos, que también puede ser).

Yo por mi parte, voy a continuar con mi programilla en Python y voy a intentar ir aprendiendo poco a poco a programar en C++ con OpenGL ES 2.0 (pensando ya más en la Pandora que en la GP2x, pero sin olvidarme por completo de ella).

EDIT:
-----------------------------------------
¡¡¡Queremos ese live CD ya!!! :D

bufalo_1973
24/02/2008, 13:02
Fenix la verdad es que no lo conozco, pero mi opinión sobre Python es que es un buen lenguaje y podría utilizarse pefectamente para hacer juegos, pero creo que la GP2x no es lo suficientemente potente como para hacer juegos en Python que no sean de puzzle (o tal vez sea yo el que no está optimizando bien los recursos, que también puede ser).

Siempre se puede hacer una cosa, si sabes Python y C[++]: haces el juego en Python (desarrollo más rápido) y, cuando ya funciona, lo pasas a C[++], que si no recuerdo mal incluso hay un programa que hace parte del trabajo.