釣りゲームはどうやってプログラミングするのか考えてみた
こんにちは。なおキーヌです。
ブログ毎日更新は284日目になります。
釣りゲームって意外と良ゲーが多いの、知っていますか?
私はブラックバス釣りがめちゃくちゃ流行った時代に小学生でした。
釣りゲーはスーパーファミコンが全盛期でしょうか。
あの頃は釣り系のゲームが結構出ていたのですが、今ではもうほとんど出ていませんよね。
プレイステーションになると釣りゲーはちらほらあったりしたのですが、
RPGとかに組み込まれているミニゲームの方が面白かったりします。
今回はそんな釣りゲームの作り方について考察してみました。
意外と謎に包まれているんですよね釣りゲームの作り方。
「魚釣り ゲーム 作り方」
で検索しても子供のおもちゃとかその辺が出てきて探しづらいんですよね。
釣りゲームの定義
釣りゲームとは大きく分けてガッツリシミュレーターか、キャラクターを操作するタイプに分かれます。
ガッツリシミュレーターは、子供のおもちゃにある釣り竿の形をしたような玩具ですね。
あれ、実は結構作り込まれていて子供よりも大人がハマったりしてしまうそうです。
私の時代にもありましたが、そん時はそこまで釣りに興味はなかったのでハマらずです(笑)
今回フォーカスするのはキャラクターを操作するタイプの釣りゲーですね。
最近は新作が全く出ていませんがいわゆる「川のぬしつり」や「海のぬしつり」のようなキャラクターを移動させ、
一定のポイントで釣りが出来るようなゲームです。
時間・ルアー・竿等様々な要素をを駆使して大物を釣り上げるのが基本的なテーマとなります。
ゲームによってはランキング上位に組み込んだり、ヌシを釣り上げるとクリアだったり
様々ですが共通してあるのは魚との釣りバトルです。
そもそもどういう仕組みで魚がヒットするのか
水中が見えるタイプと見えないタイプでも変わってくると思うのですが、
プログラミング的に考えるとどういう風に魚をヒットとみなしているのでしょうか。
水中が見えているタイプだと、魚のスプライトをそれっぽく動かして
釣り糸に食いつかせるような表現は結構容易ですね。
しかし水面しか見えないようなタイプの釣りゲーは内部数値が一定の範囲内になった時
魚が針に食いつくという処理をすることになります。
スプライトで判定を撮るときはツールによっては簡単に作ることができますね。
プチコン4とかだとスプライトの便利な機能がたくさんあるので作りやすそうです。
水面タイプでも魚の影が見えたりするタイプなら全てスプライト判定でことたります。
しかし現実と同じように魚の影とかも見えないタイプは内部数値の調整がカギになります。
欠点としては、プレイヤーにここに魚がいるのかわかりづらいということでしょうか。
簡単にしすぎてもつまらないですし、難しすぎても面白くない。
釣りゲームがあまり世に出回らないのって調整が難しすぎるのかもしれませんね。
ゲーム内の時間を軸にテーブルを切り替える
現実の釣りであれば、時間・天候・季節という要素で釣れる魚も釣れやすさも変わってきます。
釣りゲームも基本的には同じ概念を取り入れてることが多いですが、
要素を増やせば増やすほど、条件式が複雑になってくるのである程度取捨選択は必要になります。
条件式が少ない場合は単純にIF~ELSEで切り替えればいいのですが、
組み合わせが尋常じゃないパターンの場合はテーブルという仕組みを使うことが基本になってきます。
例えば要素に重みをつけて合計値でテーブルが選ばれるという仕組みにしておけば管理がすごく楽になります。
ゲーム開始時にテーブルをいくつかランダムで選択されるという仕組みにしておけば、
再現性がかなり減るのでいつやっても楽しめるゲームになりますが、バランス調整に気をつけましょう。
ルアーや竿はRPGと同じで属性の変化や数値の強化
釣りゲームとはいっても、結局は数値の変化により結果が変わってくるので
ほとんどRPGみたいなもんですよね。
いい釣竿がないと絶対に釣れない魚がいたり、
スキルがないといい竿を持っていても糸が切れたり餌やルアーによって釣れる魚が変わったりします。
ゆえに作り込みがゲームの面白さになってくるので、
ゲーム作り初心者にはあまり向かないタイプの制作な感じがします。
簡単なRPGが作れるようになったら、釣りに置き換えて行けばいい感じがしますね。
私もそのうち釣りを題材としたゲームを作りたいのですが、
いかんせん釣りに関する知識があまりないのでそのうちリアル釣りもちゃんとやりたいと思います。
最大の難関は釣りバトル時の魚のAI
釣りゲームを作る際、問題となるのが魚のAIですよね。
昔のゲームはぎこちない動きでしたが、リアルになると本物の魚のような動きをするゲームもあります。
この辺はゲームAIだったり魚に関する知識をもっていないと調整が難しいところですね。
一人で開発する場合、ゲームAIの知識も魚の知識も兼ね備えている人なんてほとんどないんじゃないでしょうか。
なので最初に釣りのゲームを作るときは、魚の姿が見えないタイプをオススメします。
一番簡単な釣りゲームといえば、ポケモンとかの道具を使ってランダムでヒットするタイプでしょう。
それだけだとあまり面白みがないので、ヒットした後に釣りバトルが始まる感じがいいでしょう。
一度ヒットしたらわかりやすいように魚の姿をみえるようにすると面白いかもしれません。
個人的にはゼルダの伝説夢を見る島の釣りゲームが一番作りやすいと思います。
シンプルな動きですし、魚も常に見えているのでユーザーのストレスも完全に見えないよりは少ないです。