Программа darkbasic для android

Обновлено: 30.06.2024

Кто в нашей стране не слышал иностранного слова BASIC ? Наверное, слышали все, поскольку школьная программа “всероссийской компьютерной грамотности” настаивает на изучении основ программирования на примере этого языка.

Труд учителей информатики, особенно при отсутствии в школах компьютеров, благодарным не назовешь. Если в промежутках между уроками макраме, изготовлением табуреток и прыжками через “коня” ученики помнят из курса хотя бы название изучаемого предмета — три балла на экзамене уже, считай, честно заработано. А вот про “темного однофамильца” — Dark Basic — знают далеко не все. Хотя предназначен он для широкого круга любителей, поскольку позволяет. делать компьютерные игры.

Возможности весьма широки: поддержка DirectX , широкий набор различных типов данных и многое другое. Учитывая, что лицензионный пакет стоит недорого, это настоящая находка для всерьез увлекающихся созданием 3D-игр. Недавно вышла новая версия Dark Basic Pro (далее DB Pro), которую у нас распространяет компания “ МедиаХауз ”. Тактико-технические данные у нового продукта очень заманчивые.

Мы попросили поделиться впечатлениями двух программистов, Дмитрия Корабельникова Владислава Яременко , знакомых с “темным” предметом нашего разговора очень давно.

“Игромания” [И]: Многие уверены, что компьютерные игры делают только на С++ или Delphi. С Dark Basic знакомы далеко не все, поэтому первый вопрос — что это такое?

Группа Zone-X в полном составе. Слева - наш собеседник Владислав Яременко, справа - его соратник по "зоне" Ринат Халилуллин.

Владислав Яременко [ВЯ]: Dark Basic — это язык высокого уровня. Он максимально понятен программисту. Поэтому программировать в этой среде разработки очень легко. Главной задачей, для которой создавался этот язык, были компьютерные игры. Причем разного направления и реализации — хоть в 2D, хоть в 3D.

Жанр не имеет никакого значения. Язык чрезвычайно прост в освоении, что обеспечивает его устойчивую популярность у начинающих программистов. Известно, что для разработки игры на “Си” или Delphi нужно знать множество вещей: это и DirectX последней версии, и ядро операционной системы, и много чего еще.

Кроме того, нельзя забывать про высокую стоимость этих пакетов разработки и лицензионных отчислениях, если вы надумаете игру продавать. С Dark Basic (далее DB) все гораздо проще.

Дмитрий Корабельников [ДК]: Вообще, есть Dark Basic Classic (далее DB Classic) — очень оригинальный, но, к сожалению, не доведенный до ума язык программирования. С этим инструментом реально можно писать небольшие 3D-игры и музыкальные demo.

А есть DB Pro, который предназначен для более серьезных проектов. Однако он находится в стадии непрерывной доработки. Постоянно выпускаются пакеты обновлений, в которых убита очередная порция багов. Рекомендовать его “людям без интернета” по меньшей мере рискованно.

Тем не менее перспективы у DB Pro очень хорошие. Сам проект интересен попыткой авторов создать сообщество творческих людей, которых не устраивает потребительское отношение к компьютерам. Освоение DB в значительной мере осложняется как незавершенностью (пресловутыми “особенностями”) самого языка, так и отсутствием нормальных учебников.

Но в целом это прорыв и пример того, как всего несколько человек из TGC противопоставили себя (или, по крайней мере, попытались) Microsoft с ее MS Visual Basic.

Именно Dark Basic помог выжить Дмитрию Корабельникову, когда у него были серьезные проблемы со здоровьем.

[И]: Нельзя сказать, что продукты DB совсем бесплатны, но $25 за Classic и $50 (у нас, в России) за Pro — это, конечно, не цена за лицензионный инструмент для разработки компьютерных игр. На чем же остановить свой выбор начинающему программисту для создания собственной игры?

[ДК]:Те, кто выбирает Delphi, Visual Basic и другие визуальные среды в погоне за “удобствами”, идут по ложному пути. Эти среды разрабатывались программистами с помощью обычных консольных компиляторов как раз для облегчения работы. Однако дружественность и легкость программирования, которых ждали от визуальных сред, так и не были достигнуты. Скорее наоборот.

В то же время существует достаточно простой Dark Basic, на котором тоже можно делать игры. Язык здесь стандартный — Basic, хотя и несколько глючный. Разобраться будет несложно, ведь Quick Basic даже в школах преподают.

[И]: Раз Dark Basic существует в двух ипостасях, хотелось бы разобраться, что лучше?

[ДК]: Звук — одна из самых сильных сторон DB Classic. Система воспроизводит не только файлы WAV, MIDI, но и MP3. Конечно, Classic не может порадовать таким обилием полигонов при порядочном быстродействии, как это делает Pro. Чтобы получить 50 FPS для Classic, в сцене должно быть приблизительно не более 10000—30000 полигонов.

В чем преимущества Pro? Pro дает значительно более высокое быстродействие, чем Classic. Навороты вроде BSP-сцен, как в “настоящих” играх, или шейдинга и зеркальных отражений на блестящих поверхностях поражают. пока все это вдруг внезапно не перестает работать после очередного апдейта. Кроме того, код, который дает компилятор DB Pro, мягко говоря, великоват.

[ВЯ]: В конце 2004 года появилась DB SDK для С++, которая полностью копирует команды и функции DB Pro. Если кто не понял, поясню: “Си” ровно в два раза быстрее по сравнению с DB и в 1,3 раза — чем DB Pro. Развитие в нужную сторону налицо.

[И]: Судя по высказываниям специалистов, выбирать нужно исходя из жанра будущей игры. Для шутера лучше выбирать Pro. Он более быстрый. А для пошаговой РПГ — Classic, он более дешевый. При прочих равных условиях.

[И]: Что можете сказать о новой версии DB Pro?

Новая "одежка" Dark Basic Pro выглядит очень удобно.

[ВЯ]: Важные изменения коснулись интерфейса компилятора: он уже не выглядит игрушечным и не является принудительно полноэкранным. Теперь это нормальная программа, чем-то похожая на MS Visual Basic.

Функции, определенные в программе, хранятся в отдельном файле, как им и положено. Причем доступ к ним ничем не затруднен. Имеется пошаговый запуск кода для поиска ошибок, которые не смог найти компилятор. С недавних пор DB — расширяемый язык (раньше об этом можно было только мечтать). Функции, записанные в dll из специальной папки, можно применять как собственные функции самого языка.

Очень важным и нужным стало введение процедур просчета векторов. Теперь строить пути движения ИИ и направлять объекты будет намного проще. Не обошлось без модных ныне шейдеров, ведь с ними игры смотрятся куда интереснее и красочнее.

[И]: Classic работал под управлением DirectX 7. В описании к новой версии DB Pro тоже указан DirectX 7. Откуда же взяться шейдерам?

Первые скрины космической аркады "Зона-Х".

И такая ситуация продолжается достаточно долго. Так что если у вас есть возможность скачивать из Сети апдейты по 10-15 мегабайт каждые 2-3 недели, добро пожаловать в Pro-клуб. Pro позволяет делать более быстрые программы, использовать в них сложные сцены, но расплачиваться за это приходится тем, что игры идут только под DX 9, и многочисленными “выползающими жуками”.

Общая рекомендация: если вы уже начали делать игру на Pro и добились определенных успехов, не спешите обновлять компилятор.

[И]: Значит, на DB все-таки можно делать игры самого современного уровня?

[ВЯ]: Не буду обнадеживать начинающих программистов, пока что DB Classic и DB Pro не всесильны. Огромные проекты, вроде DOOM 3 и Half-Life 2, с этими инструментами не поднять. Зато для shareware- и freeware-проектов DB подходит идеально.

[ДК]: Да ну их совсем, эти новомодные игры. Идешь, идешь куда-то. То ли дело самому сделать простенькую игрушку, но со своей оригинальной идеей.

[ВЯ]: К тому же DB Classic и DB Pro позволяют вставить в свою игру очень красочные спецэффекты. Например, использовать технику пост-обработки (именно она делает сами по себе неприметные “Принц Персии: Пески времени” и “Схватку с судьбой” такими привлекательными).

Мы в одной стрелялке применили такой эффект, чтобы имитировать помутнение и двоение в глазах. Получилось неплохо. Наша последняя работа — космическая аркада с элементами РПГ. Это shareware-проект, и первые его скрины смотрятся не хуже какого-нибудь дорогого коммерческого продукта, написанного на “Си” или Delphi.

Мегабайты демо-сцен
34 Kb

На Dark Basic можно творить не только игры. Есть такое искусство — создание демо-сцен. Вот сколько, по вашему мнению, положено занимать десятку минут графики и звука? К тому же весьма красивого? Много. А сценеры (люди, которые увлекаются этим искусством) способны упаковать эту красоту в сущие килобайты!

Штука в том, что видеоролики являются программами! И Dark Basic вполне подходит для их написания. Однако поразительно маленькие размеры, по словам Дмитрия Корабельникова, — всего лишь ловкий фокус и обман зрения:

Эти “64k demo” по большей части содержат только данные, а код, который рисует все это великолепие, где-то хитро запрятан.

А как вы теперь посмотрите на такое утверждение: с помощью Dark Basic можно написать программу строк на 30-50, которая создает симпатичный техно-видео-эффект, играет замечательный техно-трек и при этом занимает. скажем. 30-40 Kб? И это можно сделать всего за 2-3 часа. (Крутые сценеры любят повторять: “А это мы сделали за 2-3 часа”. Надо как-нибудь поглядеть на этот процесс.)

Разгадка трюка — рядом: вот он, DirectX, набор функций объемом во многие мегабайты. Достаточно только научиться вызывать эти функции, запустить язык программирования — и можно соорудить нечто такое, что мир ахнет. При этом программа окажется очень маленькой и будет работать на любом компьютере, на котором установлен DirectX. А у кого он, интересно, не стоит?”

Конечно, Dark Basic — это не C++. Некоторые задачи ему пока не по плечу. Однако язык развивается, и новая улучшенная версия DB Pro — яркое тому подтверждение. Его простота, а также принудительное вколачивание основ за школьной партой делают его идеальным инструментом для начального постижения премудростей искусства программирования.

После того, как вы запустите оболочку языка программирования Dark Basic, вы увидите общий интерфейс программы. В правом верхнем углу находятся большие желтые кнопки, одна из которых предназначенна для выхода из программы, а вторая для в CLI (Command Line Interface - интерфейс командной строки)

Для того, что бы выполнить свою первую программу на Dark Basic, необходимо войти в командную строку. Вы всегда можете использовать CLI для проверки или выполнения каких-либо команд или операторов.

PRINT "Hello World"

Поле того, как вы наберете это выражение, нажмите кнопку ENTER на клавиатуре. Эта кнопка используется для выполнения набранных вами комманд. На экране высветится надпись 'Hello World'. Вы только что выполнили свою первую команду. Что бы вернуться обратно в нормальную оболочку Dark Basic, нажмите кнопку EXIT, которая находится правее.

Создание вашей первой программы

Для того, что бы создать программу на Dark Basic, необходимо набрать несколько сторок кода. Каждая строка состоит из одного или нескольких операторов. Попробуйте набрать во встроенной оболочке следующие команды:

DO
PRINT "Hello Again"
LOOP

Вы можете запустить эту программц в любой момент, но сначала вам нужно узнать, что программа может быть прервана нажатием клавиши F12, после чего Dark Basik вернет вас обратно в оболочку с написанным кодом.

В редакторе кода нажмите F5 для того, чтобы скомпилировать и выполнить программу. После нескольких секутд работы программы нажмите F12 чтобы прервать ее и вернуться в редактор. Вод вы и научились набирать и запускать программы.

Создание второй, более сложной, программы

Вы уже написали свою первую программу за пять минут. Вы можете считать себя настоящим программистом. В предыдущей программе на Dark Basic вы использовали всего три оператора, при этом возможно не зная их смысла. Сейчас вам предстоит испробовать на практике настоящую программу.

Попробуйти написать настоящую, полноценную и работоспособную программу на Dark Basic. Посвятите 30 минут для того, что бы набрать следующий код программы или просто загрузите файл CAVERUN.RAR из справочной системы Dark Basic":

rem ----------------
rem Cave Runner Demo
rem ----------------
rem Author: DBS-LB99
hide mouse

rem Load bitmaps
load bitmap "tiles.bmp",1
get image 1,0,0,256,256
delete bitmap 1

rem Load sound
load sound "hum.wav",1
load sound "explode.wav",2
set sound speed 1,6000
loop sound 1

rem Load music track
load music "caverun.mid",1
loop music 1

rem Activate manual sync
sync on
rem Make landscape and ceiling matrix
make matrix 1,2000,5000,10,25
prepare matrix texture 1,1,2,2
make matrix 2,2000,5000,10,25
prepare matrix texture 2,1,2,2
fill matrix 2,0,2
randomize matrix 2,350.0
for t=0 to 25
set matrix height 2,0,t,-100
set matrix height 2,10,t,-100
next t
update matrix 2

rem Bagin game loop
do

rem Set seed for same random numbers
randomize 1

rem Clear cave floor
fill matrix 1,0,1

rem Set lighting, fog and setupset ambient light 20
fog distance 3000
color backdrop 0
fog color 0
fog on

rem Update screen
sync

rem Game Over
play sound 2
for c=0 to 255 step 20
cls rgb(c,0,0)
fog distance (c*5)
fog color (c*256*256)
sync
next c

rem End game loop
loop

Запустите эту программу и узнайте, насколько хорошие программы можно писать на языке программирования Dark Basic.

Компиляция первой программы

Программы, которые ты написал в течении предыдущих уроков могут быть запущенны только в самой среде разработки Dark Basic. Если вы хотите чтобы ваши программы можно было запускать вне Dark Basic-а, то необходимо ее скомпилировать, т.е. сгенерировать в виде кода понятного для компьютера. Также окончательный вариант вашей программы будет включать в себя все используемые ей файлы.

Внешние файлы имеют большое значение при программировании игр. Это ваши картинки, звуки, музыка, анимация, трехмерные обьекты и другие файлы используемые для построения звукового и графического наполнения игры.

Существует два варианта компиляции вашей программы. Первый вариант не сохраняет сохраняет мультимедийные файлы внутри основного звпускаемого файла, а второй сохраняет. Мы рекомендуем использовать второй вариант компиляции для ваших программ.

Не знаю, почему про данный продукт инженерной мысли еще не рассказывали на Хабре. Может потому что писался в Израиле, а может, потому что сама мысль, что на Basic можно писать под Android – есть святотатство.
В общем, факт остается фактом: писать на Basic под Android теперь можно и поможет вам в этом продукт под предсказуемым названием «Basic4Android».
Кому интересно почитать про возможности продукта велком на официальный сайт. Я же предлагаю посмотреть на этого зверя в бою и разобрать небольшой пример, который покажет процесс разработки простенькой галереи.
Первое что меня порадовало при знакомстве с b4a это то, что у него свой небольшой и шустрый редактор.


Ничего сверхъестественного. Только самое привычное и необходимое: редактор кода и визуальный редактор форм.
Чуть позже я обнаружил и по достоинству оценил возможность рисовать формы прямо внутри штатного эмулятора Android либо виртуальной машины.
А теперь перейдём к примеру. Сделаем с помощью b4a простенький просмоторщик картинок, который ищет все картинки в папке «sdcard/Images» и выводит их в виде скролируемой галереи.
Для этого в визуальном редакторе добавляем элемент «HorizontalScrollView».


Выставляем ему такие начальные настройки:


Затем, растянем этот элемент по ширине окошка. Для этого зайдем во вкладку «Designer scripts» и введем следующий код:

После этого дизайнер можно закрыть. Перед закрытием вам предложат сохранить слой. Сохраняем:


Затем переходим в редактор кода и в глобальных модулях определяем объекты к которым будем обращается:

А это листинг основной части программы с комментариями:


Запускаем Debug
Отвечаем на запросы о названии пакета и названия программы:



В результате получаем галерею с плавной прокруткой.


Остается лишь добавить что продукт платный. На сегодняшний день стоимость подписки от 34$ до 299$. Лично я приобрел с двухгодовой подпиской, т.к. Продукт сейчас хорошо развивается и смысла брать с подпиской на 2 месяца — не вижу. Кстати если кому вдруг захочется приобрести — пишите в личку, у меня есть несколько купонов с 50% скидкой.

Статьи об играх, в том числе и сделанных на гейммейкерах.

Основы игрового программирования на Dark Basic Pro






Ну, если я вас убедил - то прошу за мной, в увлекательный мир создания игр!
При дальнейшем изложении материала, предполагается что вы самостоятельно установили Dark Basic Pro. Обычно с этим не возникает никаких проблем, как и с любым софтом у которого есть инсталлятор. После запуска DBPro перед вами откроется рабочее окно приложения.

Давайте создадим новый проект, выбрав для этого File->New Project, ну или просто нажав на мини-иконку в виде чистого листа бумаги! В открывшемся меню напишем имя проекта и нажмём ОК. Я например выбрал для проекта название Star Gate. При этом, в рабочем окне с пронумерованными строками, добавится несколько записей. Ничего страшного, просто наш проект сохранился в директории, куда был установлен Dark Basic, в папку projects и система ожидает ввода нашей первой программы. Конечно, обычно самой первой программой делают вывод надписи "Привет Мир!", но мы пропустим этот этап и посвятим своё время созданию чего-то более существенного.
Попробуем создать вращающуюся планету, со спутником, который летает вокруг неё и всё это на фоне звёздного неба. Ну что-то вроде кусочка космических рейнджеров! Для начала - разобьём задачу на части. Нам нужно: сделать космический фон, создать планету, создать планету-спутник. Вот эти задачи и будем поэтапно решать!
Проведём некоторые подготовительные операции. Откроем директорию - куда установили Dark Basic, найдём в папке Projects наш проект - Star Gate. Создадим в папке с нашим проектом - ещё одну папку Image. Туда положим следующие нужные нам текстуры и изображения:



Теперь смело жмём клавишу F5 и если всё нормально - то мы увидим следующую картину:

Займёмся теперь созданием планеты. Планету нам легко заменит сфера!
После texture backdrop 1 и перед do напишем следущее:
make object sphere 2,150 - команда переводится как - создать обьект сфера. Первая цифра - это уникальный номер обьекта, а вторая - это диаметр нашей сферы. Все обьекты создаются в точке с координатами х=0, у=0, z=0 Но дело в том, что и камера через которую мы смотрим на 3D мир - тоже находится в этой точке! Координата х - это горизонталь (- влево, а + вправо). Координата у - это вертикаль (- вниз, а + вверх) Координата z - это -ближе, или +дальше от камеры. Теперь немного отодвинем нашу сферу от экрана. Напишем
position object 2,0,0,800 - что переводится как поставить обьект в точку с координатами X, Y, Z. Где цифра 2 - номер обьекта (наша созданная сфера - планета), Х=0, Y=0, Z=800 (фактически на 800 единиц вдаль от камеры). Вот код который у вас должен получиться:



Windows XP


Windows 2003


Windows Vista


Windows 2008


Windows 7


Windows 8






Основная информация о программе

DarkBASIC Professional – это универсальная программа для скоростной разработки и отладки разных презентаций, компьютерных 2D и 3D-игр с использованием самого простого языка программирования BASIC.

При помощи этого приложения можно создавать компьютерные игры, слайд-шоу, презентации и многое другое. Благодаря усовершенствованию компонентов программы: переписанным языку, редактору, компилятору и отладчику - платформа стала более скоростной и мощной.

DarkBASIC Professional – это не просто продолжение известного приложения DarkBASIC, а, по сути, это новая программа, которая отличается огромным набором функций и возможностей. Используя DarkBASIC Professional, пользователь может создавать не только игры, но и слайд-шоу, презентации и многие другие программы.

В DarkBASIC Professional программисты смогут использовать разные типы данных, среди которых целочисленные, булевы, вещественные, word (слово), byte (байт), dword (двойное слово), вещественные двойной длины, целочисленные двойной длины, строки, константы, пользовательские типы, унифицированные массивы (очереди, связанные списки, стеки), функции. И программе используются системы счета: двоичные, восьмеричные, десятичные, шестнадцатеричные.

Читайте также: