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[источник не указан 2213 дней].

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.