enchant.jsでゲームを作ってる中、考えたことつまずいたこと、これから(OJAG Naha Hackathonその後の話)

OJAGの勉強会でenchant.jsのハッカソンに参加しました。
OJAG workshop@Naha Vol.12に参加してゲーム作ってきた! - はなちん C-x C-c
その後9leap×ピアプロ 初音ミクチャレンジに応募するべく作品を制作しました。
出来上がった作品は2作品です。どちらもソースコードは公開しています。

1つめ

4日間程度かかりました。画像とBGMを友達に頼んで制作。長い時間遊べるテトリス的なものを目指しました。
9leap : ミク☆キュン! by hanachin_ - どこでも遊べる、投稿型ゲームサイト

制作中工夫した点
  • 自分では作れない画像を友人に制作依頼
  • BGMも依頼
  • プログラムで使いやすいように画像を作ってもらう
  • ソースコードを編集したら誰かにすぐ見てもらえる環境作り
  • ゲームのパラメータをソースコード書き換えずいじれるようにする
遭遇した問題点
  • Firefoxで音がならない事件

などなど。細かい事は後から書く or 発表します。

2つめ

3Dスロットゲーム。enchant PROを使用
9leap : ぼか☆すろ by hanachin_ - どこでも遊べる、投稿型ゲームサイト

工夫した点
  • enchant PROが出た翌日からコンテストに間に合わせるために制作開始
  • 明るさを設定する方法がドキュメントに書かれてない
    • とりあえずproのソースを読んだ
  • 前はscriptのsrcに指定するだけでutilプラグインやnineleapプラグインが使えるようになった気がするのですが、出来なくなってた
    • enchant('util', 'nineleap');で解決
  • まず、動作確認が出来る実機を使って、動くセンサーがあるか、あるならその値を取得出来るか試した
    • ARを使いたかったがICONIA TAB A500で上手くうごかなかった
    • カメラも動かなかったので諦めて別の方向で試す

などですかね

全体として意識していたところ

週末ものづくり講座
この授業を受けています。かなり刺激を受けております。(授業でAndroidアプリも1つ作成したのですがそれはまた別のエントリにて)
enchant.jsの作品もその授業の一環として制作し授業内でも進捗の報告やデモ等しました。
そこから引用すると

    具体的なプロセス:
    - 1. 良いアイデアを見つけたら、3日以内にそのプロトタイプを作成し、評価する。
    - 2. 評価の結果が良ければ開発を続ける。悪ければ、また新しくプロトタイプを作成する。
    - 3. 良いモノが出来あがればマーケットに投稿。そうでなければOSSとして公開する。

といった感じです。授業もこの流れ。
この流れを実践出来るように頑張ってみました。
ミク☆キュンはとりあえず作って何人かに見せて、感想を貰い改良し(取り入れない/実装出来なかったものもありますが)、最終的に9leapでソースコードと共に公開しました。

評価はまだ途中かな? プレイ数ものびるかと思いきやそこまで伸びませんでしたね。
理由はいくつかあると思いますが

失敗から得られた知見を大切にする。

と書いてあるのでここに残しておきます。

疑問や思い浮かんだ解決策など
  • 同時期に同じジャンルでもっと本格的なゲームが投稿された
    • 被らないジャンルを狙う戦略を取った方が良い?
  • 複雑すぎた
    • キャラクターを3人に増やしたりルールが複雑になった。
      • シンプルな方がうける?
    • 1プレイに39秒の制限をつけ制限時間を延ばす仕組みを作ったがそれだとプレイ数がのびない
      • むしろ制限時間をへらす方法を考えるべき?
      • プレイ時間が短い方が何回もプレイ出来る?
      • 何回もやりたくなる変化とか仕掛けが必要なのかも、今だと玉うつだけでスコアぐらいしか変動する余地がない
    • サウンドやフォントも3人分用意したのでスマートフォンでの動作が重くなった
      • 画像よりも音声、特にBGMが圧倒的に重かった。
      • キャッシュするようなプラグインを使うべき?
  • enchant PRO出たばかりのものでドキュメントが少なかった
    • ソースコード読む力をもっとつける? いじったAPIが少ないけど3Dプログラミングの知識があればもっといけた?
  • enchant PRO試せる実機がなかった
    • 友達のものを借りる手もあったのでは?
    • 2.3以上じゃないと試せないしばりが今後も出てきそうだしAndroid2.2の端末のままでいいのかな?
    • もしもこれがiPhoneから出ていて、僕がiPhoneを持っていたら、実機はほぼ1種類に縛れるから試せたのかも?
  • どのぐらいまで出来てるものを試せばいいのかな?
  • 時間をかけずに大量のゲームを作るにはどううれば?
    • やっぱり作り置き、というかコピペや参照出来るソースが必要?
    • ネタ作りに時間が結構かかるのでネタ本があるといい?
    • パクったほうがいい?
  • ゲームを更新すると最近投稿されたゲームに表示される
    • おそらくトップに表示されないとプレイされる回数は非常に少なくなる。
    • 常にトップに表示されるために自動更新の仕組みがあると便利?
  • 宣伝用にYoutubeニコニコ動画にも動画をあげた
    • だが再生されなかった。そもそも再生されるためにもある程度の宣伝が必要っぽい。
    • 再生してもらえるようなBGMだったりカテゴリを選ぶべきだったのかな?
  • enchant PROのデバッグが実機でしか出来ない
    • 実機でデバッグするために毎回、フォルダをzipで固めてウェブにあげる必要がある
      • 自動化できないか?
  • ゲーム作りが初めてだった
  • 初音ミクでなければならないゲームではなかった
    • もっとキャラを生かすべきだったのか?

ざっとでてくるのはこんな感じでしょう。
まだ審査期間があるので結果は分からないけれど、途中で何度も細かいところで引っかかった。
都度解決したが一部解決出来ていない点や疑問も残った。
次回はこれを直すようにしたら今より少しだけましになるのではないだろうか。

enchant.jsを使って9leapに投稿してみて

enchant.jsを使うとほんとに簡単にゲームが作れた。enchant PROを使うと3Dがめっちゃお手軽に扱えた。
短期間で集中して何か作るのは楽しい。9日間のチャレンジ、9日間でゲームを作る!という企画は本当に素晴らしいと思う。
工夫したり苦労した点は次回につなげて行きたい。

今後

プログラミングは最高だ。無差別級ゲームコンテストも発表されたUEI「enchant.js meetup!」レポート - 4Gamer.net
によればopen leapという学生以外でも参加出来る無差別チャレンジがあるっぽいので是非応募したい。
こんな素敵な場所を提供している9leap : トップページ - どこでも遊べる、投稿型ゲームサイトさんはすごくいいサイトなので皆さん是非参加してみて!

まぁenchant.js以外にも面白そうなことがあったら積極的にものつくろうと思います!
ものつくりと発表はセットらしいので、今後は発表など出来たらいいな!