HOME

TheInfoList



OR:

Fenix Project is the codename for a GNU project to create a free
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
for a
scripting language A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled. A scriptin ...
derived from the one created by Hammer Technologies for the
game development Video game development (or gamedev) is the process of developing a video game. The effort is undertaken by a developer, ranging from a single person to an international team dispersed across the globe. Development of traditional commercial PC ...
suite DIV Games Studio. However, several features have been added which make it incompatible with most games programmed with DIV Games Studio.


Features

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 Coroutines are computer program components that generalize subroutines for non-preemptive multitasking, by allowing execution to be suspended and resumed. Coroutines are well-suited for implementing familiar program components such as cooperative ...
, 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 Simple DirectMedia Layer (SDL) is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components. Software developers can use it to write high-performance computer ...
(SDL) which makes Fenix a very portable project. Other features include full 2D support (
scaling Scaling may refer to: Science and technology Mathematics and physics * Scaling (geometry), a linear transformation that enlarges or diminishes objects * Scale invariance, a feature of objects or laws that do not change if scales of length, energ ...
, transparencies, blend ops...), 16 bpp color, sound (.
ogg Ogg is a free, open container format maintained by the Xiph.Org Foundation. The authors of the Ogg format state that it is unrestricted by software patents and is designed to provide for efficient streaming and manipulation of high-quality di ...
, . mod, . it, . s3m, .
wav Waveform Audio File Format (WAVE, or WAV due to its filename extension; pronounced "wave") is an audio file format standard, developed by IBM and Microsoft, for storing an audio bitstream on PCs. It is the main format used on Microsoft W ...
), joystick support, mode7 and extensions via
libraries A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
.


Supported platforms

* Official:
Windows Windows is a group of several Proprietary software, proprietary graphical user interface, graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, W ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which in ...
,
Mac OS Two major famlies of Mac operating systems were developed by Apple Inc. In 1984, Apple debuted the operating system that is now known as the "Classic" Mac OS with its release of the original Macintosh System Software. The system, rebranded "M ...
,
BSD The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berke ...
, BeOS * Unofficial:
GP32 The GP32 (GamePark 32) is a handheld game console developed by the South Korean company Game Park. It was released on November 23, 2001, in South Korea and distributed in some parts of Europe. History The GP32 was shown at E3 in 1999, 2000, 200 ...
,
GP2X The GP2X is a Linux-based handheld video game console and portable media player developed by South Korean company GamePark Holdings. It was released on November 10, 2005, in South Korea only. The GP2X is designed for homebrew developers as w ...
,
GP2X Wiz The GP2X Wiz is a handheld game console and portable media player developed by South Korean company GamePark Holdings running a Linux kernel-based embedded operating system. It was released on May 12, 2009, and was also the first console from both ...
,
Dreamcast The is a home video game console released by Sega on November 27, 1998, in Japan; September 9, 1999, in North America; and October 14, 1999, in Europe. It was the first sixth-generation video game console, preceding Sony's PlayStation 2, Nin ...
, PS2


Status

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 Argentina (), officially the Argentine Republic ( es, link=no, República Argentina), is a country in the southern half of South America. Argentina covers an area of , making it the second-largest country in South America after Brazil, th ...
who cleaned of all known bugs. Also a GNU default Automake/
Autoconf GNU Autoconf is a tool for producing configure scripts for building, installing, and packaging software on computer systems where a Bourne shell is available. Autoconf is agnostic about the programming languages used, but it is often used for ...
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 In computer programming and software development, debugging is the process of finding and resolving '' bugs'' (defects or problems that prevent correct operation) within computer programs, software, or systems. Debugging tactics can involve ...
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 A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
, 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 (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. Th
Bennu Forum
is quite active and th
Bennu Wiki
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.


Forks

Fenix was succedded by Bennu, created by some of Fenix's developers.Eight successors of the mythical DIV Games Studio, the video game creation tool that triumphed in Spain 20 years ago
/ref> PixTudio was a fork of BennuGD, which was started as a mere custom engine for the video game 'eXplosive Dinosaurs'.


See also

* Maggie (library)


References

{{Reflist, 2


External links


Official SiteOfficial ForumEnglish WikiSpanish WikiResourcesNew FlameBird 2FlameBird 2Another English forum
Video game development software Scripting languages