スクリプトエンジンは大体完成したってことにする。
あとは、この上に乗っかるゲームエンジンを作らないと。
スクリプトエンジンを弄ってると、あれこれと機能を追加したくなるのだが、我慢することにした。
きりが無いので。
なにげにスクリプトコンパイラ+スクリプトエンジン+IDEのソースを合わせると
1万ステップ弱になる。よく3週間でこれだけ書いたもんだと我ながら思う。
まあ、以前に作ったソースを土台にしてるから、短時間で作れたのはあるが、
VisualStudio2005とC#の生産性は驚異的だと思う。
スクリプト言語仕様に本当は入れたかったが、今回見送ったものは次バージョンの課題としたい。
・配列(ハッシュテーブル)
・switch case break continue defaultなどの制御構文
・型推論
2007年11月28日水曜日
Missileスクリプトについて
Missileスクリプトの特徴として、変数の型宣言が必要ないことが挙げられます。
変数の型は、実行時に決まります。
JavaScriptなどと同じ、実行時型付けの言語です。
型が実行時に決まるので、上のような記述も出来ます。
この場合、プログラムの実行後に変数aは"4.5hoge"になります。
変数の型は、実行時に決まります。
JavaScriptなどと同じ、実行時型付けの言語です。
main()
{
a = 3; // 3が整数なので、aは整数型になるが、
a *= 1.5; // ここで実数型になり
a += "hoge"; // ここで文字型になる。
}
型が実行時に決まるので、上のような記述も出来ます。
この場合、プログラムの実行後に変数aは"4.5hoge"になります。
Missileスクリプトについて
スクリプトの言語仕様は超簡単です。
新たに覚えなくてはならないことは少ないです。
言語仕様を無理やり一言で説明すると、
C言語から、変数定義とポインタと配列と構造体をとっぱらったのがMissileスクリプトです。
それじゃあ、機能が少なすぎて不便なんじゃないかと思われるかもしれませんが、大丈夫です。
無くても大丈夫なように考慮しました。
ポインタとか配列は、バグを作り込んでしまいがちな部分です。
MissileスクリプトエンジンにSTGに特化した機能を盛り込むことにより、ポインタや配列といった
難しい要素を使わずとも、ゲームを作れるようにすることを目標にしています。
まったくゲームプログラミングとは関係ありませんが、下がスクリプトのサンプルです。
再帰呼び出しで、nの階乗を計算します。
CとかJavaをやったことある人なら、何も説明要らないのが分かると思います。
新たに覚えなくてはならないことは少ないです。
言語仕様を無理やり一言で説明すると、
C言語から、変数定義とポインタと配列と構造体をとっぱらったのがMissileスクリプトです。
それじゃあ、機能が少なすぎて不便なんじゃないかと思われるかもしれませんが、大丈夫です。
無くても大丈夫なように考慮しました。
ポインタとか配列は、バグを作り込んでしまいがちな部分です。
MissileスクリプトエンジンにSTGに特化した機能を盛り込むことにより、ポインタや配列といった
難しい要素を使わずとも、ゲームを作れるようにすることを目標にしています。
まったくゲームプログラミングとは関係ありませんが、下がスクリプトのサンプルです。
再帰呼び出しで、nの階乗を計算します。
main()
{
ans = fact(5);
}
fact(n)
{
if (n == 0)
{
return 1;
}
else
{
return fact(n - 1) * n;
}
}
CとかJavaをやったことある人なら、何も説明要らないのが分かると思います。
2007年11月12日月曜日
METAL BREAKER(仮)について
名前でぴんと来る人もいるかもしれませんが、このソフトはTAITOが1991年に出したMetal Blackという横STGがその大本となっています。
元々シナリオ担当だったoukaさんと話しているときにMetal Blackの世界観、又そこへのリスペクトを込めてタイトルに冠し、シナリオもそれに沿った物になっています。
(とは言っても、シナリオに関してはだいぶ改変されているので言わなければ気づかない、っていう程度の残骸しか残らないかもしれませんが。)
この大まかなシナリオ、世界観に関してはoukaさんが決めたのですが結局文書化ができない、ということなのでその後私が受け持ち、今練り直している最中、ということです。
また、システムにも似ている部分も多々あります。
これはもちろん意図的に似せているのですが。
ですが、その大筋などは大幅に異なる事となると思います。
システムに関しても向こうはストイックな横STG、こっちは弾幕縦STG。
その時点でも変えざるを得ない、というか変えた方が面白い部分が多数有るので。
シナリオに関してはソフトに発表前に有る程度は出す予定です。
ただし、その全てを出すことはおそらくできないでしょう。
私たちが変更したBREAKERの表す意味。
そこを感じてくれれば幸いです。
元々シナリオ担当だったoukaさんと話しているときにMetal Blackの世界観、又そこへのリスペクトを込めてタイトルに冠し、シナリオもそれに沿った物になっています。
(とは言っても、シナリオに関してはだいぶ改変されているので言わなければ気づかない、っていう程度の残骸しか残らないかもしれませんが。)
この大まかなシナリオ、世界観に関してはoukaさんが決めたのですが結局文書化ができない、ということなのでその後私が受け持ち、今練り直している最中、ということです。
また、システムにも似ている部分も多々あります。
これはもちろん意図的に似せているのですが。
ですが、その大筋などは大幅に異なる事となると思います。
システムに関しても向こうはストイックな横STG、こっちは弾幕縦STG。
その時点でも変えざるを得ない、というか変えた方が面白い部分が多数有るので。
シナリオに関してはソフトに発表前に有る程度は出す予定です。
ただし、その全てを出すことはおそらくできないでしょう。
私たちが変更したBREAKERの表す意味。
そこを感じてくれれば幸いです。
2007年11月11日日曜日
STG製作用ツールについて
STG製作用ツールはどんなものが存在しているのかを調べてみました。
Shooting Builder
http://maglog.jp/sb/
SB.wiki
http://www.erc-j.com/sb/
foret
http://www.geocities.jp/flashnetmovie/foretforet.html
シューティングツクール95
http://www.enterbrain.co.jp/digifami/products/stg95v/index.html
ちゃんと中身まで見たわけでは無いですが、Shooting Builderはかなり良さそうな感じですね。
foretは公式サイトが消えてる?
シューティングツクール95は昔、持ってて使ったことがあります。
今となってみると、仕様の古さは否めない感じです。
あの頃から10年経ってるわけかw
上で上げた3つは、GUIでパラメタをポチポチ設定すればSTGが作れる感じっぽいです。
今私が作ってるSTGのエンジンは、スクリプト言語で駆動するのが基本なので、上の3つとは方向性がちょっと違うのですが、やりたいことは一緒なので参考になりそうです。
STGを作ることが目的であって、STG製作ツールを作ることが目的ではないので、ツールとして作り込むことはほどほどにするつもりです。
でも、ほぼ全体をスクリプトで記述するのだから、GUIで設定するツールでは実現できないような表現力は持たせたいところです。
Shooting Builder
http://maglog.jp/sb/
SB.wiki
http://www.erc-j.com/sb/
foret
http://www.geocities.jp/flashnetmovie/foretforet.html
シューティングツクール95
http://www.enterbrain.co.jp/digifami/products/stg95v/index.html
ちゃんと中身まで見たわけでは無いですが、Shooting Builderはかなり良さそうな感じですね。
foretは公式サイトが消えてる?
シューティングツクール95は昔、持ってて使ったことがあります。
今となってみると、仕様の古さは否めない感じです。
あの頃から10年経ってるわけかw
上で上げた3つは、GUIでパラメタをポチポチ設定すればSTGが作れる感じっぽいです。
今私が作ってるSTGのエンジンは、スクリプト言語で駆動するのが基本なので、上の3つとは方向性がちょっと違うのですが、やりたいことは一緒なので参考になりそうです。
STGを作ることが目的であって、STG製作ツールを作ることが目的ではないので、ツールとして作り込むことはほどほどにするつもりです。
でも、ほぼ全体をスクリプトで記述するのだから、GUIで設定するツールでは実現できないような表現力は持たせたいところです。
2007年11月6日火曜日
Staff blogスタートです
とりあえず始まりました。
えーこのページではスタッフが日頃どんな作業をしている、妄想をしている、堕落をしているかをお伝えしていくページです。
現状伝えられる部分と、伝えられない部分、その両方があると思いますがそれは追々…。
えーこのページではスタッフが日頃どんな作業をしている、妄想をしている、堕落をしているかをお伝えしていくページです。
現状伝えられる部分と、伝えられない部分、その両方があると思いますがそれは追々…。