ゲームの作り方
チュートリアルや文法を習ってみたものの、繋がらない...それ、普通です(私基準)。
いろいろなゲームを見てみる
最近はミニゲームのプログラムをそのまま見られるところがあるのですよ。短いゲームとそのプログラムを見て動き方を学んでいける・・・最近は本当に凄い環境になったと思います(幼稚園児並の感想)。
まずは、code.9leap.net内のサンプルを色々見てみてください。サンプルとして公開されているソースコードのいいところは、コメントがしっかりしていることと、どこの部分で何をしているかが分かりやすく書かれていることです。こういうソースコードを眺めておくだけでも、いざプログラムを書く時に役に立つことは結構多いです。
code.9leap.netのサンプルも豊富なのでそれで十分といえば十分ですが、他にもたとえば
- jsdo.it
- jsdo.it URL
- 気になるゲームがあったら、そのゲームの画面の「JavaScript」のタブを押すと、ゲームプログラムをみることができます
- 9leap.net
- 9leap.net URL
- ゲーム投稿サイトなだけあってゲームが豊富
- 投稿者によってはプログラムのダウンロード許可しているので、ダウンロードすれば参考になることも多いはず
- ただし、ダウンロードにはTwitterアカウントが必要
その他サイトまで入れると
- 初心者によるブログの勉強のためのブログ
- http://blog.livedoor.jp/kamikaze_cyclone/archives/33044647.html
- enchant.jsを用いたゲーム制作 カテゴリ の部分
- BEFOOL(blogのうち)
- http://befool.co.jp/blog/categories/enchant.js/
- BEFOOLという(多分)会社の社員さんが書いているブログのうち、enchant.jsに関する記事
こういうところもあります。
あとは、入門用の書籍でしょうか。このあたりは評価も良さそうですしサンプルも豊富ですし評価も良さそうですので、気が向けばどうぞ。
- ゼロからはじめるenchant.js入門【公式ガイド】(ISBN:978-4-04-886258-5)
- はじめて学ぶenchant.jsゲーム開発(ISBN:978-4-86354-120-7)
ちょっとプログラミングに慣れてきてからの事ですが、フレームワークの仕様が書かれているページを見てみましょう。
初めてこういうのを見た時はわけがわからないものですが、作っていくうちにわかるようになってきます。
- かくいう私はいまだに判子を真っ直ぐ押せなくてだな・・・
- 絶対プログラミングの方が一般技術だと思う。判子を真っ直ぐ押すなんて専門的なこと無理無理。数をこなしたら出来るとか、あれに関してはありえない。
作ってみたいゲームの類似作品を見てアタリをつける
サンプルやミニゲームを見たら、次は改造プロセスを考えてみましょう。
たとえばですが、このゲーム。これはブラウザゲーム『インペリアルサガ』がメンテナンス中に案内されるミニゲームです。普段は案内されないので、遊びたいなら直接URLを叩くかお気に入りに入れておくか...というものです。
- http://www.imperialsaga.jp/minigame/game_robin.html
- 初期表示が非常に遅い時がありますので、我慢強く待ってください
これと、enchant.jsのHPにあるLiveSample(Shooting)
- enchant.js HP
- Live Sample というところの枠の下側にある「Shooting」というリンクをクリックした時のゲームです
これらは似通ったところがありますよね。
もちろん、違いはたくさんあります。
- ゲーム本編の前後イベントがない
- 音楽がない
- 主人公が人じゃない
- 敵があまり悪そうじゃない
- 必殺技がない
- たまに味方キャラが流れてきたりしない(ボーナス要素がない)
- デフォルトの攻撃が近接攻撃じゃない
- プレイキャラクターの初期位置が右側じゃない
- ゲームオーバーの基準がちがう
- ドフォーレ〜は敵が5人壁の向こうに入ればゲームオーバー、enchant公式のは10秒後にゲームオーバー
- …などなど
今、ドフォーレ商会風のミニゲームを作ってみたいとします
具体的に改変プロセスを考えてみる
大枠でいえば参考になるenchant.jsのソースを元に違うところを改変していく考え方で良さげです。
では、具体的にどの程度理想に近づけるかですが、とりあえず今回は比較的楽そうな
- 主人公・敵の見た目
- プレイキャラクターの初期位置(と、敵が流れる方向)
- 武器の変更
- ゲームオーバーの基準
を変えて、ドフォーレ〜に近づけてみます。