FreeBasic is a 32-bit BASIC compiler, with syntax similar to MS-QuickBASIC, that adds new features such as pointers, unsigned data types, inline assembly, object orientation, and many others. The compiler is based on GCC and can use most C libraries.
FreeBasic has a large number of data types, including pointers, supports both static and dynamic arrays, structured types, enumerations, a robust preprocessor, inline assembly, and has a slimmed down version of classes similiar in style to Delphi's Extended Types. Some of the other features include namspaces, function overloading, unicode support, variable and array initializers.
FreeBasic can create standalone executables, DLL's and libraries. GUI applications can be created using several GUI packages such as GTK and IUP, and by using the Windows API. Debugging support is provided with GDB or Insight.
FreeBasic has an extensive built-in graphics library that provides a number of graphic primitives, mutli-buffer screen pages, direct access to the underlying screen pages, 8 to 32-bit color commands, BMP and PNG support, and has libraries that can utilize OpenGL and DirectX.
FreeBasic has versions for both Windows and Linux.
The following roguelikes have been written in FreeBasic