その1 その2 その3 その4
Galshellのもとになったゲームについて、二回目です。
あらためて実機でプレイしてみたところ、「あー、やっぱりこんなものか」と思いました。
いや、当時の自分は傑作だと思ってましたよ。
特にラスボスとの対決などは
・敵の幼生体が襲い掛かってくる最終ステージ(R-TYPEのパクリ)
・敵怪生物の成長過程が壁画調の背景に描かれる(ラブクラフトのパクリ)
・ラスボス登場
・先発隊である新型機4機が敵ボスの護衛として登場(妄想設定→地球防衛軍は敵を奴隷化しオプションとして支配したと思っていたが、実は逆に支配されていた。主人公は気が狂っていたので念波力が敵よりも強く、支配を受け付けなかった)
・護衛ともどもボスを倒す。
・ボスの本体は巨大な自機の形だった(ファンタジーゾーンのパクリ。しかも同じ姿である意味ないし)
・主人公脱出
・しかしその前に立ちはだかる真のボスが!!
という感じでした。これは今の僕がみてもゾクゾクする展開ですよ。(パクリが多いけど、それも、たまには、よし)
このゲームは僕がはじめて「自信を持って公開できる!」と思ったゲームです。今思えばとても自信を持って公開するようなシロモノじゃないんですが、まぁ当時はそういう気持ちでした。これ以前にもいろいろ作っていたもののちょっとしたミニゲームといったレベルで、自信をもって公開できるようなものではありませんでした。わかりやすくいえば「有料の同人ソフト」のレベルに達していないという感じです。自分でもそれはわかっていたけど「達人と凡人の壁」がどうにも超えられず、きちんとした作品は作れなかったのです。
達人と凡人の壁ってなんだ?と思う人もいるだろうから例を挙げてみると、グラフィックの読み込みや表示ができない、スプライトの定義方法さえわからない、などです。これはマニュアルやベーマガを読むだけでは超えられない壁でした。
68はユーザー次第でなんでもできるということがウリだったんですが、実のところ入り口の敷居がものすごく高かったのです。そのためパソコンの勉強をしようと思って購入した人も瞬く間にゲームユーザーになってしまいました。
僕の通っていた高校では68がかなり流行っていて、各クラス5人は68ユーザーがいるという状況でした。プログラムをおぼえよう、ゲームを作ろうと思っていた人もいたんですが、全員が挫折しました。ポケコンやMSXではちょっとしたものが作れるのに、68では挫折してしまうのです。ほんとうに素人には歯が立たなかった。
活用できたのはMSX等で技術を磨いていた人たちでしょう。もちろん68から入ってすごい技術を身につけた人も大勢いたと思いますが、それはやっぱり素質があったんだろうと思います。
それでも絵が表示できなかったりスプライトが定義できなかったりするのは問題なので、僕はグラフィックについては自前の簡易ペイントツールを作成しそれを使って表示し、スプライトはデータをソース中に埋め込んで力技で定義していました。
自前のツールなんてすごいじゃん、と思うのは甘いです。これが強烈にしょぼいもので、直線や塗りつぶしの座標を全部記録しながら描いていき、ゲームで表示するときはline命令やpaint命令に座標を流し込んで描画させるというものでした。複雑な絵ほど容量と描画時間が増えるわけです。つまり子供の落書き程度の絵しか描けないのでした。
絵の表示もスプライトの定義もできる人には息を吸うのと同じくらい簡単なことなのに、できない人には逆立ちしてもできないことでした。こういうことを解説した本や文書は手に入らなかったのです。当時バリバリプログラムしていた人たちには「そうか??」という感じでしょうが、できない人というのはほんとに暗闇の中を手探りで進むような状態でした。
それが、パソコン通信で知識や人脈を得て、このゲームでようやく人並みのものができるようになったわけです。
僕がなぜ技術的に成長できなかったのかを冷静に考えてみると、ファイル入出力関係が苦手だったからではないかと思います。当時のプログラム勉強法は雑誌投稿ゲームプログラムを解読することでした。雑誌のプログラムはソース一本で完結するように作られているため、外部にデータを持つという考え自体が異質なものでした。そういう方法があることは知っていても、機械語的な知識を要する高度なものだという印象でした。(データを16進数として扱うため、難解だという先入観があった) データ形式とかフォーマットを理解し、データにあわせて読み込みプログラムを作るというのが初心者には理解しがたいのだと思います。
ようするに勉強不足・応用力不足で、それこそ知識のある人にはどこが悩むポイントなのか理解に苦しむことだと思いますが、まさにこれが僕の感じた「壁」だったわけです。僕と同じくこのあたりでつまづいた人は多いんじゃないかなぁと思いますね。
これは、できる人にはなぜわからないのかが疑問だろうし、画像表示やファイル入出力からプログラムを学ぶ今の人には理解が難しいだろうなと思います。ベーマガ世代の落ちこぼれならでは悩みです。
逆にアルゴリズム的なものはそれなりにわかっていて、シューティングでも格闘で作ることができました。68で最初に作ったゲームは隕石避けゲームで、二番目は対戦型格闘ゲームです。その後シューティングや一対多数の格闘ゲームも作りました。ゲームセンターで動いてるゲームの仕組みを理解し再現するのは楽しかった。
でもファイル読み込み等ができなかったせいで、見た目がしょぼくデータ量の少ないゲームしか作れなかったわけです。
ちなみに今でもファイル入出力には苦手意識を持っています。特に日本語の2バイトデータを扱うのは超苦手。ちょっとまちがえるとOSごとおかしくなってしまうあたりがおそろしい。
つづく。
参考になったらクリック!!
2008 年 4 月 14 日
Galshell以前 2
コメントはまだありません »
No comments yet.
RSS feed for comments on this post. TrackBack URL