Proxecto Fenix

Na Galipedia, a Wikipedia en galego.
Fenix Proxecto 1.0
Paradigma: procedimental
Deseñador: Fenix Team
Última versión: 0.93pre
Tipo de dato: Linux , MacOS X, Win32, BeOS, BSD
Influído por: C, Pascal
Sistema operativo: Multiplataforma
Licenza de software: GNU GPL 2.0
Web: http://fenix.divsite.net

Fenix, ou o proxecto Fenix, é o nome dun proxecto multiplataforma de software libre para crear un compilador alternativo á linguaxe DIV parte fundamental da suite para o desenvolvemento de videoxogos Div Games Studio. Con todo, co paso do tempo fóronse engadindo novas características que entre outras cousas, derivou nunha versión ata certo punto incompatible coa linguaxe DIV orixinal e nun novo proxecto máis ambicioso.

Características[editar | editar a fonte]

  • Linguaxe interpretada, mestura de C e Pascal: moi sinxelo e potente.
  • Multiplataforma extrema: O intérprete funciona en Windows, as versións de 32 bits de Windows, GNU/Linux, Mac VOS X, BeOS, BSD, GP32, Dreamcast, PSP, GP2X e, en xeral, en case calquera plataforma que soporte SDL e GCC. Os programas compilados poden ser intercambiados entre calquera desas plataformas sen necesidade de recompilación.
  • Procesos (programación multihilo).
  • Motor de render 2D por software.
  • Modos gráficos 8 e 16 bits, entre outras cousas permite rotación de sprites, escalado, alpha blending, blendops, blit aditivo e sustractivo, etc.
  • Soporte (incompleto) para Modo 7.
  • Reprodución de sons en formato WAV, PCM e Ogg Vorbis.
  • Reprodución de módulos de música en formato IT, MOD e XM.
  • Soporte de librerías DLL nas plataformas que así o permiten.

Historia[editar | editar a fonte]

Na década dos 90 Daniel Navarro Medrano creou unha ferramenta orientada á creación de videoxogos de 32 bits baixo MS-DOS. A nova linguaxe, de nome DIV Games Studio, combinaba características de C e Pascal cunha contorna completa que permitía a creación e edición de todos os aspectos dos proxectos: programación, edición gráfica e sonora e un longo etc.

Fenix, inicialmente baixo o nome DIVC e de natureza GNU, apareceu da man de José Luís Cebrián como unha ferramenta capaz de compilar e executar eses xogos en Linux. O nome foi cambiado na versión 0.6 do compilador, que ademais introducía outras melloras, como a aparición dun ficheiro intermedio entre a contorna de compilación e a contorna de execución. Xa non era necesario distribuír o código fonte dun xogo para poder xogar aos xogos. A vantaxe principal desa práctica (similar en concepto a Java) era clara, compilar nunha plataforma e executar en moitas.

Na versión 0.71 o proxecto quedou parado, o que deu lugar a múltiples versións derivadas que corrixían fallos ou engadían novas características.

A versión oficial de Fenix foi retomada por Slàinte no ano 2002, vello coñecido da comunidade DIV por ser o webmaster dunha das páxinas web máis importantes para a comunidade, quen continuou o proxecto baixo o nome de Fenix - Proxecto 1.0 ao que pronto se reincorporaría o seu creador e cuxo primeiro obxectivo era limpar o compilador de erros e estabilizalo. Dende entón o compilador sufriu numerosos cambios e melloras, deixando dun lado a compatibilidade coa linguaxe DIV.

No actualidade, tras un longo tempo sen modificacións, no ano 2006, Fenix foi retomado por SplinterGU, o mesmo que implemento o primeiro sistema de dlls. Fenix atópase actualmente na version 0.92, a cal xa posúe melloras importantes en canto a rendemento, estabilidade, prestacións, etc.

Debido á base do proxecto, a biblioteca SDL, foi posible portar Fenix a un gran número de plataformas, como o propio Linux, Windows, MacOS X, BSD, BeOS, PlayStation, GP32, GP2X, Dreamcast e outras, aínda que as únicas oficialmente soportadas hoxe día son Linux, Windows, Mac OS X e BSD. Outras, como GP32 e GP2X gozan de gran aceptación das súas respectivas comunidades e mantéñense grazas á dedicación dos seus usuarios.

Críticas[editar | editar a fonte]

Fenix foi ou é criticado por varios motivos.

O primeiro é a falta de documentación actualizada. A pesar de que existe un extenso manual, este está orientado a versións ata a 0.71 e só está dispoñible en español. A linguaxe cambiou dende entón, deixando certas partes do mesmo obsoleto. Para liquidar isto, púxose a disposición dos usuarios unha documentación das funcións que incorpora a versión do CVS. Con todo, estase traballando en actualizar o sistema e o novo sistema (que pretende ser moito máis versátil que o antigo) aínda non está completo.

O proxecto carece dunha boa base multilingüe, o cal provoca nos usuarios non hispanohablantes un certo receo no seu uso. Esta dificultade está sendo traballada nas últimas versións CVS, aínda por completar.

Moitos usuarios quéixanse da lentitude do intérprete xa que todas as rutinas gráficas execútanse por software. Aínda que se falou de posibles versións aceleradas a través de arquitecturas OpenGL e parece que esta vai ser a vía que se siga nun futuro, aínda non hai nada que poida ser mostrado.

Para rematar, non existen IDEs completos para plataformas non-Windows, o que leva certa dificultade no seu uso para o resto de plataformas. Recentemente apareceu unha contorna escrita en Gambas que pretende facilitar o traballo aos usuarios de Linux. Con todo, aínda non é máis que un editor simple con soporte para resaltado de sintaxe.

Versións actuais (0.85 e seguintes)[editar | editar a fonte]

As versións de Fenix posteriores á 0.84b foron desenvolvidas por SplinterGU e o seu obxectivo é limpar de fallos Fenix e optimizalo para unha execución máis rápida, deixando de lado en principio a inclusión de novas características cuxo obxectivo non vaia nesa liña.

Ademais, cambiouse o sistema de compilación a un baseado en GNU_toolchain para todas as plataformas soportadas. Ademais esta serie de versións inclúe as melloras necesarias para ofrecer soporte para Windows Vista, ata con UAC activado.

Outro resultado desta serie de melloras é que o rendemento, en determinados casos chega a ser 3 veces maior que na versión 0.84.

Unha vez estabilícese por completo a rama actual o obxectivo é modularizar Fenix, separando toda a funcionalidade non esencial do núcleo do motor e ofrecéndoa como librerías externas. Está previsto que estes cambios realícense no que se deu en chamar Proxecto 2.0.

Outras das melloras máis reseñables (ver enlace máis abaixo para lista completa de cambios) son: - Concepto de variables publicas/locais por proceso, isto permite poder declarar variables que son locais a 1 proceso e non a todos. - Novos filtros de escalado grafico. - Un soporte de debug máis completo

Fenix 2.0[editar | editar a fonte]

O proxecto Fenix vai ser reformulado e reescrito nunha nova versión 2.0. Pénsase reescribir totalmente de novo, cunha nova filosofía de traballo, nova estrutura interna e outros moi importantes cambios, entre outros:

  • Fenix vaise a transformar nunha linguaxe de scripting independente, incorporando como módulos de extensibilidad bibliotecas adicionais, como a biblioteca gráfica, a de son, etc.
  • Cambia tamén a súa forma e licenza de distribución, será un arquivo en formato DLL e baixo a LGPL.
  • Cambios na biblioteca de tipos: Fenix a partir de agora traballará con só 2 bloques de tipos de datos, os datos de tipo básico e os datos de tipo composto.
  • A compatibilidade cara atrás, co código realizado para Fenix 1.0 será posiblemente nula ou moi baixa.
  • A idea principal é desenvolver un novo Fenix sen biblioteca gráfica nin outras bibliotecas ou desenvolvementos extra, é dicir un Fenix pequeno, modular, documentado e limpo.

As primeiras versións do motor de Fenix deberían de saír a mediados do 2007.

Ligazóns externas[editar | editar a fonte]

Xogos Fenix[editar | editar a fonte]

Aínda que hai numerosos xogos escritos en Fenix, son de destacar:

  • Karnak's Amorne de Alawar Entertainment, como primeiro xogo comercial realizado con Fenix. Trátase dun xogo de plataformas ambientado no Exipto faraónico.
  • Basgamix, é digno de mención debido á gran cantidade de niveis, a calidade dos escenarios e as músicas, que fan deste arcade/plataformas un xogo a considerar.
  • Nuts & Scrap de Devilish Games, que recibiu a Mención Especial do xurado no premio de creación de videoxogos organizado por ArtFutura e Sony PlayStation en 2003. No xogo, debes controlar a un robot e a unha tostadora co obxectivo de salvar ao Mundo dun pérfido doutor.
  • Sonoro Tv, tamén de Devilish Games, galardoado coa mención especial do xurado e a Mención Especial ao mellor concepto de xogo no premio de creación de videoxogos organizado por ArtFutura e Sony PlayStation en 2004. Similar en parte ao mítico Lemmings debes salvar a unha serie de 'samples' de ser eliminados por un malvado DJ.
  • Battle City Remake, de AFsoft, é unha remake do clásico xogo de tanques de Namco. Participou no concurso de remakes organizado por Retro Remakes obtendo o posto 20.
  • Streets of rage Remake de Bombergames, é un Remake con varios anos de desenvolvemento, trata de ser un perfecta reprodución de toda a saga e unha mostra do potencial de Fenix.
  • Masters of Invento-Fighting Xogo de loita en desenvolvemento (aínda moi incompleto) que segue o ronsel dos clásicos da loita 2D como Street Fighter, King of Fighters ou Guilty Gear. Bos gráficos e animacións, coidada jugabilidad, e moito sentido do humor.
  • PiX Pang de PiX Xogos é outro remake do xogo de recreativa Pang coa jugabilidad do orixinal máis outras características que se foron engadindo durante o desenvolvemento. ¡É realmente adictivo!
  • PiX Bros de PiX Xogos é un xogo que mestura tres clásicos arcade: Snow Bros, Bubble Bobble e Tumble Pop. Actualmente só se publicou unha demo, pero é moi prometedora.
  • RAD: Refiden Against Don de Se32, unha divertida parodia do Resident Evil que destaca polos seus gags e puntos humorísticos do mesmo xeito que pola súa impoñente calidade visual.
  • Agonía tamén de Se32. Trátase dunha aventura conversacional cunha mecánica similar a xogos como Three Sisters' Story e similares desenvolvida cun motor á súa vez desenvolvido en Fenix, Venturer. O xogo destaca por uns bos gráficos achegando unha ambientación excelente xunto ao audio e tamén polo saber aproveitar as funcionalidades do motor que utiliza como base.
  • Babaliba de Compiler Software. Un remake do xogo para computadores Sinclair ZX Spectrum que programou Víctor Ruiz, fundador da compañía Dinamic, a máis prolífica da idade de ouro do software español, no ano 1985. Forma parte dunha triloxía que comezou con Saimazoom, continuou en Babaliba e finalizou no magnífico Abu Simbel Profanation e que conta como protagonista co aventureiro Johny Jones.

Páxinas relacionadas[editar | editar a fonte]