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 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 which makes Fenix a very portable project. Other features include full 2D support, 16 bpp color, sound, joystick support, mode7 and extensions via libraries.
Its current version is 0.92a 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 Automake/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. 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 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, 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. 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 is quite active and the is a good source of documentation.
Running Fenix
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.