Bennu FAQ

This FAQ intends to answer some of the most common questions people ask when starting with Bennu.

Hope you find them useful!

  1. What is Bennu?
  2. Where can I download Bennu?
  3. How do I install Bennu?
  4. Who made Bennu?
  5. Why use Bennu and not other languages? / Why is Bennu better than other languages?
  6. Do I have to pay to use it?
  7. Can I sell my games?
  8. Can I make network enabled games?
  9. Can I make 3D games?
  10. Why are there libraries (*.so/*.dll files) in many folders? / Why are there so many folders?
  11. What are the programs inside the “bin” folder? What are they used for?
  12. Where will my games work?
  13. Is Bennu compatible with Fenix?
  14. Where can I find tutorials?
  15. Where can I ask for help?
  16. Which graphic formats does Bennu understand?
  17. Which sound formats does Bennu understand?
  18. What is a FPG file?
  1. What is Bennu?
    Bennu is a scripting language aimed at making games. Bennu is designed as an easy tool you can use to develop games with. It provides easy solutions for sound and graphic operations. While not being as easy as Game Maker, it is also not as limiting as Game Maker. With Bennu, you decide what game you make.

  2. Where can I download Bennu?
    You can get it from the link on the left that says “Download”.
    You might find archived versions for Bennu packages here, but using the Download page is usually easier.

  3. How do I install Bennu?
    On windows, you should just double-click the installer and then choose the installation path. In Windows Vista, or Windows 7, you might want to start the program by right-clicking on it and selecting “Run as Administrator” from the menu.
    You might also want to install the BennuPack, that installs an IDE based on Notepad++ and some of the most used BennuGD modules.
    On Windows, you might want to follow the instructions found in the wiki.

  4. Who made Bennu?
    Bennu is a Fenix fork, and is largely based on it. The source code has beel largely reworked by SplinterGU and all the officialy supported ports are mantained by him.

  5. Why use Bennu and not other languages? / Why is Bennu better than other languages?
    Bennu makes it easy to focus on what you want to do and not in how you want to do it.

  6. Do I have to pay to use it?
    No!. If you paid, you’ve been counterfeited.
    However, if you want to make a donation (be it hardware or money) you are more than welcome to do so. Click on Donations on the menu on the left to know how.

  7. Can I sell my games?
    Sure! You don’t even have to provide the source code for it (although that would be very nice from you!) and, if you make want to sell your games you’re free to do it. Come to the forums and tell us, we’ll be happy to know.
    You don’t need to give Bennu any credit, but you’re encouraged to do so. You may use the following logo (scaled, if you wish) on your loading screen:

  8. Can I make network enabled games?
    Yes! In the downloads section you can find the FSock modules, which adds networking capabilities to Bennu, and comes with an example.

  9. Can I make 3D games?
    Yes! In the downloads section you can find the link to the Bennu3D module, that is based on hte Irrlicht engine and replaces the standard Bennu video module.

  10. Why are there libraries (*.so/*.dll files) in many folders? / Why are there so many folders?
    The mod_* files are Bennu modules, contained in one folder. The lib* files are internal libraries that provide the functionality for those mod_* files and are not meant to be used directly. This means you should import only modules and not internal libraries.

  11. What are the programs inside the “bin” folder? What are they used for?
    There should be three executables, named:

    • BGDC: This is the compiler for Bennu code. If your code is correct, it will translate a “.prg” file into the corresponding “.dcb” file. If your code is not correct, it should indicate you why, when run from a terminal.
    • BGDI: This is the Bennu interpreter. Once you’ve compiled your code into a “.dcb” file, this program is used to run that code.
    • MODDESC: This program gives you details about the modules installed in your system, when run from a terminal.
  12. Where will my games work?
    Bennu is officially supported in most recent Windows versions (i.e. Windows 2000 and over), recent 32 bit Linux versions (or 64 bit Linux with 32 bit support librarires installed) and the GP2X Wiz console (thanks to GamePark Holdings for donating hardware, making the port possible).
    Anyway, Bennu basically runs anywhere SDL & libdl are available and so has been seen running in MacOS X, the Wii & the original Xbox console, the GP2X console, various BSD systems…

  13. Is Bennu compatible with Fenix?
    Yes! Bennu is a fork of Fenix, and is completely compatible with it. The main difference for the user is that Bennu sports a modular design, so the user must tell Bennu which parts to load.
    You have two options:

    1. Either you include a few lines at the top of your main source code with the text import “modulename”; Where modulename is the name of the module you want to load.
    2. Or you include a file named main.imp (if your main source code file is not named main.prg, change accordingly) with the names of the modules you want to load, one per line.

    Appart from that, you shouldn’t need any other code changes.

  14. Where can I find tutorials?
    You can refer to the Beginner’s tutorial wiki page.
    If you understand Spanish, you can also see Windgate’s excellent tutorial.

  15. Where can I ask for help?
    The official forums are a great place to get in touch with other Bennu users and developers. Even if there are only English & Spanish sections there, you are welcome to ask in any language you can speak and we’ll do our best to help you there (Google translate included :).
    If you want a more English-specific twist, you can go to the English-only forums.

  16. Which graphic formats does Bennu understand?
    Bennu can open its own MAP and FPG formats, but also understands the more widespread PNG format.
    Anyway, in the download section you can find the mod_image unofficial module, which is a wrapper around SDL_image and adds support for the most common graphic formats; JPEG, GIF & BMP included.

  17. Which sound formats does Bennu understand?
    The Bennu sound system is based upon SDL_mixer and makes a difference when dealing with sound effects between sounds and songs:

    • Sounds are uncompressed WAVs and are decoded in memory when the WAV file is loaded, thus making playing them easier on the CPU.
    • Songs are more complex formats. Songs include module tracker formats (XM, S3M, IT…), OGG Vorbis (which is very similar to MP3 in philosophy, but is technically superior and free) and (depending on your setup) MIDI. Songs are decoded at runtime, so they don’t use too much memory, at the expense of a higher CPU load.
  18. What is a FPG file?
    FPG files are a special type of files that Bennu uses that make it easy to store multiple Bennu images (Bennu internally uses its own graphic format called MAP) inside one single file, making it easy to make animations or store related images together.