Ver la versión completa : Andromeda Library for Fenix
l_draven
23/12/2007, 15:01
Saludos a todos compis, pues ya he venido a mi ciudad a pasar las navidades hasta el dia 8 de enero, y como aqui no tengo mi ordenador bueno para poder seguir haciendo 3D decentemente y continuar con el legends para pc, ya que el miercoles me llego el AsusEEE y toy ahora mismo con el, pues he decidido estas navidades ponerme a rehacer bien la libreria que empece hace tiempo llamada Andromeda, que espero que ayude a la gente con sus desarrollos,y que si que puedo ir haciendo sin problemas en el Asus.
Os dejo un link de descarga de la primera version muy temprana de la libreria, ahora mismo tiene dos tipos de objetos - device y actor -.
Os adjunto en el zip tambien un pequeno ejemplo jugable para que veais que ahora mismo con lo poco que tiene la libreria ya se pueden hacer cosas, asi que poco a poco ire anadiendo mas funciones y features que poco a poco ampliaran las posibiliades y funcionalidades de Andromeda.
La libreria es el fichero AndromedaLib.prg y solo hay que meterla con un include en tu proyecto para tener acceso a todas sus funciones (que ahora son pocas pero ira aumentando jeje)
el link es:
http://www.hotlinkfiles.com/files/755040_iztsp/Andromeda01_1.zip
Bueno pues espero que os pueda ayudar en algo, ya me contareis si lo probais.
Cualquier cosa preguntarme por aqui o correo.
Un abrazo y feliz navidad!!!!
PD: Se me olvido decir que todo lo estoy preparando con la version 0.92 del fenix asi que deberia rular con el ultimate fenix de Puck, ahora no tengo pilas en la gp2x ni el cable de corriente, asi que si alguno quiere probar el ejemplo en la gp2x que diga si rula o no, yo en cuanto pueda lo probare.Gracias
loixartx
23/12/2007, 17:16
ahora mismo voy a probarla en la gp.
Gracias!!!
EDITO
Parece que funciona perfect.
Un saludo
l_draven tienes un privado.
Gracias por la librería, después de exámenes le pegaré un vistazo.
l_draven
23/12/2007, 18:37
gracias chicos.
loixartx genial, todo rula bien no? guay guay. gracias por probarlo.
Bleim, Mensaje privado contestado :-)
Un abrazote.
Mírale!! Qué callao te lo tenías, puñetero!!!
Alguna vez os he informado de Andromeda Lib. Es una chulísima librería de funciones gráficas para Fenix que , facilita enormemente el desarrollo de juegos, y en especial para la GP2X..
Probadla, que seguro que os gusta! [wei]
Eso de que facilita es muy elastico; sin desmerecer para nada el trabajo del señor draven; a mi lo único que me hacen este tipo de librerías es entorpecerme. Si no recuerdo mal, en las primeras versiones se hacía uso de variables objeto y punteros; que a mi modo de ver; son la cosa menos intuitiva y más liante que existe en el mundo de la programación, sobre todo para novatos.
una libreria para fenix... desde mi punto de vista totalmente inecesario y aún entorpeciendo más el rendimiento que puede dar fenix de si... Además, que fenix lo suelen usar los novatos, y usar una libreria o codigo de otra persona suele ser complicado.
una libreria para fenix... desde mi punto de vista totalmente inecesario y aún entorpeciendo más el rendimiento que puede dar fenix de si... Además, que fenix lo suelen usar los novatos, y usar una libreria o codigo de otra persona suele ser complicado.
No tiene porque entorpecer en el rendimiento de fenix, ten en cuenta de que son funciones que usas como las que ya vienen en el propio fenix (y que vienen escritas en Fenix...) por lo que su uso ni deberia entorpecer el rendimiento de fenix ni su utilizacion para los novatos, solamente aprende a usar esas funciones y listo, y si no te gustan,no las uses, al fin y al cabo simplemente son funciones... :)
Ya la probaré cuando llegue a casa l_Draven, gracias por tu curro ^^
PharaOnyx
23/12/2007, 20:57
Claro que afecta al rendimiento de la máquina. Para ejemplo, un botón:
- código principal > función de Fenix
- código principal > función de librería > función de Fenix
Estás metiendo una capa intermedia de llamadas a funciones. Ahora multiplícalo por... digamos 100 y ya tienes 100 llamadas a funciones que te habrías podido ahorrar. Y cualquiera que programe sabe que la llamada a una función no es algo trivial para un procesador :)
Saludos, Alex
pd: sin ánimo de quitar mérito, claro. Al fin y al cabo... ¿qué son las funciones de un lenguaje?. Pues una capa intermedia entre la máquina y el lenguaje en sí
Bueno, ahora toca defenderla un poco, ya que tampoco creo que la capa sea tan pesada como para que se note demasiado. Habría que ver como está programada; supongo que al declarar el objeto se crea un proceso preprogramado y punto. Pero sigo pensando que las variables objeto y los punteros son conceptos demasiado avanzados para un novato.
loixartx
23/12/2007, 21:42
Pues a mi me parece que los punteros no es un concepto avanzado. En la universidad, en la primera asignatura de programación, después de ver lo típico: tipos primitivos, arrays y funciones, es prácticamente lo siguiente que enseñan.
Y segundo, no creo que esté bien hablar de objetos en fenix cuando resulta que es un lenguaje totalmente procedural.
Un saludo!
Claro que afecta al rendimiento de la máquina. Para ejemplo, un botón:
- código principal > función de Fenix
- código principal > función de librería > función de Fenix
Estás metiendo una capa intermedia de llamadas a funciones. Ahora multiplícalo por... digamos 100 y ya tienes 100 llamadas a funciones que te habrías podido ahorrar. Y cualquiera que programe sabe que la llamada a una función no es algo trivial para un procesador :)
Saludos, Alex
pd: sin ánimo de quitar mérito, claro. Al fin y al cabo... ¿qué son las funciones de un lenguaje?. Pues una capa intermedia entre la máquina y el lenguaje en sí
Esto es a lo que yo me queria referir jejeje, si en tu juego creas un proceso de "poner prota" que te muestra el protagonista en pantalla, no es lo mismo que llaves a la funcion "ponprota" de andromeda??? se que a mayor escala no es lo mismo, pero en tan poco codigo supongo que no se notará diferencia alguna de crear tu la funcion, a usar una ya hecha.. (y lo que te ahorras de escribir..xD)
son la cosa menos intuitiva y más liante que existe en el mundo de la programación, sobre todo para novatos.
bueno tambien hay que decir que tambien recomendamos fenix para los novatos, y sin embargo la programacion con varios procesos corriendo en paralelo de fenix pueden ser no muy faciles de entender y depurar en algunos momentos :D la programacion secuencial para algunas cosas puede ser mas sencilla para novatos :) pero si, tienes razon, lo punteros los carga el diablo :D
Aiken
< - >
Pues a mi me parece que los punteros no es un concepto avanzado. En la universidad, en la primera asignatura de programación, después de ver lo típico: tipos primitivos, arrays y funciones, es prácticamente lo siguiente que enseñan.
pero eso es porque es una cosa muy molona para poder quitarse de encima a mogollon de estudiantes poniendo cosas ***** de punteros y asi se libran de todos los estudiantes que no caben en las clases de segundo :D
Aiken
< - >
pd: sin ánimo de quitar mérito, claro. Al fin y al cabo... ¿qué son las funciones de un lenguaje?. Pues una capa intermedia entre la máquina y el lenguaje en sí
programas en codigo maquina habitualmente? :D
tienes razon, pero sin librerias no podriamos hacer nada, otra cosa es que si esta bien programada o aun mejor si tu eres capaz de hacerlo sin libreria pues mucho mejor claro, siempre que tengas tiempo para optimizar. tambien hay que decir que por todas estas capas ... antes se programaban juegazos en solo 48K y ahora hay mierda juegos en 2GB y necesitas una aceleradora de la leche ... jeje. Pero bueno, los tiempos evolucionan, auque estoy de acuerdo contigo que a veces se meten capas innecesarias (pero seguramente no seria "rentable" programar sin ellas).
Aiken
PharaOnyx
23/12/2007, 22:30
Esto es a lo que yo me queria referir jejeje, si en tu juego creas un proceso de "poner prota" que te muestra el protagonista en pantalla, no es lo mismo que llaves a la funcion "ponprota" de andromeda??? se que a mayor escala no es lo mismo, pero en tan poco codigo supongo que no se notará diferencia alguna de crear tu la funcion, a usar una ya hecha.. (y lo que te ahorras de escribir..xD)
No, no es lo mismo. Digamos que en tu código llamas a una función de Fenix que dibuja un pixel. Con una librería intermedia llamas a una función de esa librería (una llamada) que es la encargada de dibujar un pixel (otra llamada). Estás haciendo más llamadas con la librería que sin ella
¿Que es más cómodo?. Indudablemente sí. ¿Que perjudica al rendimiento?. Pues también. Quizás no lo notes mucho a pequeña escala, pero si tienes un código medianamente grande o haces uso de esas llamadas dentro de un bucle 'for' con bastantes iteraciones entonces sí lo notarás
Saludos, Alex
Pues a mi me parece que los punteros no es un concepto avanzado. En la universidad, en la primera asignatura de programación, después de ver lo típico: tipos primitivos, arrays y funciones, es prácticamente lo siguiente que enseñan.
Y segundo, no creo que esté bien hablar de objetos en fenix cuando resulta que es un lenguaje totalmente procedural.
Un saludo!
No digo que los punteros sean un concepto avanzado; digo que es un concepto muy abstracto y ambiguo para alguien que está aprendiendo por su cuenta; aparte de poco menos que innecesario en fenix. Los punteros son a la programación lo que los conjuntos a las matemáticas, algo antididáctico avocado a desparecer (al menos de forma explicita).
No digo que los punteros sean un concepto avanzado; digo que es un concepto muy abstracto y ambiguo para alguien que está aprendiendo por su cuenta; aparte de poco menos que innecesario en fenix. Los punteros son a la programación lo que los conjuntos a las matemáticas, algo antididáctico avocado a desparecer (al menos de forma explicita).
¡no por dios! programo en C++ y me son MUY útiles los punteros, no sé que haría sin ellos...
Eso si, no niego que sea difícil de asimilar el concepto.
¡no por dios! programo en C++ y me son MUY útiles los punteros, no sé que haría sin ellos...
Eso si, no niego que sea difícil de asimilar el concepto.
Hombre, está claro que en donde ya están no los van a quitar XD; pero en los "nuevos lenguajes" cada vez se usan menos, o se usan de manera implícita.
civantoz
23/12/2007, 22:56
Cambiando un poco de tercio así como quien no quiere la cosa, pero te puedo preguntar de donde has sacado el eee pc xD? yo andaba detrás de uno, y a precios razonables los veo en la tiendas de la pagina de subastas habituales, seria mucho preguntar donde lo pillaste y mas o menos por cuanto? por que creo que en Europa no salen al final de forma oficial verdad? Si no lo quieres poner por aquí me podrías iluminar por MP :D mi plan sería posiblemente convertirlo en una suerte carputer jeje
Saludos
l_draven
24/12/2007, 01:38
Hola de nuevo gente, me da la sensacion que lo de libreria no lo he puesto correctamente, me explico, no es ninguna libreria como pueda ser ua libreria de efectos graficos, ni una libreria para mejorar rendimientos ni cosas asi.
Simplemente la idea con la que estoy haciendo esto esta claro que para gente experimentada no es, quien sepa programacion puedo entender que igual sea un entorpecimiento (o quizas no, eso depende de cada uno). Esta libreria esta mas orientada para facilitarle a la gente algunas cositas para programar sus aplicaciones, por ejemplo: puesets en vez de poner en fenix todo lo que hay que poner para inicializar la pantalla, SET_TITLE,FULLSCREEN,graph_mode(),set_mode(),etc.. . pue s que solo llamando a una funcion tengas todo eso hecho, en este caso ClassDeviceNode_Create() con sus parametros correspondientes.
No se, esa es la filosofia con la que estoy creando esto, simplemente el intentar ayudar un poco mas a quien quiera hacer algo con el fenix, que lo tenga mas facil. :-).No es ninguna libreria especial que hace cosas que fenix de por si no hace ni nada de eso, es mucho mas modesta, solo facilitar algunas tareas jeje.
En cuanto al Asus EEE lo pille en ebay a un tio llamado aji45tw o algo asi, ponieno "asus eee 8 gb" en ebay te deberia de salir.
Un abrazote gente.
Obviamente, meter capas intermedias es más lento que programar "a pelo", pero hay que tener en cuenta que Fenix es un lenguaje "pseudointerpretado" (palabras literales de los desarrolladores) y que cualquier llamada a funciones de Fenix es más lenta por el código compilado que en C a través de dlls.
Cualquier llamada, o conjunto de llamadas en código C, a funciones Fenix o a funciones internas siempre será mejor que código Fenix, aunque se use una capa más.
Le he dado un vistazo muy por encima a la librería (el formato de texto Linux no se lee bien en windows XD) y por lo que veo son funciones de inicialización. Pues bien, resulta que este tipo de llamadas solo se ejecutan una o dos veces, y siempre antes de la "acción", así que creo que va a influir bastante poco en los juegos, y siempre puede ser una ayuda o un ahorro de tiempo para otra gente... otra cosa es que sepa uasrlo :P
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions Inc. All rights reserved.