ZAPAnet総合情報局 > ZAPAブログ2.0 > ADVPスタジオ2作品目「県庁所在地マスター47」配布開始

ADVPスタジオ2作品目「県庁所在地マスター47」配布開始

2005年07月04日 PSP


↑県庁所在地マスター47(タイトル画面)↑
 
ADVPスタジオ初作品「ZAPA写真集」配布開始に続いて、ADVENTURE PLAYER用作品2作目を作りました。
 
前回の「ZAPA写真集」はフォトビューワーのような形式でしたが、今回の「県庁所在地マスター47」はクイズ形式です。
 
各都道府県の庁所在地をマスターするために作成したゲームです。
47都道府県がランダムで出題されます。
規定の問題数(10問編、20問編、全問編)を答え終わると、正答率によってランクが表示されます。
 
是非パーフェクト目指して頑張って下さい。
 
:東京都の都庁所在地は、今まで「東京」だと思っていたのですが、「新宿区」とする場合もあるらしいですね)
このアプリは概要や見た目よりも、実際にプレイしてみると、このアプリが少し「クール」であることが実感できると思います。
ADVPで用意されている曲にカッコ良い曲が多いおかげだと思います。
 
 
フロム・ソフトウェア谷口さんが書いているブログ
:: 『ゲームつくってます。』 TSUTAYA online X 電撃PlayStation | 大阪出張行ってきます! ::
の記事の中で、

『やっちゃえば楽しい』を謳う『ゲーつく』そういったアプリを紹介する方法が無いかな?と思ってたら、あるじゃないですか、トラックバックってモンが。
 
電撃PS2上でも一般公募をかけ、優秀作品を選定する企画があったりするのですが、
 
『そこまで自信は無いな・・・』
『でも見て欲しいなぁ・・・』
 
なんて思ってる人は、このブログにトラバを貼って『アプリ見て下さい!!』とアピールして下さい。
 
何件来るかも想像できないので、全て巡回できないかもしれませんが、極力チェックさせて頂きます。
そして、気になったアプリを見つけたら、それに対する評価や紹介文を勝手気ままに書かせて貰おうかなぁ?と(笑
公の場で展開しているブログだからこそできるユーザーさんとの繋がり。これこそ『ゲーつく』発足の肝だったりもしますカラ!
 
というワケで、これからも「ADVP」ならではの施策をドンドン打ち出して行きたいと思います。

 
と書かれていたので、トラックバックを送ってみます。
『アプリ見て下さい!!』とアピールしてみます。
 
 
さて、今回も一作目のADVPスタジオ初作品「ZAPA写真集」配布開始の時と同じように、開発の話を書いておこうと思います。
 
 
 ?今回苦労した点?
 
 ・問題をランダムで出題
 ・テキストリストに地名を200以上登録
 ・47都道府県それぞれに5択を設定
 ・47都道府県それぞれの答えを実機でチェック
 ・モードによって出題数を切り替える
 ・SE(効果音)のサンプルが聴けないので、SEを適当に選んで毎回PSPで視聴
 ・正答率によるランク付け
 
 以下、詳細です。

 
 
まず最初に作りたいと思ったのは、都道府県名がランダムで出題され、その都道府県庁所在地を答えるというアプリ。
このアプリを作る際重要になるのが「ランダム」という部分でした。
 
ランダムでなければ、全47都道府県を1シーンごと作成して、順番にシーンへジャンプさせていけば良かったのですが、ランダムという要素が入ると少し難しくなります。
 
最初に思いついた方法は、ADVPのアクション「乱数」を利用して、1?47までをランダムで選ぶという方法。
この方法だと、最初の一問目は問題なく出題されますが、二問目以降同じ問題が重複されてしまう欠点があり、全47問全く重複せずに出題されるなんてことは奇跡です。
したがって、この方法ではランダムに問題を出題することができません。

次に「一度出題した問題はフラグを立てておく」という方法に切り替えてみました。
こうすれば理論上は同じ問題は出題されません。
この方法で、実際やってみたのですが…
出題されていない問題を探し出すまではぐるぐるとループさせて、問題が見付かったら出題しようと思っていました。(↓のフローチャート参照)
 
 「乱数」でランダムに数字を選択
  ↓
 選択された数字が出題済みかどうかチェックする
  ↓
 出題済みでなければ、出題。
 出題済みであれば、”「乱数」で…”の部分に戻ってもう一度探しなおす
 
 
ところが、ADVPはif分岐命令があってもforループ命令がありません。
一番下の行の、”「乱数」で…”の部分に戻ってを実現させるには、次のシーンへジャンプさせて、もう一度この乱数生成シーンに戻ってくる必要があります。
一応、この方法で作ってPSPで動かしてみました。
 
 …結果…
 
  問題が出題されるまでに5秒以上かかる…
 
 …終了…
 
思っていたとおり、ループさせる時にいちいち次のシーンへジャンプさせてしまうので、実行速度がメチャクチャ遅くなってしまいました。
これでは快適なアプリとは言えないのでこの方法はボツにしました。
 
あらかじめ出題パターンをいくつか作っておいて、それを読み込ませる…
という方法もADVPではできません。
最初にランダムで全出題順を作る方法も大変そうです。
良い方法がなかなか思い浮かびませんでした。
 
ADVPスタジオでランダムに問題を出題させるのはけっこう大変です。(←もしかしたら、自分のやり方が悪いだけかもしれません。良い方法を知っている人がいたら教えて下さい)
 
 
で、仕方なく、こんな方法で出題してみました。
一番最初の問題は完全にランダム。
次の問題以降は、一定の増加ルール(問題が重複しない増加値パターンをあらかじめ見付けておきます)に従って出題。
最大問題数を超えたら最初に戻る。
47問出題したら終了。
数値で表すと↓のような感じになります。
 
(例:初期値ランダム、増加値2の場合)
33→35→37→39→41→43→45→47→2→4→6→8→10→12→14→16→18→20→22→24→26→28→30→32→34→36→38→40→42→44→46→1→3→5→7→9→11→13→15→17→19→21→23→25→27→29→31
 
(例:初期値ランダム、増加値3の場合)
21→24→27→30→33→36→39→42→45→1→4→7→10→13→16→19→22→25→28→31→34→37→40→43→46→2→5→8→11→14→17→20→23→26→29→32→35→38→41→44→47→3→6→9→12→15→18
 
(例:初期値ランダム、増加値4の場合)
6→10→14→18→22→26→30→34→38→42→46→3→7→11→15→19→23→27→31→35→39→43→47→4→8→12→16→20→24→28→32→36→40→44→1→5→9→13→17→21→25→29→33→37→41→45→2
 
(例:初期値ランダム、増加値6の場合)
40→46→5→11→17→23→29→35→41→47→6→12→18→24→30→36→42→1→7→13→19→25→31→37→43→2→8→14→20→26→32→38→44→3→9→15→21→27→33→39→45→4→10→16→22→28→34
 
 
初期値は、最初にランダムで決定。
増加値は、1?6の中で最初にランダムで決定。
 
一番最初に乱数を使った後は、「加算」だけで次の問題を出題できるのでCPUへの負荷が減ります。
一応この方法でランダム問題にしてみました。
重複無く全問題が出題されるはずです。
 
もっとスマートなランダムの方法もありそうですが、今回はとりあえずこんな方法にしてみました。
 
 
今回そのほかに苦労した点は、出題数が多いので登録が大変ということでした。
シーンの数はたった7しかないのに、問題を出題するシーンでは分岐が50もあります。
デバッグも大変でした。
 
 
もしこの苦労した「県庁所在地マスター47」をプレイして下さる方がいましたら、
 
 →ADVP:アドベンチャープレイヤー攻略-ADVPスタジオ制作作品-
 
のページよりダウンロードしてみて下さい。
:ADVPが動くPSP環境がないとプレイできません)
 
 
何ランクになるか友達と競争してみたり、勉強用に使えるソフトだと思います。
何度もプレイして、日本の全都道府県庁所在地をマスターしましょう☆