DarkBASIC

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For the spoken-word duo, see DarkMatter (spoken word).
DarkBasic
DarkBasicLogo.gif
Developer(s) The Game Creators
Initial release 2000; 16 years ago (2000)
Stable release 1.21 / August 14, 2008; 7 years ago (2008-08-14)
Written in Compiled to C++ however the scripting language is BASIC
Operating system IDE for Microsoft Windows, Mac OS X, Linux
Platform Crossplatform
Available in English
Type Game creation system
License Proprietary
Website www.thegamecreators.com

DarkBASIC is a commercial game creation programming language released by The Game Creators. The language is a structured form of BASIC and is similar to AMOS on the Amiga. The purpose of the language is game creation using Microsoft's DirectX from a BASIC programming language. It is faster and easier to use than comparable languages, but also less powerful.[citation needed] It is marketed on its ability to allow a total novice to make playable games after following its tutorials.

DarkBASIC is a programming language that specializes in the creation of games. It can create both 2D and 3D games, providing function libraries that enable a game to be programmed with considerably less code than with a language such as C++ without such dedicated libraries. DarkBASIC consists of an IDE, debugger and interpreter, and an engine built on DirectX 7. The compiler emits Bytecode that is appended to an interpreter to create a stand-alone executable.

It was first released in 2000 by DarkBasic Software Ltd (now The Game Creators Ltd.). In 2002, The Game Creators released an updated version called DarkBASIC Professional able to use newer versions of DirectX. The pre-Professional version is informally referred to as DarkBASIC Classic to distinguish between the products.

The current DarkBASIC Classic version is 1.21, released on 14 August 2008. Since the introduction of DarkBASIC Professional, The Game Creators have stated that there will be no further updates to the language, although it will still be sold.

Features[edit]

Audio/Video Extension Save
Wave WAV Yes
Windows Media WMA
Mpeg Layer 2 MP2
Mpeg Layer 3 MP3
MIDI Playback MIDI
RMI RMI
Scream tracker S3M
Fast Tracker XT
Impule Tracker IT
SoundTracker MOD
CD Audio CDA
2D Extension Save
Bitmap BMP Yes
Run Length Encoded BMP RLE
Device Independent Bitmap DIB
Portable Network Graphics PNG
JPEG JPG Yes
DirectDraw Surface DDS
Targa TGA
PCX PCX
PhotoShop PSD
Tagged Interchange Format TIFF
3D Extension Save
3D Studio 3DS
DirectX X
Dark Basic Object DBO Yes

DarkBASIC is a wide language which covers all areas of game development typical of its time, hence it also includes a wide range of file formats typically used in games. Extra features such as multiplayer and EAX support became available in an expansion pack.

Display[edit]

Input/Output[edit]

  • Mouse, keyboard and gaming controller support
  • Force-feedback control
  • System handling
  • File handling

Video and audio[edit]

  • Video animation control
  • Audio control

2D[edit]

  • Accelerated 2D blitting
  • Mirror, stretch, blur and fade
  • Screen-sized and animated sprites
  • Transparency[vague]
  • Pixel-accurate collision
  • 2D drawing Functions

3D[edit]

DarkBASIC Professional[edit]

Developed as a replacement for DarkBASIC. As with DarkBASIC it consisted of an IDE, debugger and compiler. Unlike DarkBASIC, the DarkBASIC Professional compiler outputs machine code. The engine originally used DirectX 8.1 but has been updated to use DirectX, 9.0c. The language is essentially the same as DarkBASIC with a few additions. Notably types which allow combining simple data types into a composite data type similar to Structs in C. Other features include the use of shaders, 3D maths commands and vertex editing commands. The current version is 7.61 released 1 June 2011.[needs update?]

Sample code[edit]

Hello world[1][edit]

PRINT "Hello world."
WAIT KEY
END

Simple rotating cube[2][edit]

REM 3D rotating cube demo

SYNC RATE 60

MAKE OBJECT CUBE 1,100

DO
    XROTATE OBJECT 1,WRAPVALUE(OBJECT ANGLE X(1)+0.3)
    YROTATE OBJECT 1,WRAPVALUE(OBJECT ANGLE Y(1)+0.5)
    SYNC
LOOP
END

See also[edit]

References[edit]

  1. ^ Darkbasic Professional user manual
  2. ^ "darkBASIC codebase". Thegamecreators.com. Retrieved 2012-12-10. 

External links[edit]