PDA

Ver la versión completa : ¿ Que compilador uso para wiz en Fenix ?



Jonazan2
26/02/2009, 14:33
Buenas, soy nuevo me presento ya en este post y de paso os cuento un poco mi duda. Yo quiero ser programador porque me encanta, se algo de C y C++ pues son los dos lenguajes de los que he estado leyendo bastantes libros y trasteando con ellos y el compilador borland++.

Quiero comprarme wiz por los emuladores y el poder ejecutar mis propios juegos que es una idea que me fascina ademas de que poder probar los de las personas que tanto empeño ponen en ellos.

Llendo al grano de mi pregunta he leido sobre fenix y me estoy leyendo un libro sobre este lenguaje y su funcionamiento, por lo que mi pregunta es que compilador puedo usar en windows para poder ejecutar en wiz mis programas o juegos.

Un saludo y gracias por adelantado.

Puck2099
26/02/2009, 14:55
Tanto la versión 0.84 como la 0.92a están soportados (Fenix y Ultimate Fenix respectivamente), pero yo te recomendaría usar la 0.92a, a la otra no iba a darle soporte, pero finalmente lo hice por algún juego que querían portar y no funcionaba bien con la otra, así que cualquier futura mejora del runtime seguramente se aplicará a la 0.92a y ya quizá y como forma complementaria a la otra.

Jonazan2
26/02/2009, 15:01
Muchas gracias por la respuesta tan rapida, usare la 0.92a como me has recomendado, a ver que tal la wiz en retromadrid que tengo unas ganas de verla.

Sobretodo me gustaria si se me da bien ayudar en algunos proyectos que pueda o realizar los mios propios poco a poco con tranquilidad.

Puck2099
26/02/2009, 15:03
Muchas gracias por la respuesta tan rapida, usare la 0.92a como me has recomendado, a ver que tal la wiz en retromadrid que tengo unas ganas de verla.

Sobretodo me gustaria si se me da bien ayudar en algunos proyectos que pueda o realizar los mios propios poco a poco con tranquilidad.

En RetroMadrid llevaré también el Fenix y varios juegos (entre ellos el Bang! del amigo Chemaris), así puedes echarle un vistazo para ver sus posibilidades :brindis:

Jonazan2
26/02/2009, 15:12
Perfecto entonces:brindis: se que para ser mis primeros post soy un pregunton pero cual es la interfaz de fenix mas adecuada, o en su ausencia que debo utilizar para sacerle un rendimiento bueno.

chipan
26/02/2009, 17:01
Yo uso el flamebird2 pero hay una versión que no tiene ayuda a la sintaxis y que no mola nada.

Segata Sanshiro
26/02/2009, 17:05
Yo uso el flamebird2 pero hay una versión que no tiene ayuda a la sintaxis y que no mola nada.

El DIV no tenía chuminadas de esas y bien que se programaba en él [wei]

juanvvc
26/02/2009, 17:34
DIV no tenía resaltado de sintaxis, pero sí ayuda contextual. Y su editor gráfico era estupendo. DIV2 sí que tenía resaltado de sintaxis, y por eso yo acabé programando en la demo de DIV2 y compilando en DIV1 que era el que había comprado :D

Segata Sanshiro
26/02/2009, 17:47
DIV no tenía resaltado de sintaxis, pero sí ayuda contextual. Y su editor gráfico era estupendo. DIV2 sí que tenía resaltado de sintaxis, y por eso yo acabé programando en la demo de DIV2 y compilando en DIV1 que era el que había comprado :D

Yo empecé directamente con el DIV2 :D No sabía que el primero no tenía resaltado de sintaxis. ¿Ayuda contextual qué es? ¿Que te llevaba directamente a la página del manual de la instrucción sobre la que estaba le cursor si pulsabas F1? Bueno, el caso es que efectivamente el entorno molaba un huevo y se podía hacer de todo sin salir de él.

juanvvc
26/02/2009, 18:03
Eso que has descrito es ayuda contextual, sí :) El entorno era casi un sistema operativo completo: editor de texto, gráficos, reproductor de CD, reloj, entorno de ventanas totalmente configurable... ¡Me gustaba más que el Windows 95! :D

Yo empecé con DIV1, y cuando sacaron DIV2 no consideré que tuviese suficientes mejoras para justificar un cambio (estaba en el instituto por entonces): modo 8 que no iba a usar, resaltado de sintaxis y poco más. Preferí esperar a la anunciadísima versión para Windows con soporte DirectX... que nunca llegaría a salir :(

Cuando fue evidente que DIV2 se había estandado apareció la primera alpha de Fenix, pero perdí las fuentes de mis juegos y preferí dirigir mi atención a aprender Java. Pa lo que me ha valido... :(

Jonazan2
26/02/2009, 19:15
Ahora mismo tengo fenix, firebird para escribrir el codigo y estoy buscando Div 2 a ver si por algun casual lo encontrara.

¿ Con estas herramientas ya podria empezar a trastear en condiciones ?

Segata Sanshiro
26/02/2009, 19:18
DIV2 no creo que lo necesites para nada, a no ser que lo quieras ver por curiosidad :) Yo buscaría también el FPG Edit. Aunque Fenix incluye la herramienta 'fpg' para crear estos ficheros (los .fpg contienen los gráficos que se usan en el juego), es más cómodo crearlos usando FPG Edit.

Jonazan2
26/02/2009, 19:22
Realmente DIv 2 lo queria ver por curiosidad y demas dado que se habla muy bien,gracias por el consejo de los fpg ahora buscare a ver que encuentro que tengo ganas de saber hacer algunos pinitos antes de que llegue wiz.

Gracias a todos.

P.D: Hay un par de cosas que no entiendo la primera es si debo descargar la paleta de colores en el fpg y la segunda es si el compilador firebird en este caso solamente me sale tipica pantalla ms-dos con SDL CON ( soy un noob muy grande lo se pero es que en borland o dev++ es todo como mas intuitivo )

juanvvc
26/02/2009, 19:33
Jonazan2, tanto DIV1 como DIV2 son programas que tienen más de 10 años y no funcionan en los ordenadores actuales :D Eran entornos comerciales que tuvieron un éxito relativo en España, pero la empresa original los vendió a nosequién y DIV acabó muriendo...

Fenix partió de DIV y aún se le parece, pero en estos 10 años ha avanzado mucho y ahora los lenguajes DIV y Fenix son incompatibles. Fenix es ahora mejor en todo, excepto en el entorno de programación que tenía DIV (que no te valdrá para Fenix, y uno de los motivos es que no funciona en los sistemas actuales)

Jonazan2
26/02/2009, 19:51
A eso me refiero, gracias por la informacion por cierto estaba buscando el programa por verlo porque hay un monton de gente que le encantaba y eso, yo tengo fenix en una carpeta ya, me he bajado firebird y al darle al programa me salta que expecifique donde esta la database ya hi ya no tengo ni idea de que hacer...

Endher
26/02/2009, 19:54
Creo que voy a seguir este tema. He estado leyendo cosas de Fénix y lo veo más cómodo que usar SDL (para mí y para Kaines, claro, que nuestra idea de programación orientada a objetos es nula xD). Así que nada, cuando tenga un rato pongo Windows y miro todo, que tengo entendido que ni en Mac OS X ni en Linux hay IDE.

Puck2099
26/02/2009, 19:56
Creo que voy a seguir este tema. He estado leyendo cosas de Fénix y lo veo más cómodo que usar SDL (para mí y para Kaines, claro, que nuestra idea de programación orientada a objetos es nula xD). Así que nada, cuando tenga un rato pongo Windows y miro todo, que tengo entendido que ni en Mac OS X ni en Linux hay IDE.

¿Para qué necesitas un IDE? Usa cualquier editor y para Linux tienes el "compilador" portado.

Endher
26/02/2009, 20:06
¿Para qué necesitas un IDE? Usa cualquier editor y para Linux tienes el "compilador" portado.
Vale, en tal caso le echaré un ojo. ¿Hay editores con resaltador de sintaxis de Fénix en Linux? Para bajarme ese directamente :D

Gracias :brindis:

Puck2099
26/02/2009, 20:10
Vale, en tal caso le echaré un ojo. ¿Hay editores con resaltador de sintaxis de Fénix en Linux? Para bajarme ese directamente :D

Gracias :brindis:

Que yo sepa no, pero todo sería coger las palabras reservadas y demás y hacerse un archivo de configuración para cualquier editor que te guste y lo soporte (emacs, vi, gedit, etc.)

Endher
26/02/2009, 20:14
Vale, gracias. Según vaya sacando tiempo me lo voy mirando, porque salvo alguna que otra demo de prueba, dudo que empecemos en serio hasta verano.

PD: Puck2099, ¿qué S.O. recomiendas para Fénix? Es una pregunta que se me acaba de ocurrir. Tengo Windows XP uE7, Ubuntu 8.10 y Mac OS X Tiger instalados en mi ordenador, así que me da un poco igual xD gracias de nuevo.

Jonazan2
26/02/2009, 20:17
Tengo un problema con flamebird cuando lo abro del archivo que esta en esta web para programar con fenix que trae varias aplicaciones me salta el error de

file could not be loaded into memory space

Alguna solucion ?

hardyx
26/02/2009, 20:46
Jonazan2, si sabes ya algo de C y C++ y has tratado con compiladores de borland, puede que te resulte más fácil usar Dev-C++ y SDL. Tienes un entorno gráfico montado y si te miras unos cuantos tutoriales de la SDL ya lo tienes. En tu caso te resultará más sencillo que aprender Fenix que es sencillo, pero es un mundo distinto. Eso si, si no supieras C pues te da igual.


He estado leyendo cosas de Fénix y lo veo más cómodo que usar SDL (para mí y para Kaines, claro, que nuestra idea de programación orientada a objetos es nula xD)No es necesario saber orientación a objetos para usar la SDL, simplemente C. De hecho Fénix tiene algunos conceptos de objetos.

Jonazan2
26/02/2009, 21:03
Realmente me gustaria tambien aprender fenix pero estoy teniendo varios problemas, tengo ya todo descargado pero el problema del flimebird con windows vista me esta jodiendo el dia...

A ver si alguien sabe que puedo hacer, ya he intenado inicarlo como administrador y nada se cierra solo.

Lo que realmente me esta fastidiando es no poder tener un compilador para empezar ya a trastear

Puck2099
26/02/2009, 21:09
PD: Puck2099, ¿qué S.O. recomiendas para Fénix? Es una pregunta que se me acaba de ocurrir. Tengo Windows XP uE7, Ubuntu 8.10 y Mac OS X Tiger instalados en mi ordenador, así que me da un poco igual xD gracias de nuevo.

Pues el SO con el que te sientas más cómodo.

Yo para programar solo uso Linux porque es donde más cómodo estoy y más productivo soy, pero no te voy a decir que uses un SO donde no te sientas agusto.

Endher
26/02/2009, 21:12
Gracias a todos. Pues miraré para montarlo todo en los 3 S.O., porque al final acabo guardando todo en un HDD extraible, así puedo continuar con mi trabajo según necesite.

Jonazan2
26/02/2009, 21:37
Alguien sabe algun compilador para vista, que funcione bien. Tengo un problema al compilar a mano lo hago desde ms dos porque arrastrandolo no me hace caso nose porque, cuando llego a la ruta de la carpeta pongo fxc 1.prg y no hace nada y se supone que algo deberia hacer...AYUDARME POR FAVOR

Gracias por adelantado.

hardyx
27/02/2009, 00:31
Arrastrando no te va a funcionar porque es un programa de consola y necesita parámetros, hay que usar el teclado. Los primeros capítulos del curso de Fenix (http://www.pixjuegos.com/descargas/CursoFenix2.pdf) te indican como compilar de manera fácil. Es de lectura obligatoria para todos los fenixeros.

juanvvc
27/02/2009, 10:33
Alguien sabe algun compilador para vista

Los windowseros te puede ayudar en esto, pero déjame que meta un poco de baza.


al compilar a mano lo hago desde ms dos

Lo harás desde la línea de comandos, que Windows hace tiempo que no contiene a MS-DOS :D De todas formas compilar así es una forma bastante normal de compilar. Incluso cuando usas las herramientas oficiales de Microsoft.


pongo fxc 1.prg y no hace nada y se supone que algo deberia hacer...

¿Qué significa "nada" para ti? Posibilidades:

- "command not found" ¿Tienes el fxc en el PATH?
- "error: tal, tal, tal y tal" Corrige el error y vuelve a intentarlo
- "". Es decir, no dice nada pero crea un archivo 1.dcb ¡Eso es que te ha funcionado perfectamente! Ahora haz fxi 1.dcb y a jugar :D

jean la montard
27/02/2009, 11:18
Hablo como maquero , si usas xcode 3 kounch subio hace tiempo unas plantillas maravillosas donde se resaltan el codigo y se avisa de los errores , esta muy bien salvo por el engorro de los fpg que te obliga a seguir tirando de windows para hacerlos con el fpg edit o tirar de terminal cosa bastante engorrosa al menos para mi cuando tienes que estar metiendo continuamente las rutas completas de los archivos

Segata Sanshiro
27/02/2009, 14:59
- "error: tal, tal, tal y tal" Corrige el error y vuelve a intentarlo

Eso no sé si sigue pasando, desde cierta versión dejan de salir errores por la consola y los escribe a unos ficheros sdlout.txt o algo así. Así que hay que irse a donde está el fxc.exe y ver el fichero que ha creado. Pero si ha salido el dcb es que todo va bien :D

Jonazan2
27/02/2009, 15:01
Los windowseros te puede ayudar en esto, pero déjame que meta un poco de baza.



Lo harás desde la línea de comandos, que Windows hace tiempo que no contiene a MS-DOS :D De todas formas compilar así es una forma bastante normal de compilar. Incluso cuando usas las herramientas oficiales de Microsoft.



¿Qué significa "nada" para ti? Posibilidades:

- "command not found" ¿Tienes el fxc en el PATH?
- "error: tal, tal, tal y tal" Corrige el error y vuelve a intentarlo
- "". Es decir, no dice nada pero crea un archivo 1.dcb ¡Eso es que te ha funcionado perfectamente! Ahora haz fxi 1.dcb y a jugar :D

jejeje siempre la llamo ms-dos tipica costumbre idiota. Llego a la ruta de origen para evitar problemas y luego realmente ni me crea nada solamente reescribe la linea en la pantalla es decir

/ fxc 1.prg

y sale la misma linea de nuevo otra vez.

¿ Como compilo con el teclado arrastrando ?

Gracias a todos en serio soy muy nuevo y mola ver que la gente que sabe mucho te ayuda es un lujazo:lovegp2x:

< - >

Los windowseros te puede ayudar en esto, pero déjame que meta un poco de baza.



Lo harás desde la línea de comandos, que Windows hace tiempo que no contiene a MS-DOS :D De todas formas compilar así es una forma bastante normal de compilar. Incluso cuando usas las herramientas oficiales de Microsoft.



¿Qué significa "nada" para ti? Posibilidades:

- "command not found" ¿Tienes el fxc en el PATH?
- "error: tal, tal, tal y tal" Corrige el error y vuelve a intentarlo
- "". Es decir, no dice nada pero crea un archivo 1.dcb ¡Eso es que te ha funcionado perfectamente! Ahora haz fxi 1.dcb y a jugar :D

jejeje siempre la llamo ms-dos tipica costumbre idiota. Llego al archivo pro la ruta para evitar errores y luego realmente ni me crea nada solamente reescribe la linea en la pantalla es decir

/ fxc 1.prg

y sale la misma linea de nuevo otra vez.

¿ Como compilo con el teclado arrastrando ?

Gracias a todos en serio soy muy nuevo y mola ver que la gente que sabe mucho te ayuda es un lujazo:lovegp2x:

juanvvc
27/02/2009, 15:19
es decir

/ fxc 1.prg

y sale la misma linea de nuevo otra vez.

¿Eco? No sé mucho de Windows, pero ¿esa barra delante de fxc significa algo? ¿Qué pasa si no la pones?

Jonazan2
27/02/2009, 15:43
Con la barra me referia que detras viene toda la ruta hasta llegar al archivo. Es que nose que programas tener para poder hacerlo todo bien.

Ahora mismo el FPG Edit es el unico seguro que tengo y nose si bajarme el Xcode3 auqneu no se si vale para windows...y programar desde ahi.

Es que creo que se poco de C++ y ponerme a programar en el sobre videojuegos me da terror sinceramente me molaria aprender primero fenix y luego cuando sepa mas ya pasarme.

A ver si lo soluciono ya.

juanvvc
27/02/2009, 15:47
- "error: tal, tal, tal y tal" Corrige el error y vuelve a intentarlo

Eso no sé si sigue pasando, desde cierta versión dejan de salir errores por la consola y los escribe a unos ficheros sdlout.txt o algo así.

Jonazan, mira que no sea precisamente esto :D

Jonazan2
27/02/2009, 16:00
Solucionado. ¿ Existe algun tutorial para fpg edit ? ¿ Por cierto el mejor programa para crear sprites desde 0 cual es ?

Ojala pudiese cambiar mi estado a PREGUNTON

jean la montard
27/02/2009, 16:27
El fpgedit es muy intuitivo no hace falta tutorial , otra cosa es hacer sprites y demas eso es bastante mas chungo xD

Jonazan2
27/02/2009, 16:34
Es que no me mola nada apropiarme aunque sean libres de las creaciones de otros, a mi que se ma da bastante bien dibujar pues aunque sean graficos tipo 16 bits para evitar tipo de movidas con paletas y eso...aunque con el mismo paint dejandolo a cierto tamaño se podria no ?

jean la montard
27/02/2009, 16:36
NO hay ningun problema la consideracion a tener en cuenta es que el color transparente en fenix es RGB(0,0,0) o lo que es lo mismo es negro puro

Jonazan2
27/02/2009, 16:39
y el tamaño de pixeles, lo pongo a la misma de la consola 320x240 sobretodo para los fondos.

Jurk
27/02/2009, 19:14
puedes dibujar en 16 bits, para luego pasar mediante fpgedit el conjunto de todas las imagenes a 8 bit... de esta manera crearas un FPG de 8 bits (muy eficiente) y no tendras problemas con las paletas, ya que al pasar de 16 a 8 bits te la crea fpgedit... y el negro absoluto (0.0.0) se convierte en transparente

Jonazan2
27/02/2009, 22:32
¿ Es mas facil y mas practico al principio los 8 bits o los 16 ? porque con 16 bits son mas colores y me evito lo de las paletas y demas. En serio me sigo peleando con el fgp edit jejeje.

Gracias a todos.

Puck2099
27/02/2009, 22:51
¿ Es mas facil y mas practico al principio los 8 bits o los 16 ? porque con 16 bits son mas colores y me evito lo de las paletas y demas. En serio me sigo peleando con el fgp edit jejeje.

Gracias a todos.

Pero también supone mover el doble de información en cada fotograma.

Prueba a 16 bits y si va lento lo pasas a 8 bits.

Jonazan2
27/02/2009, 22:59
Soy un topazio...como se nota que no estoy acostumbrado a fpg edit...las cosas mas simples y me como la cabeza ocmo un idiota:rolleyes:

Jurk
27/02/2009, 23:03
coincido totalmente con puck2099

chipan
01/03/2009, 06:30
Pues yo llevo la contraria al 100% a puck 2099.
Os preguntareis por que, y yo os digo, porque tiene razón, pero por haber sacado la carrera, no se la vamos a dar así a lo tonto ¿no?

Jonazan2
01/03/2009, 17:29
Ya he hecho mi primer pong y mi primer juego de un laberinto:D a ver si a este ritmo cuando salga wiz tengo algo preparado pero lo dicho poquito a poco.

Por cierto no me ha quedado muy claro si es mejor separar los fpg en enemigos, fondos...y con que programa hacer los graficos porque hasta ahora estoy con mspaint y paint.net...

Un saludo

Jurk
01/03/2009, 18:29
por curiosidad, como usas los fpgs?? en 8 o en 16 bits?

Jonazan2
01/03/2009, 18:42
Empeze con la opcion de los 16 bits porque el manual que tengo de curso de fenix decia que asi iban a ser sus ejemplos pero creo que para juegos mas grandes estilo rpg y aventuras y demas me gustaria hacerlos en 8 al principio a ver como van de rapidez.

Es que los graficos que puedo conseguir con paint dan penilla...

chipan
01/03/2009, 21:58
Lo de dividir en varios FPG va a gustos.
Si el juego es simple mete todo en un FPG. si la cosa se complica, usa varios.

Lo de FPGs distintos viene de put. mad. para hacer enemigos con aspecto distinto; por ejemplo, si quieres hacer un juego en el que haya enemigos con la mísma lógica pero distinto aspecto, sol tienes que programarlos una vez, y dependiendo del fpg que este cargado, tendrán una pinta u otra.

Jonazan2
01/03/2009, 23:12
Y una pregunta un poco chorra, estoy pensando en cambiarme a linux, este sistema por lo que he leido ya hora mismo que loe stoy probando es mejor para programar, casi todos los programas referentes a fenix soncompatibles, quiero decir fpg edit y demas...

Segata Sanshiro
01/03/2009, 23:39
Y una pregunta un poco chorra, estoy pensando en cambiarme a linux, este sistema por lo que he leido ya hora mismo que loe stoy probando es mejor para programar, casi todos los programas referentes a fenix soncompatibles, quiero decir fpg edit y demas...

Para programar en Fenix te da igual en qué sistema operativo lo hagas.

Ánimo, que ya te queda menos (para publicar tu primer juego!).

Jonazan2
01/03/2009, 23:43
Joer en poco tiempo estoy intentando hacerlo todo lo mejor posible...ahora solo saber perfeccionar los que tengo e intentar un marcianitos y un breackout...

Por cierto la misma compilacion que tienes en dcb la lee la gp2x o tienes que meterle un interprete para cada tipo de programa

Segata Sanshiro era ironico lo del primer juego jejeje ?

Drumpi
02/03/2009, 13:29
Ya llego, ya llego, arf arf. Juer, ni hacer una triple mudanza puede uno :D


Jonazan2, tanto DIV1 como DIV2 son programas que tienen más de 10 años y no funcionan en los ordenadores actuales :D Eran entornos comerciales que tuvieron un éxito relativo en España, pero la empresa original los vendió a nosequién y DIV acabó muriendo...

Fenix partió de DIV y aún se le parece, pero en estos 10 años ha avanzado mucho y ahora los lenguajes DIV y Fenix son incompatibles. Fenix es ahora mejor en todo, excepto en el entorno de programación que tenía DIV (que no te valdrá para Fenix, y uno de los motivos es que no funciona en los sistemas actuales)

DIV, prodigiosamente programado por Daniel Navarro como PFC, y originalmente llamado Dibujo IV (cuarta version de un editor gráfico llamado Dibujo), fue tomado bajo las manos de Hammer Technologies hasta que quebró, entonces los derechos fueron comprados por Fastrack, que prometieron hacer una version llamada DivWin y le dedicaron un fabuloso equipo dotado de un programador y un PC.
¿Sueno resentido? bueno, si, un poco, despues de ciertas "amenazas" al Fenix Team por "vulnerar patentes" inexistentes hasta ese momento, pues que quereis.
Fastrack siguió el camino de Hammer, y aun en la cuneta, creo que alguien aun tiene la patente.

Fenix no es que sea incompatible con DIV: salvo algunos cambios de sintaxis son iguales... bueno, si, hay más diferencias. Fenix ha mejorado muchísimo, pero aun tiene carencias respecto a DIV, como el modo 8, pero le gana de calle en otros aspectos.
Si aun queréis seguir usando DIV, teneis el proyecto GEMIX, que es 100% compatible con los códigos y formatos de DIV, y añade muchísimas mejoras (por ejemplo, ya tiene 16 y 32 bits de color). No está aun acabado, lo único que hay son algunas betas gratuitas, pero ya tiene casi todo lo de DIV y más. Eso si, aviso: se trata de un proyecto comercial.
Y para los fans de Fenix, Fenix no se ha quedado estancado: BENNUGD es su sucesor parcialmente oficial (lo lleva a cabo uno de sus programadores en plan personal). Tambien tiene muchísimas mejoras de rendimiento, tambien se ha dividido en módulos, para que useis sólo los que necesiteis y ahorreis recursos, o useis el que más os guste (si no os gusta el módulo gráfico por defecto, usad el bennu3D, o cread uno acelerado por openGL o DirectX). Tambien tiene los modos de color de 8, 16 y 32 bits y se están añadiendo cientos de cosas. De momento sólo hay ports para windows y Linux, pero todo se andará.


Creo que voy a seguir este tema. He estado leyendo cosas de Fénix y lo veo más cómodo que usar SDL (para mí y para Kaines, claro, que nuestra idea de programación orientada a objetos es nula xD). Así que nada, cuando tenga un rato pongo Windows y miro todo, que tengo entendido que ni en Mac OS X ni en Linux hay IDE.

No es necesario ningun IDE: con tener a mano la documentacion del wiki y un editor de texto, ya vale. Luego os explico un truquito que uso en windows.


Realmente me gustaria tambien aprender fenix pero estoy teniendo varios problemas, tengo ya todo descargado pero el problema del flimebird con windows vista me esta jodiendo el dia...

A ver si alguien sabe que puedo hacer, ya he intenado inicarlo como administrador y nada se cierra solo.

Lo que realmente me esta fastidiando es no poder tener un compilador para empezar ya a trastear

Pues ve echando un vistazo al FenixPack de Colombian Developers, lo tienes todo listo, y seguramente no tengas problemas con Vista. Si no, busca, que hace poco han lanzado una nueva version de FlameBirdMX, a ver si así se soluciona.
De todas formas, me parece recordar que en las últimas versiones había un problema por culpa de un fichero con nombre manifest, si mi memoria no me falla, debes borrarlo (haz una copia por si acaso), ejecutar el programa, salir y volver a entrar.


Alguien sabe algun compilador para vista, que funcione bien. Tengo un problema al compilar a mano lo hago desde ms dos porque arrastrandolo no me hace caso nose porque, cuando llego a la ruta de la carpeta pongo fxc 1.prg y no hace nada y se supone que algo deberia hacer...AYUDARME POR FAVOR

Gracias por adelantado.

Hay problemas al arrastrar cuando estás programando en varios ficheros distintos, si sólo hay uno no debería darte problemas. Ya te han comentado lo del dcb, así que nada más que añadir.


Eso no sé si sigue pasando, desde cierta versión dejan de salir errores por la consola y los escribe a unos ficheros sdlout.txt o algo así. Así que hay que irse a donde está el fxc.exe y ver el fichero que ha creado. Pero si ha salido el dcb es que todo va bien :D

El fichero es STDOUT.TXT, si ha habido errores tambien está el STDERROR.txt. Estos ficheros son muy útiles, ya que usando la funcion SAY puedes escribir lo que quieras en el stdout.txt en tiempo real (se escribe aunque haya un error en la siguiente instruccion). Yo la uso para ver los valores de las variables y seguir el flujo del programa, porque la consola de comandos es inutil si no hay un frame o si se te cierra la aplicación.


Ya he hecho mi primer pong y mi primer juego de un laberinto:D a ver si a este ritmo cuando salga wiz tengo algo preparado pero lo dicho poquito a poco.

Por cierto no me ha quedado muy claro si es mejor separar los fpg en enemigos, fondos...y con que programa hacer los graficos porque hasta ahora estoy con mspaint y paint.net...

Un saludo

Los gráficos puedes hacerlos con el programa que te de la gana. Luego, con el FPGEdit los arrastras y listo. Un consejo: si no quereis tener serios problemas con las transparencias (a veces, un negro "ligeramente claro" lo toma como transparente al redondear valores, o viceversa) haced los gráficos en PNG con transparencias, y usad sólo el valor máximo y mínimo de transparencia.
Lo recomendable es separar los gráficos en varios FPG, más que nada, para ahorrar espacio en memoria: no es sensato tener cargados gráficos que no vas a usar.


Y una pregunta un poco chorra, estoy pensando en cambiarme a linux, este sistema por lo que he leido ya hora mismo que loe stoy probando es mejor para programar, casi todos los programas referentes a fenix soncompatibles, quiero decir fpg edit y demas...

No, ninguno son compatibles. Por desgracia es el gran lastre de sistemas no windows. Tienes el fpg.exe y el map.exe en version linux, pero nada como FPGEdit o FNTEdit ni similares.
Tampoco es muy dificil hacerse un programa multiplataforma para estos menesteres usando Fenix: save_fpg (o save_fgc en 092a, lo comentado del problema de patentes, aunque es posible que tambien esté save_fpg, no recuerdo) y save_map (o su equivalente "libre" save_fbm) forman parte del código.
Incluso yo mismo cree una herramienta para intercambio de colores en múltiples ficheros gráficos, si buscas en el foro de Fenix por cambia_color seguro que te sale. Como está hecha en Fenix es multiplataforma, y puede servir de "parche" para crear FPGs, siempre que consigas la IMAGE.DLL compilada para Linux (tiene que haberla, si no, el código fuente viene en la descarga oficial) que es la que uso para cargar gráficos que no sean tipo MAP o BMP.

PD: bueno, creo que es este (http://www.fenixworld.com/e107_plugins//depot/files/fw75.ccolor.zip).



Joer en poco tiempo estoy intentando hacerlo todo lo mejor posible...ahora solo saber perfeccionar los que tengo e intentar un marcianitos y un breackout...

Por cierto la misma compilacion que tienes en dcb la lee la gp2x o tienes que meterle un interprete para cada tipo de programa

Segata Sanshiro era ironico lo del primer juego jejeje ?

Las dos cosas: el dcb es un archivo compilado que te sirve para cualquier SO o plataforma, pero claro, necesitas el FXI de esa plataforma para ejecutarlo.

Un truco que tengo yo para compilar es usar un IDE básico para escribir código (a mi me gusta el FEdit, que funciona hasta la 084). Cuando tengo el código, copio el FXC, el FXI y las dll a la carpeta donde tengo el código. Luego creo un archivo de texto y escribo estas lineas:

Modo debug

fxc -g mi_codigo.prg
stdout.txt

Modo compilacion final

fxc mi_codigo.prg

Y lo guardo con el nombre compilar.bat (ojo, debes cambiar la extension, y debes poder verla para cambiarla). Así, cada vez que quiero comprobar si funciona la cosa, hago doble clic en compilar.bat, y se me abre el notepad con todos los errores, y si no los hay, arrastro el dcb al fxi y pruebo el juego.
Este truco tambien vale en Linux, y supongo que en MAC. Ahorra mucho tiempo y te olvidas de la consola de comandos.

Creo recordar que hay ficheros para el resaltado de texto para GEdit en el foro de Fenix, incluso hay uno para BennuGD para Notepad++, así como varios más para editores como ultraedit, etc (en el foro de bennuGD están a vuestra disposición).

Buf, me voy a meter los dedos en agua :D :D

Jonazan2
02/03/2009, 15:47
DRUMPI muchismas gracias por la respuesta me has aclarado muchisimos aspectos, y supongo que a mas gente del foro.

Un lujo:)

flozanot
04/03/2009, 13:37
Hola, soy nuevo y he leido sobre lo que hablais de DIV2. Yo fui programador en DIV2 hasta que aprendi ensamblador y a programar por mi mismo en pmode (con y sin DPMI) los perifericos que necesitaba (raton, teclado, PIC, PIT, VESA, SB...). La razon de abandonar DIV2 no fue por su modo8 que funcionaba mal al informar de colisiones, si no porque "misteriosamente" el soporte VESA desaparecio en WinNT y sus sucesores. Y tambien porque SoundBlaster se fue al garete y AC97 no habia manera de encontrar info relativa al hardware.
La empresa desarrolladora de DIV2 fue Hammer Technologies y fue vendido a fasttracker, una empresa inglesa que lo compro para que no le hiciera la competencia a DarkBasic, que tambien lo tengo.
Las buenas noticias son que logre encontrar, gracias al DJGPP, la razon de porque los programas MsDOS no tienen acceso a VESA: por que los imbeciles de M$ han estado usando codigo del Windows 3.11 (si, Windows 3.11) en el NT (en la serie Win9x no). Dicho codigo es de 16bits y trabaja con descriptores de 16bits, no de 32bits, asi las llamadas a "set segment limit" solo veian 64MB, y no los 4GB de limite que se necesitaban para el acceso FLAT a la memoria. ¿Forma de solucionarlo? Muy simple. WinNT hace llamadas al DOS para ajustar sus descriptores, luego, basta con seguir dichas llamadas: "get descriptor attributes" y "set descriptor attributes". Perdi, por una estupidez mia, el programa que hice durante el verano que parcheaba ejecutables EXEs descomprimidos y con su perte binaria extraida para sustituir las llamadas a "set segment limit" por "get descriptor attributes" y "set descriptor attributes".
Fue entonces cuando me di cuenta que Windows no merece la pena y me pase a Linux.
Actualmente estoy desarrollando un juego ActionRPG para Linux con personajes en 2D (¡que remedio!) y escenarios en 3D con efectos de iluminacion y sombras arrojadas y deteccion de colisiones triangulo vs triangulo en trayectorias rectilineas y con offscreen rendering usando OpenGL 2.0 que, espero, lo terminare para el final del verano y si la cosa me queda bien lo portare a Wizz

Bueno, que me lio con mis cosas, en resumen, DIV2 R.I.P y Fenix, pues esta muy bien como curiosidad, pero es mejor que aprendas ensamblador (aunque las arquitecturas actuales son una mierda para aprender) y C. Del C++ y de la POO no te preocupes; es para tontos y ademas es una estafa creada para justificar las patentes de sw, porque al final todo debe traducirse a ensamblador y ensamblador no es un leguaje de la POO.

Yo uso el GAS y el GCC, incrustando el codigo ASM en los fuentes de C.

< - >

Pero también supone mover el doble de información en cada fotograma.

Prueba a 16 bits y si va lento lo pasas a 8 bits.

Ejem.... eso depende del ancho del bus de datos. Sin son 8bits por transferencia, si, va mas lento, pero si son 16bits reales de transferencia entonces va exactamente igual. Otro tema es que para cambiar un color en toda la pantalla solo tengas que alterar un color de la paleta. Yo aun no se casi nada sobre la Wizz, pero si tiene OpenGL ES1.1 me parece que el ancho de bus va a ser de >=16bits seguro.
No importa la cantidad de informacion a mover, si no el numero de trasferencias necesarias y la velocidad del BUS por el cual se van a realizar los movimientos.
En suma, que 8bits NO son mas rapidos que 16bits en sistemas de 16bits o más.
He dicho :D

Puck2099
04/03/2009, 13:43
Ejem.... eso depende del ancho del bus de datos. Sin son 8bits por transferencia, si, va mas lento, pero si son 16bits reales de transferencia entonces va exactamente igual. Otro tema es que para cambiar un color en toda la pantalla solo tengas que alterar un color de la paleta. Yo aun no se casi nada sobre la Wizz, pero si tiene OpenGL ES1.1 me parece que el ancho de bus va a ser de >=16bits seguro.
No importa la cantidad de informacion a mover, si no el numero de trasferencias necesarias y la velocidad del BUS por el cual se van a realizar los movimientos.
En suma, que 8bits NO son mas rapidos que 16bits en sistemas de 16bits o más.
He dicho :D

Hola y bienvenido.

En cuanto a lo que comentas, para refrescar toda la pantalla en 16bits tienes que transferir 16 bits por cada píxel que es lo que ocupa el color en memoria, en el caso de 8 bits lógicamente solo tienes que tranferir 8 bits por píxel que es lo que ocupa el índice de la tabla de colores.

Luego la información transferida es el doble y por tanto el doble número de transferencias y doble de tiempo en hacerlas.

Saludos

chipan
04/03/2009, 13:44
Respecto a lo que has dicho sobre programar en asm en lugar de fenix. Está claro que el asm es infinitamente más potente; pero si asumimos que programar un juego en fenix es igual de dificil que conducir un patinete; programar un juego en asm sería tan dificil como pilotar un boeing 747 con un ala partida y lleno de botellas de nitroglicerína apiladas sobre mesas cojas.

flozanot
04/03/2009, 18:10
Respecto a lo que has dicho sobre programar en asm en lugar de fenix. Está claro que el asm es infinitamente más potente; pero si asumimos que programar un juego en fenix es igual de dificil que conducir un patinete; programar un juego en asm sería tan dificil como pilotar un boeing 747 con un ala partida y lleno de botellas de nitroglicerína apiladas sobre mesas cojas.

Hombre, si lo combinas con C o Pascal y lo usas para funciones que realmente se requiera pues es como conducir un coche con cambio de marcha manual para cuando te apetece conducir o automatico para cuando no.

En cuanto a las transferencias de 8 o 16 bits yo hablo por mi experiencia en arquitecturas x86. En mi viejo Pentium 166MMX constate que una transferencia de 16 bits tomaba el mismo tiempo que una de 8 bits. En la :lovegp2x: ni idea, ya que se poco sobre su arquitectura, casi nada, pero en buena logica, deberia aceptar el mover 16bits de una tacada, asi que 8 bits, 1 transferencia, 16bits, 1 transferencia.
Si me dices que la :lovegp2x: solo puede mover un maximo de 8bits por transferencia, entonces estamos de acuerdo, pero si no, discrepo. Pero sin acritud ¿eh? [apacigueitor]
Aunque a lo mejor estoy :loco: [wei5]

Puck2099
04/03/2009, 18:32
A ver, que nos estamos liando...

Estoy contigo en que dependiendo del bus si lo tiene de 16 bits (que en realidad creo que eran 32) puede mover 16 bits de una tacada en el mismo tiempo que 8 bits, hasta ahí bien.

Pero si tenemos por ejemplo 100 píxeles en la pantalla, en 16 bpp esos 100 píxeles serían 200 bytes mientras que en 8 bpp serían 100 bytes.

Ahora podemos mover 2 bytes en cada transferencia, luego en 16 bpp necesitaremos 100 transferencias mientras que en 8 bpp serían 50 transferencias.

¿Lo ves ahora? :)

Jonazan2
04/03/2009, 18:46
Os cuento que ya voy progresando, como me gusta el tema siempre que no tengo nada que estudiar hasta los examenes estoy con ello.

Tengo a veces todabia errores tontos y uno de los que mas odio y no entiendo es que muchas veces al llamar a funciones como "put_screen(2,fondo)" me dice que tengo un error por expected
"("...

Bueno a seguir y si saco algo cuando wiz ya lo subire para que me lincheis a criticas:lamer:

flozanot
04/03/2009, 19:07
A ver, que nos estamos liando...

Estoy contigo en que dependiendo del bus si lo tiene de 16 bits (que en realidad creo que eran 32) puede mover 16 bits de una tacada en el mismo tiempo que 8 bits, hasta ahí bien.

Pero si tenemos por ejemplo 100 píxeles en la pantalla, en 16 bpp esos 100 píxeles serían 200 bytes mientras que en 8 bpp serían 100 bytes.

Ahora podemos mover 2 bytes en cada transferencia, luego en 16 bpp necesitaremos 100 transferencias mientras que en 8 bpp serían 50 transferencias.

¿Lo ves ahora? :)

Saludos a todos, que antes no he saludao :D

Vale ya se a que te refieres. Mover dos pels de una tacada con una transferencia de 16bits reduce el tiempo a la mitad. ¡Menudo despiste el mio! Estaba pensando en lo que yo hago en mis rutinas graficas 3d (que operan pixel a pixel) y no en la copia como por ejemplo se hace en las 2d para actualizar una region.

Jonazan2
04/03/2009, 19:49
¿ Me podria hechar un poco de luz alguien sobre ese error que estoy teniendo ? He probado a reinscribir el codigo pero nada...

juanvvc
04/03/2009, 21:03
Mira que el error de verdad no esté en la línea de antes a la que dice el compilador... y probablemente no tenga nada que ver con paréntesis :) Es imposible ayudar más sin que nos copies por aquí el código.

Jonazan2
04/03/2009, 21:28
Estoy probando a hacer un programilla que haga que dandole a enter te cambie el fondo.Mira:


program cambiofondos;

global
int fondo;
int id1;
end

Begin
set_mode(640,480,16);
fondo=load_fpg("fitness.fpg");
put_screen(1,fondo);
write(0,320,200,1,"Pulsa enter para empezar");

if(key(_enter))id1=1;end

if (id1==1)
put_screen(2,fondo);
loop
frame;
end
end

hardyx
04/03/2009, 22:03
No soy experto en Fenix, pero yo diría que la comprobación de la tecla enter la tienes que hacer dentro del bucle loop...end. Sino, por mucho que pulses enter no se va a enterar el programa. Sobre el error que te da el compilador, te falta un end después del put_screen del segundo if.

Jonazan2
04/03/2009, 22:31
Muchas gracias ya lo he probado y perfecto. Ahora estoy haciendome yo ejemplillos con este tipo de cosas porque del curso de fenix que tengo copiar codigo y entenderlo no es igual a picarlo y ejecutarlo, ver tus errores...

Jurk
04/03/2009, 22:44
todas las pulsaciones de teclas en fenix deberian ser dentro del loop para que tuviesen efecto, si no, los ejecuta en nada de tiempo...

SpaVampyre
05/03/2009, 00:12
eso es fenix?

me recuerda a otro lenguaje, pero no se cual...

Puck2099
05/03/2009, 00:17
¿Pascal?

Jurk
05/03/2009, 00:44
eso parece fenix

pascal no es porque asi no se declaran las variables

se declaran:

x,y,numero:INTEGER;


Pero la verdad es que el codigo de Fenix es una mezcla de c y pascal, cogiendo lo mejor de cada uno.

Puck2099
05/03/2009, 10:04
eso parece fenix

pascal no es porque asi no se declaran las variables

se declaran:

x,y,numero:INTEGER;


Pero la verdad es que el codigo de Fenix es una mezcla de c y pascal, cogiendo lo mejor de cada uno.

Ya, ya sé que es Fenix, lo decía porque Pascal es a lo que le puede recordar que no sea C :p

Drumpi
05/03/2009, 13:32
Hola, soy nuevo y he leido sobre lo que hablais de DIV2. Yo fui programador en DIV2 hasta que aprendi ensamblador y a programar por mi mismo en pmode (con y sin DPMI) los perifericos que necesitaba (raton, teclado, PIC, PIT, VESA, SB...). La razon de abandonar DIV2 no fue por su modo8 que funcionaba mal al informar de colisiones, si no porque "misteriosamente" el soporte VESA desaparecio en WinNT y sus sucesores. Y tambien porque SoundBlaster se fue al garete y AC97 no habia manera de encontrar info relativa al hardware.
La empresa desarrolladora de DIV2 fue Hammer Technologies y fue vendido a fasttracker, una empresa inglesa que lo compro para que no le hiciera la competencia a DarkBasic, que tambien lo tengo.
Las buenas noticias son que logre encontrar, gracias al DJGPP, la razon de porque los programas MsDOS no tienen acceso a VESA: por que los imbeciles de M$ han estado usando codigo del Windows 3.11 (si, Windows 3.11) en el NT (en la serie Win9x no). Dicho codigo es de 16bits y trabaja con descriptores de 16bits, no de 32bits, asi las llamadas a "set segment limit" solo veian 64MB, y no los 4GB de limite que se necesitaban para el acceso FLAT a la memoria. ¿Forma de solucionarlo? Muy simple. WinNT hace llamadas al DOS para ajustar sus descriptores, luego, basta con seguir dichas llamadas: "get descriptor attributes" y "set descriptor attributes". Perdi, por una estupidez mia, el programa que hice durante el verano que parcheaba ejecutables EXEs descomprimidos y con su perte binaria extraida para sustituir las llamadas a "set segment limit" por "get descriptor attributes" y "set descriptor attributes".
Fue entonces cuando me di cuenta que Windows no merece la pena y me pase a Linux.
Actualmente estoy desarrollando un juego ActionRPG para Linux con personajes en 2D (¡que remedio!) y escenarios en 3D con efectos de iluminacion y sombras arrojadas y deteccion de colisiones triangulo vs triangulo en trayectorias rectilineas y con offscreen rendering usando OpenGL 2.0 que, espero, lo terminare para el final del verano y si la cosa me queda bien lo portare a Wizz

Bueno, que me lio con mis cosas, en resumen, DIV2 R.I.P y Fenix, pues esta muy bien como curiosidad, pero es mejor que aprendas ensamblador (aunque las arquitecturas actuales son una mierda para aprender) y C. Del C++ y de la POO no te preocupes; es para tontos y ademas es una estafa creada para justificar las patentes de sw, porque al final todo debe traducirse a ensamblador y ensamblador no es un leguaje de la POO.

Yo uso el GAS y el GCC, incrustando el codigo ASM en los fuentes de C.


Bueno, tambien puede funcionar si en w2000 usas "d.exe /safe" (creo que ese era el atributo). Así se ejecuta en modo a prueba de fallos con resolucion mínima, etc etc.


Respecto a lo que has dicho sobre programar en asm en lugar de fenix. Está claro que el asm es infinitamente más potente; pero si asumimos que programar un juego en fenix es igual de dificil que conducir un patinete; programar un juego en asm sería tan dificil como pilotar un boeing 747 con un ala partida y lleno de botellas de nitroglicerína apiladas sobre mesas cojas.

Estoy con Chipan: programar en ASM es una LOCURA si quieres hacer un juego, y se de lo que hablo (ASM+hardware específico). Ya es C o C++ y sin una librería gráfica te puedes morir de asco.
Aparte de eso, nunca entendí el asco de los fanáticos de C hacia C++: en C++ se puede programar en C sin usar las características propias, como la orientacion a objetos.


Estoy probando a hacer un programilla que haga que dandole a enter te cambie el fondo.Mira:

Si la memoria no me falla, el orden de PUT_SCREEN es al revés: primero la librería y después el número del gráfico. Lo de la tecla pues ya te lo han dicho, quizás lo correcto a lo que tu quieres es:


loop
if (key(_enter)) put_screen(fondo,2); end
frame;
end

o si lo que querías era hacer una pausa y despues cambiar el fondo:

write(... //etc, etc

while(!key(_enter))
frame;
end

put_screen(fondo,2);
//resto del programa


Otra posible fuente de error es el end al final de la declaracion de variables globales: en el prg principal no es necesario, y en algunas versiones da incluso error, mientras que en los códigos añadidos con la clausula include pasa al revés.

Jonazan2
05/03/2009, 14:44
Gracias Drumpi, buscaba hacer una pausa si entre los dos fondos y con la condicion while ha quedado mejor.

El compilador me pide end al final, asi que ese no creo que fuese el problema, si quiza lo de el file que lo tuve que cambiar al reves como mencionas.