2021/06/24

【ナビつき! つくってわかる はじめてゲームプログラミング】パンチとキックを使い分けてゲーム作り 解説



この記事は【ナビつき! つくってわかる はじめてゲームプログラミング】でパンチとキックの使い分けたゲームの作り方についての解説です。

なんちゃってリズムゲーム「ゲームID: G 000 FBY 20D」の作りを解説しています。

パンチとキックを別ボタンで行う

さっそくゲーム画面を配置し、ヒトを1体置きます。
このヒトにパンチとキックをさせます。

わかりやすいように、右向きにしておきましょう。


ヒトのアクションは4種類あるのですが、設定できるのは1つだけです。
アクションポートに1がくると設定されたアクションを行います。

しかし、ウラワザとして2,3,4,5がアクションポートにくると、対応するアクションを行うようになっています。

それでは、Aボタンでパンチ,Bボタンでキックを行うようにしてみましょう。

「ボタンをおしたら」のノードンは指定のボタンを押すと1、押していないと0を出力します。これをボタンを押すと3や4を出力するようにすれば良いわけです。

この変更には「けいさん」ノードンで定数と掛け算を行うようにしましょう。
掛ける定数を3にすれば、押しているタイミングで3が出力されます。

3をアクションに繋げばパンチが出せます。

Aボタンを押すと3,Bボタンを押すと4を出力することで、パンチとキックがだせるようになりました。同じようにXボタンで5,Yボタンで2を出力するようにすると、やったぜやターンもおこなえるようになります。

ボタンごとに別の場所のモノを壊す

では、それぞれのアクションの効果を設定します。
「モノをこわす」ノードンをいくつか用意し、「けいさん」ノードンからの出力をつなぎましょう。これで、ボタンに対応して別々の場所のモノをこわせるようになりました。

これで、パンチやキックなどのアクションの使い分けができました。
せっかくなので、このままなにかゲームを作ってみましょう。

画面の右から球が飛んできて、対応するアクションで球を壊すというゲームを作ってみます。

「モノをこわす」ノードンを縦1列にならべ、目印に直方体を少し奥に置きます。


そして、「モノを発射(10コ)」ノードンを画面外に置いて、球を発射させましょう。
球の設定は「見える」「こわれる」「うごく」です。

そして、再生すると……見事キックで飛んでくる球を破壊できるようになっています。

「モノを発射(10コ)」ノードンを縦に並べると、高さごとに別のアクションで破壊するようになります。

ところが、ここで一つ問題が発覚します。
ボタンを同時に押すことで、すべての高さの球が破壊出来てしまいます。

このままでは高さに合わせてボタンを押さなくても、すべてのボタンを押し続けるだけですべての球が破壊出来てしまいます。
ボタンを同時に押している時には、破壊やアクションを行わないようにしないといけません。

ビットフラグをつかってボタン同時押しの抑制

ボタンを同時におしていないかどうかには、ビットフラグを使います。
ビットフラグというのは二進数でそれぞれの桁をフラグとして使う考え方です。

二進数について軽く説明します。
普段、我々が使っている数の数え方は10進数です。

数が10になると次の桁になります。
対して二進数は、数が2になると次の桁になります。
1,2,4,8,16と2倍ごとに桁があがります。
aボタンに1,bボタンに2,xボタンに4,yボタンに8を割り振っておき、すべての出力を足します。
この足し算は二進数では桁の繰り上がりがないため、対応桁が1かどうかを見るだけでボタンが押されているかどうかがわかります。

つまり、1ならaボタン、2ならbボタン、3ならaボタンとbボタンが押されていると分かるわけです。

では、ノードンを配置していきましょう。
「ボタンをおしたら」ノードンと掛け算を行っている定数を1,2,4,8に設定します。

そして、その出力をすべて足し、足した結果を1,2,4,8と比べます。

これで、ボタンが単体で押されているかの判定は完成です。
あとは、「くらべる」ノードンからの出力を掛け算で2,3,4,5にすればアクション設定も完了です。

スコア表示

入力部分ができたので、スコアでもつけてみましょう。
「モノがこわれたしゅんかん」ノードンで球の破壊を検出し、「カウンター」ノードンで数えます。

「カウンター」ノードンの数字を画面に表示すればスコアの完成です。

球の発射タイミング設定

次は「モノを発射(10コ)」ノードンの発射タイミングの処理を作りましょう。
現在はなにも設定していないので、1秒ごとにすべての「モノを発射」ノードンが動いています。

これを、一定時間ごとにランダムなノードンが発射を行うようにしていきます。
まずは、発射間隔を縮めましょう。0.5秒くらいに設定しておきます。

そして、「定数」ノードン、「タイマー」ノードン、「ランダム」ノードンの順に繋げます。

「ランダム」ノードンは1~6を出力するように設定し、「くらべる」ノードンを使って1の時に下、2の時に中、3の時に上の「モノを発射」ノードンが球を発射するようにつなぎます。

これで、「ランダム」ノードンの出力が1,2,3の時に別の高さから球が発射され、4,5,6の時にはなにも発射されないようになります。

リズムゲーム風にしてみる

後は「タイマー」と「カウンター」を使って、数字をカウントダウンするようにし、その「カウンター」が0になればリトライするように作れば、ゲーム部分は完成です。

ですが、音がないと味気ないので、BGMと効果音をつけます。
「モノを発射」ノードンのその他設定で、当たった/こわれた時に音を鳴らさないように設定します。

かわりに、「さわっているセンサー」を「モノをこわす」ノードンと同じ位置に置き、球がさわっている時に対応するボタンが押されたなら効果音を鳴らすようにします。


これで発射された球が壊れた時に、通常の効果音ではなく、設定した効果音がなるようになりました。

そして適当なBGMを鳴らします。

球発射に使っている「タイマー」をBGMの1拍くらいの秒数に設定し、「モノを発射」ノードンと「モノをこわす」の距離も1拍で発射された球が届くくらいの距離に調整すれば、なんちゃってリズムゲームの完成です。

2021/06/07

【Curious Expedition2】ランダム生成される島から財宝を持ち帰る探検ゲーム



この記事では【Curious Expedition2】の紹介を行います。

ゲーム概要

【Curious Expedition2】は未知の島を探検し、遺跡や財宝を探すゲームです。

島の地形やイベントはランダムに生成されます。
探検隊を指揮し、危険をくぐりぬけ、名誉を手に入れていきます。

探検の準備

探検を成功させるには、仲間、装備、道具が必要です。
これらは探検中にも手に入りますが、島に行く前に街でも用意できます。

街では仲間を雇ったり、装備品を購入したりと探検の成功率を高めるようにしっかりと準備を行います。


探検に成功するとスポンサーのレベルが上がり、雇える仲間や使える道具は増えていきます。

街での準備が終われば、次に探検する島を決めます。

島によって、測量を行う、ピラミッドを探す、怪物を倒すといったメインの目標が異なり、地形も砂漠だったり、ジャングルだったり、洞窟だったりと特徴の違う場所を探検することになります。

そして、3つのスポンサーから1つを選びます。
島に上陸する前に予算を使って、救急箱や松明といった使い捨ての道具を購入するのですが、選んだスポンサーによって、異なる道具がいくつか追加されます。

探検

島は6角形のマスで構成されています。

最初は島のどこになにがあるかはまったくわからない状態ですが、移動して見える範囲が広がると、どんどん地形が判明していきます。

高台に上がれば、見える範囲は広がりますし、山があれば視界を遮られます。

視界が広がれば、なにかありそうなロケーションも見つかります。

そのようなロケーションに近付けば、実際になにがあるのかがわかり、調査することでランダムなイベントが発生します。

探検隊は移動ごとに正気度を失っていきます。
沼地や砂漠など移動の難しい地形ほど正気度を失います。
正気度が0になったからといって即座に探検に失敗するわけではありませんが、そのまま移動を続けていると、ペナルティとして狂気イベントが起きてしまいます。

正気度は食糧を食べたり、村や温泉などの特定のロケーションで休憩することで回復します。

しかし、休憩しすぎて探検に日数をかけすぎると、島の周りから紫の霧が押し寄せてくるので、あまりゆっくりもしていられません。

霧がかかると、移動する時に大きく正気度を失いますし、道を見失う事もあります。

島の危険は狂気だけではありません。
あちこちに危険な生物がいて、攻撃を受けることもあります。

ただ、敵対的な生物だけではなく、協力的な原住民や商人などと出会うこともあります。
原住民や商人とは友好的に接し、取引などを行うこともできますし、盗みをおこなったり、原住民が大切にしている神殿から財宝を奪ったりもできます。

そうして、島の探索を続け、目的を達成すれば探検の成功です。
それまでに得た財宝などが清算され、名誉と街での準備に使えるチケットになります。

ほとんどの道具はこの清算時にスポンサーに渡され、次の探検時には使えなくなります。

ロケーションの調査と戦闘

探検隊のメンバーは手に持った装備と自分自身のレベルによって、最高2つのサイコロが与えられます。ロケーションの調査時も戦闘時も、このサイコロを振ることで成功判定がおこなわれます。

サイコロには赤、緑、青の目があり、調査の成功には指定された数、指定された色の目を出す必要があります。

赤は狩りや力比べなど戦闘に関するものが、緑は神殿内の捜索や難破船の調査など探索に関するもの、青は説得など交渉に関連するイベントで要求されます。

戦闘は色だけでなく、目の内容が重要になってきます。
同じ赤色の目でも、ダメージを与えるものや、状態異常を与えるもの、回復を行うものなど、目の種類は様々です。

ターンの最初にサイコロを振り、出た目を消費して、敵と戦います。

レベルによっては、同じ色の目を使って、効果を上げることも出来ます。

探検隊のメンバーと装備

探検隊のメンバー達は様々な職業を持っています。
そして、その職業によってスキルやサイコロに違いがあります。

例えば、商人なら取引で対価を安くできますが、直接敵を攻撃するようなダイス目がなかったりします。

兵士では、銃の攻撃力を上げるスキルを持ち、ダイス目もダメージを与えるものしかありません。

探検隊は手と身体に1つずつ装備を付けることができます。手の装備品は使えるサイコロを1つ増やします。

装備品によっても様々な効果や目の種類があります。

また、探検隊に加えられるのは人間だけではありません。
原住民には人間でない種族がいますし、人間よりも荷物を多く運べるロバや、装備がなくてもサイコロを2つ使える犬などもいます。

職業や装備品によって、探検中の役割が大きく変わります。

遊べるゲームモード

現在はキャンペーンと主催者モードという2つのゲームモードがあります。

キャンペーンにはストーリーがあり、数回の探検ごとに、ストーリーを追うための探検が起きます。

一方主催者モードにはストーリーはありません。
こちらは数回の探索ごとに、戦闘がむずかしくなったり、霧の進行が早くなったりするデメリットを付与されながら探検を続けていくモードです。

感想

地形の構成やイベントなど、ランダムな要素は多いのですが、チームの構成やリソースのやりくり、ロケーションでの判断など、探検全体としてはプレイヤーの判断が大きく影響するため、リプレイ性も戦略性もあるゲームになっています。

1つの島を探検する時間は短ければ10分程、戦闘が多くなりプレイ時間が少し長くなっても30分前後とダレる前に1つの探検が終わり、またすぐ次の探検にでたくなります。

探検は狂気に悩まされ、メンバーに多数の死者が出たりしますが、何を切り捨てるかや、探検自体をあきらめるかなどを考えるのも楽しい体験でした。

2021/05/10

【A列車で行こう はじまる観光計画】達人攻略ガイド マップ「走れ、野球鉄道」


 クリア条件

このマップのクリア条件は、スタジアム前の駅の年間利用客数300万人以上、年間鉄道利益50億円以上、年間売上高500億円以上の3つです。

どれも難しい条件ですが、中でも鉄道利益50億円以上の難易度が高く、ただ列車を走らせるだけでなく、多少のダイヤ調整も必要になってきます。

1年目はとにかく資金稼ぎと、鉄道の拡張を行い、2年目にクリアできるようにしていきましょう。

最初の敷設

いつものように限界まで融資を受け、株式購入で大急建設と太平洋レールを購入します。
それから既存の鉄道を利用し、南の都市から北の都市までを繋ぐ長い複線を敷設しましょう。

スタジアムの少し南に駅を追加し、スタジアムとこの駅だけはホームを3つにしておきます。この2駅の間だけ、貨物列車で資材を運ばせます。


スタジアムから北の複線には、駅を3つほど建設します。
今後、東側と西側の街から、この部分に乗客を運んでくる予定です。




スタジアム前は、立地が良く、ここに商業施設を建てては売却して資金を稼ぎます。
大量のビルを建てれば、スタジアムも黒字化します。

すばやくビルを建設するため、ここに資材を持ってきます。
資材はスタジアムの南側の工業地帯のものを使います。

また、この近くには物流センターもあります。
この物流センターまで、トラックで海産物と農産物を運びましょう。

物流センターから西に漁港が、物流センターから南東にある農業組合があります。

資金稼ぎ

行政施策を受けて、スタジアム前に中層ビルを建てます。
中層ビルを売却してから、複線の列車を走らせ始めます。

3両編成の特急を2本走らせてください。
状況を見て特急の編成や本数を増やしていきます。

スタジアムの近くに遊園地を建てると、観光客を増やせます。
特急で儲けるには、できるだけ乗客でいっぱいの状況を続けたいので、資金の様子を見て建てておきましょう。

それから資材の生産量を増やします。
行政施策を受け、工業地帯に資材工場1を2つと、資材工場2を1つ建設してください。

この後は、とにかくスタジアム前の商業施設でお金を稼ぎます。

鉄道の拡張

鉄道は最初の複線だけではまったく足りていません。
どんどん拡張する必要があります。

神社へ向かう環状線

まずは、スタジアム前から神社へ鉄道を伸ばします。
複線の一部を共有し、スタジアムの南側から分岐し、神社を通ってスタジアムの北側へ回ってくる環状線を作ります。



ここに普及型の列車を一本走らせておきます。複線部分を逆走しないように、走る方向には気を付けてください。観光客が増えてくると、神社を回る環状線の乗客数も増えます。

普及型が黒字になりはじめたら、普及型の撤去し、特急を走らせてください。
ただし、乗客の少ない時間帯に走らせてしまうとあまり利益がでません。

単純に営業時間を短くしてしまうと、複線上で休止し、列車の運行を滞らせてしまう場合があります。同じ列車で休止するように、特定の駅で発車時刻を設定しておきます。

環状線を1周する時間を計り、1日に何回か発車するようにしておきます。

隣町への接続

その後、東街と西街から観光客を運びましょう。
東街とは線路を繋ぎます。

資金が十分にあれば、複線で繋ぐと複数の列車を走らせられますが、信号場で待たせれば、単線でも複数の列車を走らせられます。

早く着く側のホームを到着待ち、後から着く側を発車待ちにしておけば、ここで列車がすれ違います。

ただし、この信号場で営業終了してしまうと、どちらのホームからも発車しなくなってしまうので、営業終了時は違う駅で休止するか、24時間運転し続ける必要があります。

西の街は小さいので、バスで運びます。最初から道路が繋がっているので、駅まで道路を伸ばし、バスを走らせましょう。

東と西の街から観光客が来るようになれば、南北に伸びる複線にたくさんの観光客が来るようになります。特急の本数を増やしたり、編成数を増やしましょう。

南東と北東の鉄道

次に、マップ南東の観光地に鉄道を敷設します。
観光地を通り、東の街から南の街まで走る短い線路を引きます。

さらに、マップ北東にも東の街から北の街までを繋ぐ短い線路を引いてください。

この二つの鉄道には、特急を走らせます。
ここでは、乗客をたくさん運ぶのではなく、特急の乗車率が上がるように営業時間を決めます。朝8時から夜の8時ぐらいです。

どちらの線路にも6本くらい特急を走らせたいです。
列車の本数の限度を越えてくるので、プランで車両保管庫拡張を実行しておきます。

最終的に特急は、複線に12本、環状線に2本、北東に6本、南東に6本、運行させます。
これでスタジアム前の駅に、1日約1万5千人くらい、鉄道利益は1月に5億以上になり、年間利用客数と鉄道利益のクリア条件が達成できるようになります。

売上を上げる

売上条件を達成するには、資源を消費しつづけ、持ち子会社を増さなければいけません。

一番簡単なのは貿易港を利用することです。

資金を貯めて、資材工場の近くに貿易港を誘致しましょう。
貿易港の誘致には120日かかるので、できるだけ1年目の年始までにはプランの実行をしておくのがベストです。

港が誘致されたなら、物流センターに運んでいる海産物、農産物はこちらにまわします。
また、資材も出来る限り海外に売却していきます。

貿易によって、かなり利益もでるので、その資金を使ってスタジアム前に子会社を建て、経営方針を売上重視にして子会社の売上も増やしていきましょう。
最終的には資源売上と子会社売上だけで、月に60億円くらいにできます。



2年目にこの状況であれば、クリアできます。

【A列車で行こう はじまる観光計画】記事一覧