ゲームをつくりませう
さて、そんなわけで今日もゲーム制作という名目で何かを作っていきます。
~前回までのあらすじ~
人はなぜ過ちを繰り返すのか。その疑問の答えを出すためにインドへ向かった。
そこに一体何があるのか、なぜインドなのか。その答えは……。
はい、いつ頃書いていた与太話なのかわかんないけどブログネタのために書き溜めていたメモ帳を見返したらこのような文章がありました。僕の記憶の中にインドに行った記憶など全然ないですがなんかそういう哲学的なことを書きたかったのだと思います。
ゲームをつくりゅ
さてゲームの話ですね。とりあえずタイトルだけですがKuinでこんな感じのを作ってます。
Kuinならゲームつくるのが楽々みたいなことを書いてあったのでやってみることにしました。ゲーム制作だけなら他のゲーム制作用ツールの方がはるかに速く作れる気がしてならないけど、まあやっていきましょう。
ソース
;メイン関数 func main() var wndMain: wnd@Wnd :: wnd@makeWnd(null, %aspect, 1920, 1080, "KuinGame") var drawMain: wnd@Draw :: wnd@makeDraw(wndMain, 0, 0, 1920, 1080, %scale, %scale, false) while(wnd@act()) do @title() ;do @game() ;do @option() ;do @credit() end while end func ; タイトル画面。 enum Conf start options credits end enum func title() var texTitle: draw@Tex :: draw@makeTex("res/title.png") var font: draw@Font ::draw@makeFont(null, 28, false, false, false, 24.0) while(wnd@act() & input@pad(0, %a) <> 1) {Aボタンが押されるまでループ} do texTitle.draw(0.0, 0.0, 0.0, 0.0, 1920.0, 1080.0, draw@white) do font.draw(100.00,100.0,"GameStart",draw@white) do font.draw(100.00,200.0,"Options",draw@white) do font.draw(100.00,300.0,"Credits",draw@white) ;キー入力 do font.draw(40.0, 100.0,"→",draw@white) do draw@render(60) end while end func
ソースを見ていただくとお分かりのように色々やりたいことはあるけども、システムとして未だ落とし込めてない感じです。Kuinの列挙型の使い方がまだわからない。一回サンプル作ってみないと落とし込めない。まあ、ドキュメントをしっかり見ろという話なんですけどね……。
それで肝心のゲームの方ですが、タイトルだけ作って何つくるか考えていないです。
2Dアクション的なの作りたいけど、現状ライブラリ豊富なゲーム制作ツールや言語が巷にわんさかあるから、とりあえず習作ということで三目並べあたりを目標に作ってみようと思います。三目並べならネットにサンプルわんさかあるし、200行ぐらいでできるでしょうとかかなり高をくくって言ってます。まあ、この企画続くのかわからないんですけどね。あと、ドキュメント見てたらキューとスタックという見慣れない型の話があったので多分ゲーム制作は途中で脱線したりすると思います。そしてそのまま帰ってこなくなるやつですね。
まあ、そんな感じで列挙型よくわかんなくなって30秒で挫折したという話でした。次回はなにでつまづいて30秒で挫折するのでしょうかこうご期待を。