「たった5日で何ができるかゲーム」 1日目 その1 ~で、何するよ?~
さて、始まりました「たった5日で何ができるかゲーム」のお時間です。
本当はさっさと寝るつもりだったのですが、思いの外はてブが付いて(16はてブですってよ)引けなくなったやる気が出たので、最初の方向性だけ決めて寝ようと思いました。
まとめページも作りましたしね!
では、考えたことを書いてみます!
ブラウザゲームって、いいかも?
はてブのコメントで、「俺ならブラウザで動作するゲームにするかな」というようなコメントを頂いて、確かにいいかもと思いました。
ブラウザのゲームにするにしても言語やライブラリの選択肢はいろいろあるのですが、今回は、
- Javascript
- tmlib.js
を使ってみようかと思います。
理由
特に無い。
半分冗談です。もともと興味のあったライブラリだからというのも一つ、unityを食わず嫌いしているからというのも一つ、なんとなくというのが半分です。
tmlib.jsは個人の方が作られているライブラリですが、結構使いやすそうに見えるんですよね。enchant.jsとかでもいいけど、有名どころには手が伸びないという私の中の天邪鬼さも手伝って、こちらに決めました。
方向性
とりあえず、何を作るか考えている時間が惜しいので、まずは手を動かしてライブラリの感じをつかもうと思います。ゲーム作りって、何気にまずは手を動かすことから始まると思ってますし。
簡単なパズルかアクションゲームでも作りつつ、思いついたものをサクサク作っていきます。
RPGが作りたいとかいやSLGだろうとかそういう思いもなくはないけど、5日じゃ厳しいしブラウザゲーでやるのも大変そうなので、とりあえずできる範囲でやろうかと。
できたゲームはどんどんアップして行きますので、ぜひ遊んでみてくださいね。できたら、いいね。
おわりに
方向性を決めたところで、寝ます。早く寝て、ちゃんと起きて作業しよう。
このままずるずると作業に入ってしまうと、寝ずに朝になって昼間ずっと寝る、みたいなことになりかねませんしね。
よーし、やるぞー。
では今回はこのへんで。おわり!
「たった5日で何ができるかゲーム」 1日目 その2 ~24パズル~
4時間くらいかけて、1本のゲームを作りました。有名で簡単なパズルです。もともと15パズルって名前が一番有名なのかな? 今回は5×5で作ったので24パズルですが。
やったこととかを書いていきます!
作ったもの
こいつです。
制作にかかった時間は4時間くらい。まぁ、以前にも別の言語で同じものを作ったことがあったからというのが大きい気もしますが。中身は結構別物ですけどね。
tmlib.jsの使い方を調べるってのが4時間の大半を占めていますが、すごく使いやすくて簡単でした。まぁ、理解できたかといえば微妙な気もしますが。うん、でもきっとなんとかなるよ!
やったこと
tmlib.js で今流行のフラットデザインを使ったタッチゲームを作ろう – Step02 ピースのタッチ処理とゲームクリア処理を実装しよう | TM Life
このページ(tmlib.jsの作者さんの書かれたチュートリアル的なページです)を参考にしてます。数字周りの表示とかほぼそのままですね。
違うのは、クリックしたところからの中身です。Pieceクラスに移動可能かどうかのチェック&移動の関数とか所定の位置に収まっているかのチェックの関数を作って、回してます。
すごーく大雑把な作り方になっている気がするので.jsファイルが230行くらいありますが、多分かなり軽量化出来そう。そこそこ動いているっぽいのでこれ以上手を加える気がないですが。
バグがあったら直します。変な挙動があったら教えて下さいー。
参考にしたページ
大きくはこれだけです。小さくは、random周りとlabelButton周りは調べた気がするけど、どこ見たか忘れました。
あと、javascriptのswitch文の書き方も調べたか。結局使いませんでしたが。あとは、勘。
おわりに
とりあえず1本目でした。次は何を作ろうかな。
触った感じだと、複数のオブジェクトを出す場合、それぞれの名前などが必要ないもののほうが簡単に作れそうでした。触ったら消えて得点とかそういう独立しているものを作るほうが楽そう。
多分、管理クラスを作ってちゃんと管理してやればいいんでしょうけど、ノウハウがなくって。まぁやろうと思えばなんとかなるとは思いますけどね……。
まずパズルを作ったので、次はアクションにしようかな。どういうのがいいかなー。ゲーム内容を考えるほうが大変ですね。
という感じで今回はここまで。おわり!
「たった5日で何ができるかゲーム」 1日目 その3 ~2本目進行中~
1本目を15時頃に出してから気が抜けて寝てて、夜になって再び作業をはじめました。
で、2時間くらいやって多分進行度50%くらい。やっぱり4時間くらいかかりそうかな?
やってることを書いてみます!
アクション?
敵を避けるタイプのアクションゲームを作ろうと考えて、弾幕とか張りたいなと思い、弾幕避けゲーに決定しました。アクション?
とりあえず、tmlib.jsには衝突判定を簡単に行う仕組みがありそうなので、それを使ってみる予定。最悪、総当りするけどね!
とりあえず、敵本体(弾幕を出す本体)とプレイヤーの表示は出来ました。円をShapeで出すのにちょっと苦労したけど、CircleShapeでよかったです。色で塗りつぶすと四角になったのでちょっとよくわかってないですが。
あとは
ここからは、敵本体から弾幕を出しまくる処理を作るのと、弾とプレイヤーの衝突判定をするのと、時間を測ったりしてスコアを付けるのですかね。
今回はTwitterとかと連携させてもいいかなと思ってます。Twitterとの連携は以前にWebサービスを作った時にやったことがあるので、多分すぐできるはず。
ちょちょいっとできるといいですね!
おわりに
1日目の成果は、1本目の公開と2本目の途中まで。なかなかいい感じかな?
明日は2本目と3本目の公開までいけるといいな。で、残り3日間でもうちょっと大きな何かを作りたいかなーと。
やるぞと決めたら意外と出来るかも! と嬉しく思いつつある瞬希でした!
では、今回はこのへんで。おわり!