DarkBASIC

DarkBASIC (от англ. dark — тёмный и BASIC) — специализированный язык программирования, созданный компанией The Game Creators специально для создания трёхмерных и двумерных игр. Структура языка заимствована из BASIC, также язык похож на AMOS, использовавшийся на Amiga.

Из BASIC в DarkBASIC перешли почти все операторы, и добавились специфичные команды, относящиеся к игровому движку, разработанному в The Game Creators для создания игр с использованием DirectX.

Возможности языка

  • Изображение
    • Автоматическое использование двойного буфера
    • Возможность открытия программы на полный экран
    • Анимация
  • Ввод-вывод
    • Ввод с мыши, клавиатуры, джойстиков и других игровых контроллеров
    • Обратная связь (force feedback)
    • Системные вызовы
    • Работа с файлами
  • Звук
  • 2D
    • Процедуры рисования в 2D
    • Быстрый 2D-блиттинг
    • Полупрозрачность
    • Спрайты, в том числе анимированные
    • Определение столкновений с пиксельной точностью
  • 3D
    • Встроенные 3D-примитивы
    • Анимация моделей
    • Освещение
    • Текстурирование

DarkBASIC Professional

DarkBASIC Professional разрабатывается в качестве замены DarkBASIC. Текущая версия — 7.5, выпущена 28 июня 2010 года.

В отличие от DarkBASIC, «профессиональная» версия генерирует машинный код. Первоначально использовал DirectX 8.1, но позже был обновлён для использования DirectX 9.0c. Язык по сути является тем же что и DarkBASIC, с некоторыми дополнениями. В частности, есть возможность комбинировать простые типы в структуры.

В ноябре 2009, The Game Creators к своему 10-летнему юбилею выпустила бесплатные электронные версии DarkBASIC Professional[источник не указан 2252 дня].

DarkBasic Professional в настоящее время является программным обеспечением с открытым исходным кодом.

Примеры

Пример программы «Hello, World!», написанной на DarkBASIC:

PRINT "Hello, World!"
WAIT KEY

Программу можно развивать и до следующего:

SET TEXT SIZE 40
INK RGB (0,0,0), RGB (0,0,255)
PRINT "Hello,"
WAIT 5000
SET TEXT SIZE 20
INK RGB (0,0,0), RGB (255,0,0)
CLS
PRINT "World!"
WAIT KEY

Ниже указан пример программы которая работает с кубами:

Sync On
Sync Rate 60
Make Object Cube 1, 25
Color Object 1, RGB(128, 64, 78)
Position Camera 30, 30, 30
Point Camera 0, 0, 0
Make Light 1
Position Light 1, 0, 30, 0
Do
 If Downkey()=1 then Pitch Object Down 1,1
 If Upkey()=1 then Pitch Object Up 1,1
 If Leftkey()=1 then Turn Object Left 1,1
 If Rightkey()=1 then Turn Object Right 1,1
 Sync
Loop

Литература

  • Jonathan S. Harbour, Joshua R. Smith. Beginner's guide to darkBASIC game programming. — Premier Press, 2003. — 752 p. — ISBN 978-1-592-00009-8.
  • Jonathan S. Harbour, Joshua R. Smith. DarkBasic pro game programming. — 2 edition. — Thomson Course Technology, 2006. — 577 p. — ISBN 978-1-598-63287-3.
  • Jerry Lee Ford, Jr. DarkBASIC Programming for the Absolute Beginner. — Course Technology, 2008. — 406 p. — ISBN 978-1-598-63385-6.

Ссылки