カベジマ研究所2

Legasyswareのゲーム開発と日常をゆるく適当に綴っていくブログ

最近の活動

ヨムダケの途中版を公開したあと、何か別のテーマに取り組みたいと

ずっとテストしていたパックマンタイプのゲーム、一応完成。

 

これは公開を目的としていないのでゲームとしての完成度や

キャラクタービジュアルなどは削りだしたまんまにしてある。

パックマンのキャラクターはナムコのものなので勝手に使えないし)

 

今回のテーマは「迷路のマス目に沿ってスムーズに移動させる」

と言うもの。

 

ゲーム開発ツールには大抵キャラクターの8方向移動が最初から

用意されていて、開発者が自作する機会は少ないと思う。

 

でもそれは2Dシューティングや見下ろし型のゲームの場合で

プラットフォーマーならばまた違う仕組みが必要となる。

さりとてメジャーなジャンルの動作であればなにかしらで

フォローはされているだろう。

 

しかし・・・かつては普通であったマス目ごとのキャラ移動・・・

ドラゴンクエストなどでお馴染みのアレだ。

 

そのマス目移動は単なる8方向動作では実現できない。

たまにフリーゲームなどで「パックマン風」などと説明される

ドットイートアクションがあるが、その多くはパックマンの移動を

再現したものではなく、迷路の壁を擦りながら無理やり進む、

FC版ボンバーマンタイプの移動方式となっている。

 

レガシーシステムで動作するパックマンの移動は自作しなければ

ゲームに組み込めないのだ。

 

そしてパックマンの移動方式はドラクエのマス目移動とは異なる。

左は単純なマス目で区切られたフィールド、右はマス目と壁が

同居するパックマン固有のフィールドだ。

これをどうプログラムするか?

 

結局のところ、今回のゲームでは48ピクセル毎に入力を

受け付けるだけなのだが、それだと曲がれるタイミングにビタで

キー入力されないとキャラクターは90度曲がれない。

 

その為先行入力を可能にしたのだが・・・実際のパックマンでは

その場で素早く反転する事ができる。

 

先行入力での定位置90度ターンの他にその場反転にも対応し、

更には壁がある側にはキャラが向けないようにしなければいけない。

 

それにモンスターの移動も考えなければ・・・

 

古典的なゲームのくせにやらなければいけない事は結構多い。

正直弾幕シューティングを作る方が面倒が無いと思う。

 

そんなわけで自分はパックマンの完全再現を目指したわけでは無いので

今回のチャレンジはこれで終了だが、腕に自身のある方は挑戦してみては

いかがだろうか?

 

そんな訳でそろそろメインプロジェクトに戻ろうか・・・

いや、あのゲームの検証もしたいな・・・