DarkBASIC Professional
Encyclopedia
DarkBASIC Professional is a BASIC dialect targeted specifically at 2D and 3D game development. It is available from software company The Game Creators
The Game Creators
The Game Creators, Ltd. is a British game development software company formed through a partnership between programmer Lee Bamber and Richard Vanner in 1999, located in Lancashire, England, United Kingdom. The company was formerly known as DarkBASIC Software Limited.The company primarily develops...

 and is an offshoot of their original DarkBASIC
DarkBASIC
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...

 programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

. Since 2010, it has been available to download free from The Game Creators' website, however a license is required if games made with it are distributed commercially.

DBPro diverges from DarkBASIC in many different ways. DBPro uses DirectX
DirectX
Microsoft DirectX is a collection of application programming interfaces for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with Direct, such as Direct3D, DirectDraw, DirectMusic, DirectPlay,...

 9c unlike the original DarkBASIC which used DirectX 7. Other additions include better support for networked multiplayer commands, BSP
Binary space partitioning
In computer science, binary space partitioning is a method for recursively subdividing a space into convex sets by hyperplanes. This subdivision gives rise to a representation of the scene by means of a tree data structure known as a BSP tree.Originally, this approach was proposed in 3D computer...

 level support, bump, sphere, and light mapping, pixel shader and vertex shaders, commands for physics control, multiple camera viewpoints, better interfaces to external DLL
Dynamic-link library
Dynamic-link library , or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems...

s, advanced sprite commands using Direct3D
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...

 rendering for hardware acceleration, a particle system, and built-in queue and stack
Stack (data structure)
In computer science, a stack is a last in, first out abstract data type and linear data structure. A stack can have any abstract data type as an element, but is characterized by only three fundamental operations: push, pop and stack top. The push operation adds a new item to the top of the stack,...

 manipulation.

One of the most important changes was that DarkBASIC Pro uses true machine level compilation
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

 which allows it to be significantly faster than DarkBASIC, which created executables by appending a program's source code to a copy of the interpreter
Interpreter (computing)
In computer science, an interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language...

. Another notable change was the inclusion of a new IDE
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 with builtin syntax highlighting
Syntax highlighting
Syntax highlighting is a feature of some text editors that display text—especially source code—in different colors and fonts according to the category of terms. This feature eases writing in a structured language such as a programming language or a markup language as both structures and...

, debugger
Debugger
A debugger or debugging tool is a computer program that is used to test and debug other programs . The code to be examined might alternatively be running on an instruction set simulator , a technique that allows great power in its ability to halt when specific conditions are encountered but which...

, and project resource management. DBPro also allows access to existing or user created DLLs
Dynamic-link library
Dynamic-link library , or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems...

 written in any other language. This feature can be used to expand its command set or access system resources and hardware
Computer hardware
Personal computer hardware are component devices which are typically installed into or peripheral to a computer case to create a personal computer upon which system software is installed including a firmware interface such as a BIOS and an operating system which supports application software that...

 otherwise not supported by default.

The latest version is version 7.61 (1.0761), which was released on 1st June 2011.
An unofficial DBPro convention has been held in Chichester
Chichester
Chichester is a cathedral city in West Sussex, within the historic County of Sussex, South-East England. It has a long history as a settlement; its Roman past and its subsequent importance in Anglo-Saxon times are only its beginnings...

, England
England
England is a country that is part of the United Kingdom. It shares land borders with Scotland to the north and Wales to the west; the Irish Sea is to the north west, the Celtic Sea to the south west, with the North Sea to the east and the English Channel to the south separating it from continental...

 every year since 2003. The First official Game Creators Convention was held on October, 2007 with most of the staff of The Game Creators attending.

License

Licenses for DarkBASIC Professional were made freely available for individual home users in November 2009 although business and educational establishments cannot use the free version and so must purchase licenses. However the license still means that anything produced using DarkBASIC Professional is royalty free. In early 2010, The Game Creators also made DarkBASIC Professional open source by making the source code freely available on Google Code
Google Code
Google Code is Google's site for developer tools, APIs and technical resources. The site contains documentation on using Google developer tools and APIs—including discussion groups and blogs for developers using Google's developer products....

.

Dark GDK and Dark GDK .NET

Dark GDK is a software development kit
Software development kit
A software development kit is typically a set of software development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.It may be something as simple...

 for C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

. It implements most of the commands available in DBPro as well as give the user lower level access to the API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

. Currently Microsoft Visual Studio
Microsoft Visual Studio
Microsoft Visual Studio is an integrated development environment from Microsoft. It is used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all...

 6 and Visual Studio .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

 2003 are supported but The Game Creators have stated that they are planning to support Dev-C++
Dev-C++
Dev-C++ is a free integrated development environment distributed under the GNU General Public License for programming in C and C++. MinGW, a free compiler, is bundled with it. The IDE is written in Delphi....

 in future versions, although they have not yet extended support to Dev-C++
Dev-C++
Dev-C++ is a free integrated development environment distributed under the GNU General Public License for programming in C and C++. MinGW, a free compiler, is bundled with it. The IDE is written in Delphi....

, and the plans may be dropped now that Visual C++ 2005 is supported.. Dark GDK's API is very similar to that of DarkBASIC Professional, such that code can be very easily ported between C++ code utilising Dark GDK and DarkBASIC Professional code.

The Dark GDK is now also available with Visual C++
Visual C++
Microsoft Visual C++ is a commercial , integrated development environment product from Microsoft for the C, C++, and C++/CLI programming languages...

 2008 Express. Dark GDK is free for personal use, however you must purchase a license if you plan on selling a game made with Dark GDK.

Dark GDK .NET was created for the same purpose, except it allows the user to create games using Visual C# .NET
Microsoft Visual C Sharp
Microsoft Visual C# is Microsoft's implementation of the C# specification, included in the Microsoft Visual Studio suite of products. It is based on the ECMA/ISO specification of the C# language, which Microsoft also created. While multiple implementations of the specification exist, Visual C# is...

 or Visual Basic .NET
Visual Basic .NET
Visual Basic .NET , is an object-oriented computer programming language that can be viewed as an evolution of the classic Visual Basic , which is implemented on the .NET Framework...

. Unlike Dark GDK, Dark GDK .NET is only available commercially and has no free version.

Addon Packs

The Game Creators have helped nurture other external programmers who fill the missing gaps and co-released a number of additional .DLL addons for DarkBasic Professional. These include:
  • 2D Plugin kit- Add particle effects and fake 2d light easily.
  • Advanced Terrain - Limited free version and pay version. Creates 'fast' terrain based on a black and white bitmap heightmap.
  • Box2D - Adds a range of 2D commands including 2D physics
  • Dark AI - Adds artificial intelligence commands such as pathfinding
  • Dark Clouds - Allows you to make high quality clouds for your games
  • Dark Data - Adds database management commands
  • Dark Ink - Adds printing commands
  • Dark Lights - Adds new light mapping commands
  • Dark Net - Adds networking commands using both UDP and TCP protocols
  • Dark Physics - Adds physics related commands compatible with the new nVidia
    NVIDIA
    Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

     Physics Processing Unit
    Physics processing unit
    A physics processing unit is a dedicated microprocessor designed to handle the calculations of physics, especially in the physics engine of video games. Examples of calculations involving a PPU might include rigid body dynamics, soft body dynamics, collision detection, fluid dynamics, hair and...

     (PPU). The new version now has fluid support without a PPU.
  • Dark Shader - Adds the ability to create homemade shaders easily
  • Dark Video - Adds movie encoding, decoding and playback commands
  • Enhanced Animations - Adds new commands for manipulating 3D models
  • Enhancement Pack - Adds numerous commands such as user information gathering
  • eXtends - Adds a large range of commands, especially in relation to 2D and 3D graphics. However it does not support Windows Vista or Windows 7
  • EZrotate - Adds powerful maths commands
  • Green-Ear - Adds Voice and text chat commands for multiplayer games
  • Nuclear Glory - Adds complex 3D collision commands
  • STYX - Adds over 200 commands including XML
    XML
    Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

     reading and writing commands, dialog commands and some lower level commands
  • Texture Max - Adds commands for manipulating textures
  • Unity - Adds commands allowing Lua scripts to be executed


There are also a number of free addon packs created by the community, these include:
  • BlitzTerrain - Free LOD Terrain plugin
  • BlueGUI - Use windows dialog commands in applications and games
  • Box2D Plugin Wrapper - Free 2D rigid body physics plugin, wrapping Box2D for DBPro
  • DBPTime - Adds time commands
  • DBP Collision DLL - Provides ray casting and collision
  • Matrix1Utils plugin pack - Huge collection of commands, almost essential for DBPro programmers
  • MultiSync - Free plugin for added networking capabilities
  • Newton Physics - Provides rigid body physics
  • Octree Culling Plugin - Free plugin to allow easy octree based culling of DBPro objects
  • Tempest - Free plugin for added networking capabilities
  • ViewGUI - Free, simple to use GUI using Direct3D with a WYSIWYG editor
  • WinGUI - Provides an open-source solution to building windows environments

Integrated Design Environments

The community and The Game Creators themselves have produced a number of IDEs for editing DBP source code. These include
  • CodeSurge - Alternative editor for DBP. Version. 1 is free but version 2 will be sold commercially.
  • Indigo - Community produced editor and the successor to BlueIDE.
  • Legacy Editor - Editor built for DBP by TGC when it was first launched. Has not been the official editor since v. 75.
  • Synergy - Editor adopted by TGC and developed to become the official editor after v. 75.
  • Stab In The Dark Editor – Alternative IDE which uses the power of Scintilla.net and innovative media control for the optimum in project organization

Precompilers

  • AddressOf Precompiler - Makes use of IanM's Matrix1Utils plugin pack to allow a VB style of getting function pointers
  • DBP OOP Precompiler - Replaces DBPs built in 'types' with classes and structures that allow inheritance
    Inheritance (computer science)
    In object-oriented programming , inheritance is a way to reuse code of existing objects, establish a subtype from an existing object, or both, depending upon programming language support...

    , arrays
    Array data type
    In computer science, an array type is a data type that is meant to describe a collection of elements , each selected by one or more indices that can be computed at run time by the program. Such a collection is usually called an array variable, array value, or simply array...

    , methods
    Method (computer science)
    In object-oriented programming, a method is a subroutine associated with a class. Methods define the behavior to be exhibited by instances of the associated class at program run time...

     and properties
    Property (programming)
    A property, in some object-oriented programming languages, is a special sort of class member, intermediate between a field and a method. Properties are read and written like fields, but property reads and writes are translated to get and set method calls...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK