Меню
Главная
Случайная статья
Настройки
|
Blitz3D — коммерческий игровой движок, разработанный Марком Сибли, а также среда разработки с языком Blitz BASIC и скриптовый язык для создания игр. Оригинальная разработка компилятора Blitz BASIC велась для ПК Amiga, но на сегодняшний день[когда?] он поддерживает уже несколько платформ, в том числе Microsoft Windows, Mac OS X и Linux. В версии для Microsoft Windows поддерживается DirectX 7. Актуальная версия 1.109 от 1 мая 2023 г.
Содержание
Blitz3D
Язык содержит 588 конструкций, позволяющих создать двух- и трёхмерное игровое пространство. С помощью него можно создавать небольшие игры, используя большое количество библиотек, написанных членами сообществ по программированию на Blitz3D.
C 3 августа 2014 распространяется свободно[1], исходный код открыт под лицензией zlib/libpng[2].
Примеры программ
Нello world
Graphics 800,600 ; - Графический режим 800x600
While Not KeyDown(1) ; - Начало главного цикла (Пока НЕ нажата клавиша 1 (Escape)
Cls() ; - Чистим экран
Text 10, 20, "Hello, World!" ; - Пишем текст "Hello world" в точке 10,20
Flip() ; - меняем кадр (Как в старых мультфильмах, когда движение задавалось сменной кадра)
Wend ; прекращаем цикл при нарушении условия
End ; конец программы
Нello world с использованием переменных
Graphics 800,600 ; - Графический режим 800x600
Global a$="Hello" ; - Переменная a с содержанием "Hello"
Global b$="World" ; - Переменная b с содержанием "World"
While Not KeyDown(1); - Начало главного цикла
Cls() ; - Чистим экран
Text 0,0,a$+b$ ; - Выводим текст на позицию 0,0
Flip() ; - Меняем кадр
Wend ; - Завершение цикла при нарушении условия
End ; - конец программы
Работа с изображениями
Graphics 800,600
Global Image = LoadImage("picture.bmp")
While Not KeyDown(1)
Cls()
DrawImage Image,100,100
Flip()
Wend
End
Работа с трёхмерной графикой
Graphics3D 800,600 ;Устанавливаем графический режим
Global model = LoadMesh("helloworld.3ds") ;Загружаем трёхмерную модель надписи "Hello, World" (Примечание, поддерживается только формат .3ds)
PositionEntity model,0,0,0 ;Устанавливаем модель в точке 0,0,0
Global camera = CreateCamera() ;Создаём камеру
PositionEntity camera,0,0,-10 ;Устанавливаем камеру чуть позади объекта
While Not KeyDown(1) ;Начало цикла
RenderWorld() ; Производим рендер изображения
Flip() ; Выводим на экран
Wend ;Конец цикла
End ;Конец программы
BlitzMax
BlitzMax — язык программирования, разработанный Марком Сибли. BlitzMax использует расширеную версию языка basic. Благодаря модулям функциональность BlitzMax можно расширять до бесконечности. Из графических API может использовать и DirectX, и OpenGL. Несколько встроенных звуковых API (DirectSound, FreeAudio, OpenAL). Имеет удобный модуль GNet для быстрого создания сетевых приложений.
C 29 апреля 2014 распространняется свободно[1], исходный код открыт под лицензией zlib/libpng[3].
Основные возможности- 2 режима интерпретирования кода Strict и SuperStrict
- Многопроходный компилятор
- Транслятор в язык Flat Assembler
- Поддержка платформ : Win32, Linux, MacOS
- Указатели на функции
- Наследование и полиморфизм
- Полностью динамические массивы
- Внешняя поддержка языков для взаимодействия с C++ или Assembler
- Совместим с MinGW
Типы данных
Описание
|
Название
|
Мин. значение
|
Макс. значение
|
8 битное числовое
|
Byte
|
0
|
255
|
16 битное числовое
|
Short
|
0
|
65535
|
32 битное числовое
|
Int
|
2^31
|
+2^31-1
|
64 битное числовое
|
Long
|
2^63
|
+2^63-1
|
32 битное вещественное
|
Float
|
(+/-)10^-38
|
(+/-)10^38
|
64 битное вещественное
|
Double
|
(+/-)10^-308
|
(+/-)10^308
|
16 бит юникод полнотекстовое
|
String
|
-
|
-
|
Объект (Тип)
|
obj:TObject
|
-
|
-
|
Массив
|
array{:type}[..]
|
-
|
-
|
Функция
|
Function:{return type}(Parameters)
|
-
|
-
|
Указатель
|
Pointer ValueType Ptr
|
-
|
-
|
BlitzMax NG
BlitzMax NG — язык программирования, прямой продолжатель оригинального языка BlitzMAX. Разрабатывается свободным сообществом под руководством Брюса Хендерсона (woollybah).
Дополнительные возможности и изменения
Дополнительные типы данных
Описание
|
Название
|
Мин. Значение
|
Макс. Значение
|
32 битное числовое без знака
|
UInt
|
0
|
+2^32-1
|
64 битное числовое без знака
|
ULong
|
0
|
+2^64-1
|
32 битное числовое без знака
|
Size_T
|
0
|
+2^32-1
|
64 битное числовое без знака
|
Size_T
|
0
|
+2^64-1
|
64 битное SIMD вещественное
|
Float64
|
-
|
-
|
128 битное SIMD числовое
|
Int128
|
-
|
-
|
128 битное SIMD вещественное
|
Float128
|
-
|
-
|
128 битное SIMD вещественное
|
Double128
|
-
|
-
|
Значения SIMD доступны на архитектурах x64 и могут использоваться для более эффективного выполнения числовых вычислений.
Игры на Blitz 3D
Смерть Марка Сибли
В начале декабря 2024 года разработчик Blitz Basic Марк Сибли скончался после борьбы с различными проблемами со здоровьем.[4]
Примечания
- 1 2 The Official Blitz Website (неопр.). Дата обращения: 29 марта 2015. Архивировано из оригинала 31 марта 2016 года.
- Проект Blitz3D на сайте GitHub
- Проект BlitzPlus на сайте GitHub
- It is with great sadness that I share this tragic news. Mark Sibly died at the beginning of December after struggling with a variety of health issues. (англ.). Facebook (12 декабря 2024). Дата обращения: 31 июля 2025. Архивировано 31 июля 2025 года.
Литература- Learn to Program 2D Games in Blitz Basic by John «Krylar» Logsdon, (2003)
- Game Programming for Teens by Maneesh Sethi, (2003), ISBN 1-59200-068-1
- Games Programming for the Absolute Beginner with BlitzMax by Sloan Kelly, ISBN 0-9553771-0-2
- 3D Game Programming for Teens by Eric Grebler, (2006) ISBN 1-59200-900-X
- 3D Game Programming for Teens, 2nd edition by Maneesh Sethi, (2009) ISBN 1-59863-843-2
См. также- Monkey — новый кроссплатформенный язык программирования от Blitz Research Ltd
Ссылки
|
|