漫画皇国

Yes!!漫画皇国!!!

Arduboyをゲットした話、あるいはゲーム作りをゲーム化する話

僕が考えるところのゲームとは?

 多分何回か書いていますが、僕はゲームの最小単位、つまり、僕がゲームと認識しているものから、可能な限りあらゆる条件を剥ぎ取っても最後に残るものを、「プレイヤーが入力して、画面に何らかの反応が返ってくること」だと思っています。そして、そこにもう一つだけ足させてもらうなら、「プレイヤーが返ってきた画面を見て、次はもっとよい反応が返ってくるように入力を修正する」ってことなんじゃないかと思います。この入力と出力のループを無限に繰り返すことをゲームだとして考えると、なんとビデオゲーム以外も多くのものが実はゲームです。

 

 例えばこの意味においてプログラミングはゲームです。ある仕様に基づいたものを作ろうとして、とりあえずプログラムを組んでみます。しかし、僕がへぼいこともあり、一発で完璧に動くことはまれです。そこには何か見落としがあったりして、画面表示やデバッグログなどの出てきた結果を確認して、問題点を発見し、修正して、また実行します。その繰り返しの中、当初の意図通りに上手く動けばゲームクリアです。

 

 また、絵を描くこともゲームです。なんとなく「こんな絵を描きたい!」と思っても、僕がへぼいこともあり、頭に思い浮かんだものがそのまま描けるとは限りません。いや、そもそも僕の頭に思い浮かんだものの解像度が低いのです。そして一方、現実の世界はもっとずっと解像度が高いのです。つまり低解像度の脳内イメージを、高解像度の紙の上で再現しようとしたときに、その差を埋める段階で初めて分かることが多々あります。なので、僕の場合は一発で完成を目指さず、とりあえず描いたあと、良くない部分を発見して、それを修正することを繰り返して、目当ての絵に近づくことを目指します。散々修正したあと、これ以上はどう直しても良くはならないという自分の限界に気づいた時、絵は完成し、そのゲームはクリアとなります。

 こう考えると、絵はアナログで描くより、デジタルで描く方がよりゲームっぽくなります。なぜなら、修正作業が容易だからです。鉛筆で描いた線は消しゴムで消えますが、跡が残ります。ペンで描いた線は修正液で消せますが、修正された部分をもとの紙と完璧に同じように扱うことは困難です。水彩絵の具で一回塗ってしまえば、修正したいと思っても元の白い紙に戻すことはできません。しかしデジタルならば、完璧に元の状態に戻せます。よって、細かく何度も迅速にチャレンジすることができるのです。

 ゲームで言えば、失敗すればステージの最初からやりなおすゲーム(アナログ作画)と、その直前で復活できるゲーム(デジタル作画)のような違いです。そう、デジタルで絵を描くことはよりユーザフレンドリーなゲームであり、だから根性もなければ真剣みもない僕のような人間でも続けることができるのです。

 

 こういうことを考えていくと、ゲームを作ることは、実はそれ自体がゲームなんじゃないか?ということに気づきます。なぜなら、何もない状態から、ゲームの仕組みを創りだし、それを動かして、より面白くなる方向に修正していくという入力と出力のループがあるからです。そして、ゲームを作るという作業の中には、上述のプログラミングやデジタルで絵を描くことも含まれています。そう、だから、ゲームを作ることはおそらくとても楽しいことのはずです。なぜなら、ゲームを作ることはゲームだからです。

 

 ただし、ゲームといっても、楽しさがすぐに分かるゲームと、なかなか分からないゲームがあります。その原因はいくつか考えられますが、大きなもののひとつは、自分が行ったことの結果がすぐに分かるか、しばらく経たないと分からないかという部分でしょう。

 入出力ループを回すことをゲームとするならば、もし、入力に対応した出力が分かるのが何日も後だとすればどうでしょうか?再度入力をする気になるのも何日かに一回となってしまいます。想像してみましょう。ドラクエの戦闘で「たたかう」を選んで、敵にダメージが与えられたかどうかが分かるのが数日後だとした場合、そのゲームをクリアできる気がするでしょうか?よほどの根気がなければ不可能でしょう。

 これはゲームを作るというゲームにおいて、非常に重要な問題です。なぜなら、ゲームを作りたいと思ってから、画面上で何かが動き、それを修正するという、出力が容易に得られる段階に辿り着くまでに、非常に長い時間がかかってしまったとすると、多くの人はそのゲームの面白さが分かるまでにを待たずにやめてしまうと考えられるからです。その人が「根性なし」というのもそうかもしれません。しかし、たとえ根性なしだったとしても、それを楽しみたいのなら、この問題を解決する必要があります。

 

 一方、楽しさが分からなくなる原因は他にもあります。それは、出力を解釈する方法(それが正しいか正しくないか)が分からないことや、どのように修正すればいいかが分からないことなどです。この辺のスキルは、一朝一夕どうしようもないので、いきなりあまり大それたことをしようと思わないことが肝要かもしれません。

 

 ともあれ、何かをやって、それがどのように動いて、それを見て、次に何を変えればいいかを考えるというループを、迅速に回せるようになることがゲーム作りをゲームとして楽しむためには大事だと思いました。ゲーム化してしまえば、良い感じに楽しくなるので、無限に時間が注ぎ込めるようになります。

 

 最近はフリーのゲームエンジンも沢山あるので、色んな工程をすっとばしていきなり動くものを作れるという便利な時代です。僕も趣味で細々としたものを作ったりしていましたが、かなり便利です。Unityなんかにはアセットストアという様々なリソースを自分で作らなくても利用できる枠組みもあって、たいへん便利で素晴らしいなあと思います。しかし、それでもやはり、動かせるというところに至るまでに細々とした長い工程が挟まってしまうことがあります。そういうときに、僕は早く動かしてえ~と思ってしまうのです。

 余談ですが、僕が子供の頃、プログラミングを覚えるきっかけになったのが、当時通っていた中学校にあったMacintoshHyperCardです。このソフトウェアが素晴らしかったところに、動かせるまでの早さがあったと思います。HyperCardはその名の通り、PCの画面を1枚のカードに見立てるものです。そのカードにはペイント機能で自由に絵が描けます。そしてさらに、カードの上には、押すと何かを起こせるボタンや、文字列を表示できるフィールドも配置することができます。つまり、とりあえず絵を描き、ボタンを押せば別のカードに飛ぶように書けばすれば、選択肢によって分岐する簡単なアドベンチャーゲームを作ることができます。触ったことがなくても10分あればいけるので、それでぐいぐい引き込まれてしまいました。

 より高度なことはおいおい覚えていけばいいとして、とりあえず動くというところに到達することが重要だと思います。そして、動いて楽しくなるところに至るまで「待つ」ことができる忍耐力を持っているか否か。それは、何か新しいことにチャレンジする上で最も重要なことのひとつでしょう。ちなみに僕はあんまり持ち合わせていませんが。だからこそ、頑張らなくてもいい方法論に頼ります。

 

 そういえば、また話がそれるんですが、何かに対して、それが楽しくなるかならないかの見切りが早い人がいて、楽しくなるところにすぐに到達できないと、それを止めてしまったりします。ただ、それを見切る代わりに他の別のことに向かうのでしょうから、それが良い悪いとは一概に言い難いです。しかし、そういう人がなんか早く見切ったことを自慢げな物言いで言ったりすると、腹が立つことがあります。なぜなら、個人的に楽しくなるまで時間がかかったものの、素晴らしいと思ったものが沢山あるからです。そこに至りもしないで、そのものを否定する行為が、全く丁寧ではないと思い、ひるがえっては自分が好きなものを粗雑に扱われたと思います。だから、腹が立つんだと思います。

 

Arduboyをゲットしました

 ここまで3000字ぐらい書いてきてようやく本題なのですが、昨日、Arduboyというゲーム機をゲットしました。一年ぐらい前にKickstarterにバックして、忘れた頃にようやく届いたんですが、これはArduino(という組み込み系の便利な枠組み)をベースにしたポータブルゲーム機です。

 

 

 これがすごく良いのですが、何が良いかというと、できることがすごく限られていることです。画面の広さは128×64しかありませんし、書込めるプログラムも32KBの容量が限界です。ドラゴンクエスト1が64KBの容量であったことを、今から振り返ればすごく小さいと皆さん思うでしょうが、こちらはそのさらに半分です。ボタンも十字キーとABボタンしかありません。スタートボタンもありませんし、ボリュームも調整できません。イヤホンも挿せません。音も同時に鳴らせるのは2音だけです。

 しかし、できることの品質は充分です。調達に苦労したというOLEDのディスプレイは、自発光であるため、暗い場所でとても美しく光ります。ボタンのクリック感も良い感じです。そして、スイッチを入れれば、ものの6秒ぐらいで動き出すのも小気味良いです。microUSB端子をPCに直結すれば、充電ができます。そして、arduinoの開発環境を入れればそのケーブルを通じてすぐに中身を入れ替えることができます。なにより小さくて可愛い!!

 作ったものが持ち歩けて、物理ボタンで操作できる。こういうのが欲しかったのです。一時期のdocomoの携帯のiアプリとかは割とこれに近かったのですが、今では廃れてしまいました。

 

 さて、できることが限られていると、必然的にどのように使うかを考える方法がシンプルになります。この枠組みの中で何が作れるかを考えると、色々できなくて仕方ないなあなどと思いながら、一直線に結論に至れます。画像に凝ったり音に凝ったりも頑張ればできるとは思いますが、難しいので後回しです。つまりできることが制限されているために、へぼい僕は動かすところまで一足飛びにいかざるを得ないのです。そして、修正も方法が限られているので、あんまり大掛かりなことを考える余地がありません。ちょっと取っついて、すぐに結果が出るということを短時間で繰り返せるので、ゲームを作るというゲームとしてはとてもお手軽でいいですね。

 

 昨日の昼過ぎにArduboyの入った小包が届いて一通り動作確認したあと、ご飯を食べに外出しながら何を作ってみるかを考えて、帰ってきてから1時間ぐらいでひとつゲームを作りました。間に合わせのつぎはぎでめっちゃ雑ですが、なんとなく僕が考えたゲームっぽさ(つまり、入力と出力のペア)は作れました。

 

 

 これはどんなゲームかというと、0から9の数字が上からじりじり降りてくるので、右下の数字を十字キーの上下で消したい数字に合わせてBボタンを押すと消えるというものです。画面に迫ってくる数字があって、それを見てどれを消すかを判断、ボタンで選択して消すというただそれだけの無限の繰り返しです。

 ですが、上から降りてくる数字の速度がちょうどよく設定されていると、

  1. 画面出力を判断して、
  2. 行動を決定し、
  3. ボタン入力したあと、
  4. 結果を確認する

というサイクルを自分の感覚でぎりぎり処理できる感じに回すことができます。これだけで、自分で遊ぶ限りでは数分ぐらいは間が持ちます。僕はこのArduboyで自分が暇つぶしにできるゲームを作りたいので、最終的に15分ぐらい間がもつゲームになったら完成だ!ということにしようと思っています。

 

 その後、戯れに消えた数を音の高さで把握できるようにしてみたり、消えるときに適当なエフェクトを試しにつけてみたりもしました。

 

 

 それで、この先、どうするかなんですが、とりあえず数字を消すと右下にパワーゲージが伸びていくようにしてみました。これが貯まったところで何かが出来るようにしてみると、「目の前の数字の処理に対応すること」と、「ゲージが貯まったときにすること」の、周期が異なる二重のループをゲームプレイの中に作れるので、上手くしたら15分ぐらい間が持つんじゃないかなあと思っています。しかし、まだこのゲージを何に使うのかを決めていません。

 

 このように、家にArduboyが来たことで、雑なゲームを雑に作って遊ぶと言うゲームがお手軽にできるようになりました。作ったゲームがある程度遊べる感じになったら、友達のところの子供とかに遊んでもらったりしたいと思っています。2台手に入れたので、1台をあげてもいいかもしれません。それもまたゲームです。

 

まとめ

 僕が思うに、世の中の大体のことは僕が自分勝手に定義した意味で「ゲーム」だと思います。「ゲーミフィケーション」という一瞬流行ったものの、実用的にはあんまり上手く行ってなさそうな言葉がありますが、僕が考えるゲームの意味はそのとき言われていたこととは違うと思っていて、そもそも世の中の色んなものはゲーム化する以前に既にとっくにゲームなんだと思います。

 しかし、そのゲームに夢中になるためには、「自分が行動したという結果が、何かに反映されて確認できる」ということ、「そこに見つけた問題を自分で発見し、修正できる」ということ、そして、「何度も一度チャレンジできる」という条件が満たされていることが重要です。これらが満たされていれば、ゲームを作ることも楽しいゲームです。まあ、別に作らなくても、次に遊ぶゲームを見つけることだけでも楽しいゲームかもしれません。

 この辺を上手く調整することができれば、つまらないと思っていた何かも、面白くて楽しいゲームとして捉えることができるかもしれません。しかし、世の中はそう上手くはいかない。自分の行動の結果が、ずっと先にならないと分からなかったり、そもそも結果を教えて貰えなかったりします。原因の調査や解決を他人に任せなくてはいけなかったり、一回こっきりで次のチャレンジを許されないかもしれません。それは仮にゲームだとしても、夢中になりにくいゲームです。このように、世の中はままなりませんが、自分が目の前のことを楽しめないとき、では、何の条件が欠けているせいで、それが夢中になれるゲームではないのか?を考えると、そこから抜け出すための糸口になるかもしれませんね。

 なんかいい話を書いたような気がするので、今日のところはこの辺で終わりにします。