プログラミングを始めてみると
プログラムは計算式の実行
であることに気付くと思います
ゲームのプレイ画面では
キャラクターがマップ上を
歩いたりしているのに・・
プログラムには
足したり引いたり
ループしたりの計算式しか無いし・・
マップ上を歩かせる計算式なんて
存在しないじゃん・・
計算式ばかり覚えても
ゲームが作れるとは思えないんだけど・・
そんなことは無いんです
概念(考え方)とアルゴリズム(手順)
さえ分かれば
計算式の応用でゲームは作れます
じゃあ一体・・
どういう仕組みで
キャラクターはマップを移動しているの??
● 概念(考え方)●
キャラクターは
マップに見える数字の上を移動しています
その数字とは
地形の種類や高さ
通れる通れないなどを判断する数字です
実際にキャラクターの周囲を数値化してみましょう・・
キャラクターの座標(現在いる場所)を
中心2として
上下左右の地形が
進める場所なら1
進めない場所なら0とします
1
021
0
この場合、キャラクターは
上の1と右の1に
進むことができます
左の0と下の0には
進むことができません
この数字を
0は壁、1は平地など・・
画像で表示したものが
マップになります
ゲームでは
このように数字が並べられたマップ上を
キャラクターが歩いていたり
配置されたりします
● アルゴリズム(手順)●
考え方について少し理解できたら
次はアルゴリズムです
たとえば平地を1という数字
壁を2という数字
何も存在しない場所を0とします
00000000
02222220
02111120
02111120
02111120
02211220
00000000
このように数字を並べてみたものを
適当な画像で表示してみます
ん・・?
はむはむ♪の家の中じゃないの・・?
そうです
数字の羅列を画像表示したものが
ゲーム画面になるのです
見せ方を変えると・・
こんな感じになります
ちなみにどちらの画像も
数字の配列は同じものです
数字を配列化して
マップとして認識できるものにすることを
このコンテンツではマッピングと呼びます
先ほどの数字配列に
キャラクターを●として配置します
00000000
02222220
021●1120
02111120
02111120
02211220
00000000
キャラクター●は
x座標(左から数えて)4
y座標(上から数えて)3
に居ることになります
キャラクターのx、y座標の位置を変えることによって
キャラクターはマップ上を歩くのです
・数字を配列化してマッピング
・キャラクター位置を指定
・進む際の条件式を作る
これらが揃えばマップの上にいる
キャラクターを歩行させることができます
マップを進む条件式の簡単な説明としては ・・
キャラクターのy座標(上から数えた場所)
が、1減るとその先は壁なので進めない
よって1減らさない
x座標が1増えると
平地なので進めるのでx座標を1足す
という感じになります
以上がマッピングと
キャラクターがマップ上を歩くためのアルゴリズムです
この動画は
この章の解説を出来るだけ分かりやすく示したものです
実際のゲームでキャラクターが
数値化されたマップの上を歩く様子も
動画に収録しています
その3-2では
このコーナーで解説したものを
実際にプログラムに組み込む方法
プログラムへの実装について解説します!