Fenix Project

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Fenix Project is the codename for a GNU project to create a free compiler for a scripting language derived from the one created by Hammer Technologies for the game development suite, DIV Games Studio. However, several features have been added which make it incompatible with most games programmed with DIV Games Studio.

Features[edit]

Fenix is an interpreted language focused on 2D video game development. Its main feature, inherited from DIV, is the pseudo-parallel programming similar to Coroutines, i.e. it gives the developer the chance of programming different processes (enemies, characters, etc.) separately, and the engine will synchronize them. This makes video game developing much easier. Most of its features are now based on Simple DirectMedia Layer (SDL) which makes Fenix a very portable project. Other features include full 2D support (scaling, transparencies, blend ops...), 16 bpp color, sound (.ogg, .mod, .it, .s3m, .wav), joystick support, mode7 and extensions via libraries.

Supported platforms[edit]

Official: Windows, Linux, Mac OS, BSD, BeOS

Unofficial: GP32, GP2X, GP2X Wiz, Dreamcast, PS2

Status[edit]

Its current version is 0.92a (beta) and no project maintainer is currently taking care of updating it. The old 0.84 branch — which happened to be quite unstable — was retaken by SplinterGU, a developer from Argentina who cleaned of all known bugs. Also a GNU default Automaker/Autoconf build system, which increases portability, has been implemented, making it very easy to add support for BSD systems in Fenix.

Although SplinterGU mainly focused on stabilizing the 0.84 branch, he has also added some new capabilities to Fenix, like a better control of the debug console (also making it display more information).

Some of the Fenix 0.8 developers have started a Fenix 2 branch, which should feature a completely rewritten core, on top of which users (game developers) may plug the required libraries, thus increasing flexibility and modularity. However, this second effort seems to be taking a long time, and no ETA or further news about the project has been given by its developers, so it might not be made public soon. SplinterGU, after publicly showing interest in separating the Fenix core from the rest of the interpreter,[1] and some disagreements with some members of the community, decided to fork Fenix into BennuGD and continued working on this.

BennuGD has come a long way and is currently in a much more advanced and stabilized state than the current version of Fenix (0.92a). The program has been separated into a core and multiple modules. The core has been much improved, for example by optimizing the process handling, the modules have been tidied up and many bugfixes have been done. In addition to these improvements, the language itself has been expanded with more functionality, like error handling and goto. The Bennu Forum is quite active and the Bennu Wiki is a good source of documentation.

Running Fenix[edit]

Fenix comes as a console program. There are several IDEs around, being the most popular FBTwo_Project. Many other general-purpose IDEs can be easily adapted to it.

References[edit]

  1. ^ Fenix Forum SplinterGU's post on modularization (Spanish)

External links[edit]