Download: Direct LinkVersion: 1.1.alpha
OVERVIEWPiraBASIC™ Game Development System is a modern, modular, object oriented game programming language based on a modern version of BASIC®, a light-weight IDE (integrated development environment) and an advanced 2D game engine for Windows® PC. The engine uses Direct3D® for hardware accelerated rendering. It's robust, designed for easy use and suitable for making all types of 2D games and other graphic simulations. There is support for surfaces, textures, sprites, audio, streams, archives, configuration files, render targets, swap chains, databases and much more.
LANGUAGE FEATURES- The language is modern, modular, object oriented and based on the easy to use BASIC programing language.
- Namespaces, structures, classes, inheritance and generic types.
- Static(shared) members, indexed properties, default parameters.
- Overloaded routines, operator overloading, delegates, exception handling, pointer types.
- Conditional compilation.
- Direct calling dll-defined routines.
- All calling conventions register, pascal, cdecl, stdcall, safecall are supported.
- DLMs (dynamic loadable modules)
IDE FEATURES- Toggle Code Folding
- Line numbers
- Syntax Highlighting
- Project Options
- User Activation/Deactivation/Feedback from IDE (Help->Activation/Feedback)
- File operations: open, close, close all, save, save all, print/preview
- Edit operations: undo, redo, cut, copy, past, select all
- Search operations: find, find again, find/replace
- Compile/Compile & Run
- Param Hints (Shift+Ctrl+Space)
- Code Completion (Ctrl+Space)
- Code Templates (Ctrl+J)
- Char Popup (Ctrl+.)
- Sync Edit (Shift+Ctrl+J)
- Integrated CHM Help
- Editor Options (Options->Editor Options)
- FontStudio for textured font generation (Tools->FontStudio)
- Context sensitive Help (F1) in the editor (place the cursor on a keyword and press F1 or right click).
- EXE generation with version info and application icon
- Persistent editor state
GAME ENGINE FEATURES- Intuitive, easy to use procedural API
- Uses Direct3D 9 for 2D hardware rendering.
- Uses 32bit surfaces and textures.
- Free scaling, rotation, alpha blending and other special effects.
- Windowed and full screen modes.
- Frame based timing support.
- Low-level INI file and high-level configuration file support.
- XML file support.
- Unified Streaming system (memory, file, EXE resources, zip archive).
- Can render to default application window or to a specified window handle.
- Advanced render target and swap chain support.
- Scalable textured fonts (includes a Unicode font editor tool).
- Graphic primitives (lines, circles, rects, points).
- Advanced polygon rendering (scale, rotate, control line segment visibility).
- Support for rendering large images (640x480, 800x600, 1024x768 for example).
- Advanced sprite management.
- PolyPoint™ collision system for fast precise collision detection.
- Mouse and keyboard input management.
- Unified audio system with support for WAV | MP3 | MID | OGG | MOD | IT | S3M | XM music formats.
- Comprehensive math routines (vectors, angles, line intersection, clipping).
- Log file support.
- SQL database support (MySQL local & remote | SQLite local only).
- High-level support for Actors, Entities and AI.
- Low-level system and common routines (dynamic DLL management, directory, EXE modification).
- CHM and HTML file support.
- Low-level (reliable UDP) networking.
- Support for textured light mapping.
This is a little side project I've been working on as a way to take a break (but still stay creative) from other current projects. If there is enough interest I plan to complete help file (a good portion of it is done already) and add the IDE and maybe continue development.