| ブリッツベーシック | |
|---|---|
| 開発者 | ブリッツリサーチ |
| オペレーティングシステム | アミーガOSマイクロソフトウィンドウズ |
| 利用可能な言語 | 英語 |
| タイプ | ゲーム制作システム |
| ライセンス | zlibライセンス |
| ウェブ | blitzresearch |
Blitz BASICは、ニュージーランドを拠点とする開発者マーク・シブリーによって考案された最初のBlitz [ 1 ]コンパイラのプログラミング言語方言です。BASICから派生したBlitzの構文は、プログラミングを初めて学ぶ初心者でも簡単に習得できるように設計されています。この言語はゲームプログラミング指向ですが、ほとんどの種類のアプリケーションに使用できるほど汎用性があります。Blitz言語は新製品のリリースに合わせて進化し、最近のバージョンではオブジェクト指向やマルチスレッドなどのより高度なプログラミング手法をサポートしています。そのため、後年、この言語はBASICという名称を失いました。[ 2 ]
歴史
Blitz言語の最初のバージョンはAmigaプラットフォーム用に作成され、オーストラリアのMemory and Storage Technology社によって公開されました。ニュージーランドに戻ると、Blitz BASIC 2は数年後(このプレスリリース[ 3 ]によると1993年頃)、地元のAmigaゲームパブリッシャーであるAcid Software社によって公開されました。それ以来、Blitzコンパイラは複数のプラットフォーム向けにリリースされてきました。Amigaが商業的に実行可能なプラットフォームとしての地位を失ってから、Blitz BASIC 2のソースコードがAmigaコミュニティに公開されました。開発は今日までAmiBlitzという名前で続けられています。[ 4 ]
BlitzBasic
Idigiconは2000年10月にMicrosoft Windows向けにブリッツベーシックをリリースしました。この言語には、基本的な2Dグラフィックスとオーディオ操作を実行するための組み込みAPIが含まれていました。ブリッツ3Dのリリース以降、ブリッツベーシックはブリッツ2Dと同義語として呼ばれることが多くなりました
BlitzBasicの認知度は、 PC Formatなどの英国の人気コンピュータ雑誌で限定的な「無料」版が配布されたことで高まりました。このことが開発者と出版社の間で法廷闘争に発展しましたが、最終的には和解に至りました。
ブリッツプラス
2003年2月、Blitz Research Ltd.はWindows向けにもブリッツプラスをリリースしました。Blitz3Dの3Dエンジンは搭載されていませんでしたが、ネイティブGUIを作成するための限定的なWindowsコントロールサポートを実装することで、言語の2D側に新しい機能をもたらしました。2Dエンジンの下位互換性も拡張され、コンパイルされたブリッツプラスのゲームやアプリケーションは、 DirectX 1 しか搭載されていないシステムでも実行できるようになりました
ブリッツマックス
| ブリッツマックス | |
|---|---|
| パラダイム | 命令型、オブジェクト指向、モジュール型、リフレクティブ |
| デザイン: | マーク・シブリー |
| 開発者 | ブリッツリサーチ |
| 初登場 | 2004年 |
| 最終リリース | 1.51 / 2015年9月21日 (2015年9月21日) |
| タイピングの規律 | 静的、弱、強(任意) |
| OS | Windows、Mac OS X、Linux |
| ウェブ | www.blitzbasic.com |
| 方言 | |
| 公式BlitzMax、BMX-NG | |
| 影響を受けた | |
| BlitzBasic | |
| 影響を受けた | |
| モンキー | |
最初のBlitzMaxコンパイラは2004年12月にMac OS X向けにリリースされました。これにより、*nixプラットフォームでコンパイルできる最初のBlitz方言となりました。その後、Microsoft WindowsとLinux向けのコンパイラが2005年5月にリリースされました。BlitzMaxは、型システムを拡張してオブジェクト指向の概念を取り入れ、グラフィックスAPIをOpenGLにより適合するように変更することで、Blitz製品の最新の範囲に言語構造の最大の変更をもたらしました。BlitzMaxはまた、Blitz言語の中で初めてUCS-2を使用して内部的に文字列を表現し、非ASCII文字 で構成された文字列リテラルのネイティブサポートを可能にしました
BlitzMaxのプラットフォーム非依存のコマンドセットにより、開発者は複数のプラットフォームでソースコードをコンパイル・実行できます。ただし、公式のコンパイラとビルドチェーンは、実行しているプラットフォーム用のバイナリのみを生成します。非公式ではありますが、ユーザーはLinuxとMac OS XからWindowsプラットフォームへのクロスコンパイルを実現しています。
BlitzMaxはBlitz言語の最初のモジュールバージョンでもあり、コマンドセットの拡張性を改善しています。さらに、コンパイラに同梱されている標準モジュールはすべてオープンソースなので、必要に応じてプログラマが調整し、再コンパイルすることができます。公式のBlitzMaxクロスプラットフォームGUIモジュール(MaxGUIとして知られています)を使用すると、開発者はLinux( FLTK)、Mac(Cocoa )、Windows上のアプリケーション用のGUIインターフェイスを作成できます。さまざまなユーザー提供モジュールは、 wxWidgets、Cairo、Fontconfigなどのライブラリやデータベースモジュールをラップすることにより、言語の使用を拡張します。サードパーティ製の3Dモジュールもいくつかあり、具体的にはオープンソースのOpenGLエンジンで、BlitzMaxがサポートする3つのプラットフォームすべてでコンパイルして使用することができます。
2007年10月には、リフレクションモジュールの追加を含むBlitzMax 1.26がリリースされました。[ 6 ] BlitzMax 1.32では、新しいスレッドとLuaスクリプトモジュールが出荷され、標準ライブラリ関数のほとんどがUnicode対応になるように更新されました。[ 7 ]
Blitz3D SDK
Blitz3D SDKは、Blitz3Dのエンジンをベースにした3Dグラフィックエンジンです。C ++、C#、BlitzMax、PureBasicでの使用を想定して販売されていますが、互換性のある呼び出し規約に従う他の言語でも使用できます
Max3Dモジュール
2008年、C++ベースのクロスプラットフォーム3DエンジンであるMax3DのソースコードがBSDライセンスの下でリリースされました。このエンジンはOpenGLに重点を置いていましたが、他のグラフィックドライバ(DirectXなど)用の抽象バックエンドを備えており、 Assimp、Boost、ODEといったオープンソースライブラリをいくつか利用していました
Blitzコミュニティでは、Max3DがBlitz3Dの後継として待望されていたことに大きな期待が寄せられていましたが、ソースコードが公開されるとすぐに関心と支持は薄れ、最終的に開発は停止しました。Blitz Researchがこのプロジェクトを再開する兆候は見られません。
オープンソースリリース
BlitzPlusは2014年4月28日にGitHubでzlibライセンスの下でオープンソースとしてリリースされました。[ 8 ] [ 9 ] Blitz3Dはその後すぐに続き、2014年8月3日にオープンソースソフトウェアとしてリリースされました。[ 10 ] [ 11 ] BlitzMaxはその後、2015年9月21日にオープンソースソフトウェアとしてリリースされました。[ 12 ]
受容
Blitz Basic 2.1はAmiga誌で好評を博しました。CU AmigaはAmigaOS準拠のアプリケーションやゲームを作成できる機能( AMOS Basicとは異なり)を強調し[ 13 ]、Amiga Shopperはそれを強力なプログラミング言語と呼びました[ 14 ]
例
画面に出力し、キーが押されるまで待機し、その後終了する「Hello, World!」プログラム :
Print "Hello, World!" ; 画面に出力します。WaitKey () ; キーが押されるまで実行を一時停止します。End ; プログラムを終了します。3 つの主なデータ型 (文字列、整数、浮動小数点数)を使用して変数を宣言し、それを画面に印刷する方法を示すプログラム:
name $ = "John" ; 文字列変数 ($) を作成しますage = 36 ; 整数変数 (接尾辞なし) を作成しますtemperature # = 27.3 ; 浮動小数点変数 (#) を作成しますprint "私の名前は " + name $ + " で、 " + age + " 歳です。" print "今日の気温は " + temperature # + " 度です。"Waitkey () ; キーが押されるまで実行を一時停止します。End ; プログラムを終了します。現在の時刻を2進数と10進数で表示するウィンドウアプリケーションを作成するプログラムです。BlitzMax版とBlitzBasic版については以下をご覧ください。
| BlitzBasic版 | BlitzMax版 |
|---|---|
アプリタイトル「バイナリクロック」グラフィック150 , 80 , 16 , 3メインループが1 秒間に 2 回実行されるタイマーを作成します。secondtimer = CreateTimer ( 2 ) Repeat Hour = Left ( CurrentTime $ (), 2 ) Minute = Mid ( CurrentTime $ (), 4 , 2 ) Second = Right ( CurrentTime $ (), 2 )時間>= 12の場合、PM = 1、時間> 12の場合、時間=時間- 12 、時間= 0の場合、時間= 12;そうしないと、時計が真夜中を過ぎるとPM のドットが立ったままになってしまいます。ClsColor ( 0 , 255 , 0 ) ; PM 部分のテキストを緑色にするIf PM = 1 Then Text 5 , 5 , "PM" ; 残りの部分のテキストの色を白に戻すColor ( 255 , 255 , 255 )bit = 0から5の場合、xpos = 20 * ( 6 - bit ) 、 binaryMask = 2 ^ bit;do hours If ( bit < 4 ) If ( hour And binaryMask ) Text xpos , 5 , "1" Else Text xpos , 5 , "0" EndIf EndIf;分を実行しますIf ( minute And binaryMask ) Text xpos , 25 , "1" Else Text xpos , 25 , "0" EndIf;秒数を計算するIf ( second And binaryMask ) Text xpos , 45 , "1" Else Text xpos , 45 , "0" EndIf Next;小数点以下の時刻のテキストを赤にするColor ( 255 , 0 , 0 ) Text 5 , 65 , "Decimal: " + CurrentTime $ ( ) ;残りのテキストを白に戻すColor ( 255 , 255 , 255 );0.5秒待機しますWaitTimer ( secondTimer )永遠に | BRL.TimerをインポートBRL.Timerをインポート デフォルトのAppTitle = "Binary Clock"グラフィックス145 , 85メインループが1秒間に2回実行されるタイマーを作成します。Local secondtimer : TTimer = CreateTimer ( 2 ) Local Hour : Int Local Minute : Int Local Second : Int Local PM : Int local bit : Int local xpos : Int Local binaryMask : Int繰り返し時= CurrentTime ()[. .2 ] . ToInt ()分= CurrentTime ()[ 4 . .6 ] . ToInt ()秒= CurrentTime ()[ 6 . . ] . ToInt ()時間>= 12の場合、PM = 1、時間> 12の場合、時間=時間- 12 、時間= 0の場合、時間= 12'そうしないと、時計が真夜中を過ぎるとPMドットが'左に残ってしまいます! ClsSetColor ( 0 , 255 , 0 ) 'PM部分のテキストを緑色にするIf PM = 1 Then DrawText "PM" , 5 , 5 'テキストの色を白に戻す 残りについてはSetColor ( 255 , 255 , 255 )bit = 0から6まではxpos = 20 * ( 6 - bit ) binaryMask = 2 ^ bit'do hours If ( bit < 4 ) If ( hour & binaryMask ) DrawText "1" , xpos , 5 Else DrawText "0" , xpos , 5 EndIf EndIf'分を実行しますIf ( minute & binaryMask ) DrawText "1" , xpos , 25 Else DrawText "0" , xpos , 25 EndIf'秒を実行しますIf ( second & binaryMask ) DrawText "1" , xpos , 45 Else DrawText "0" , xpos , 45 EndIf Next'テキストを赤くする 小数点以下の時間の場合SetColor ( 255 , 0 , 0 ) DrawText "Decimal: " + CurrentTime (), 5 , 65 'テキストを白に戻す 残りの場合SetColor ( 255 , 255 , 255 )フリップ0.5秒待ちます。WaitTimer ( secondTimer ) 、KeyHit ( KEY_ESCAPE ) 、そしてExit Forever |
BlitzBasicを使用して書かれたソフトウェア
- エシャロン:ブックI – ブリッツマックス
- エスカロン: Book II – BlitzMax
- フェアウェイソリティア– BlitzMax
- グリッドウォーズ– ブリッツマックス
- TVTower(MadTVのオープンソースクローン) – BlitzMax
- Platypus – Blitz2D (Mac 版、BlitzMax)
- SCP – 封じ込め違反– Blitz3D
- ワームズ– 元々はTotal Wormageというタイトルで、商用リリース前にAmigaのBlitz Basicで開発された[ 15 ]
レガシー
2011年、BRLはクロスプラットフォームプログラミング言語Monkeyと、その最初の公式モジュールMojoをリリースしました。MonkeyはBlitzMaxと同様の構文を持っていますが、アセンブリコードに直接コンパイルするのではなく、Monkeyのソースファイルを選択した言語、フレームワーク、またはプラットフォーム(Windows、Mac OS X、iOS、Android、HTML5、Adobe Flashなど) のソースコードに直接変換します
2015 年以降、Monkey X の開発は中止され、代わりに Mark Sibly による言語の更新バージョンである Monkey 2 が採用されました。
Blitz BASICの開発者マーク・シブリーは2024年12月初旬に亡くなった。[ 16 ] [ 17 ]
参考文献
- ^ 「 Blitz 」という言葉はドイツ語で「稲妻」を意味します
- ^ 「The Official Blitz Website」 . blitzresearch.itch.io/ . 2017年6月3日時点のオリジナルよりアーカイブ。
- ^ “Blitz Basic 2” . AmigaReport . 2022年3月31日時点のオリジナルよりアーカイブ。 2020年4月30日閲覧。
- ^ 「AmiBlitz」 . GitHub .
- ^ "Blitz News" . www.blitzbasic.com . 2008年1月26日時点のオリジナルよりアーカイブ。2007年12月12日閲覧。
- ^ “BlitzMaxアップデート1.26が利用可能になりました!” www.blitzbasic.com . 2011年5月26日時点のオリジナルよりアーカイブ。2011年1月11日閲覧。
- ^ BlitzMax V132 Windows版とMacIntel版がリリース! 2011年5月26日アーカイブ、 Wayback Machine blitzbasic.com
- ^ BlitzPlusのソースコードが公開されました。 2016年7月16日にWayback Machineでsimonhによってアーカイブされました(2014年4月29日)
- ^ Blitz3Dがオープンソース化! 2014年9月6日アーカイブ、Blitz3DフォーラムのWayback Machineより
- ^ Blitz3Dが無料オープンソースに!2016年7月16日アーカイブby simonh (2014-08-03)
- ^ GitHubのblitz3d
- ^ GitHubのblitzmax
- ^マット・ベティンソン (1996 年 3 月)。 「ブリッツベーシック2.1」。CUアミーガ。 No. 73. EMAP 画像。ページ 69–70。ISSN 0963-0090。
- ^オーヴァー、ポール (1996 年 4 月)。 「ブリッツベーシック2.1」。アミーガショッパー。 No.61.未来出版。 p. 41. ISSN 0961-7302。
- ^ IGN. Worms Blast プレビューArchived 18 February 2007 at the Wayback Machine on ign.com
- ^ GCRedditor136 (2024年12月12日). 「BlitzBasicの作者、マーク・シブリー氏が亡くなりました :(」 . r/amiga . 2025年3月24日閲覧。
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク) - ^ 「マーク・シブリー(ブリッツ・ベーシック)が逝去」 Amiga-News.de、2024年12月14日。 2025年3月24日閲覧。
さらに詳しい情報
- NRS開発者ブック(Blitz Basic用、1997年)

外部リンク
- itch.ioのBlitz Researchサブサイト(BlitzPlus、Blitz 3D、Monkey X、Monkey 2)
- Monkey X サブサイト(オープンソース)
- Monkey 2サブサイト
- GitHubのblitz-research(Mark Sibly)(BlitzPlus、BlitzMax、Blitz3D、Monkey、BlitzMax、Blitz3D(MSVC-CE 2017用))
- Blitz Researchウェブサイト(2017年6月3日アーカイブ)
- Monkey Xのウェブサイト(2017年7月15日アーカイブ)