第05章 デジタル世界は牛乳パックで作られる②
牛乳パック(オブジェクト)を好きなように作り替え、どんなルールで動くのかを決めていく。それを積み重ねていくのがゲーム作りだとイッQは言い、次に壱人のゲームに必要なものを作成しようという事になった。
「お前のカードゲームはトランプがベースだから、まず普通のトランプを作ってみよう」
これが小説なら「トランプがここにある」と書けば済むが、それは書き手も読み手もトランプがどういうものか知ってるからだ。しかしプログラムではそうはいかない。必要な要素を全部こちらで用意しなければならない。そうしなければトランプと名前の付いたただの牛乳パックでしかないのだ。
トランプは、52枚+αのカードが1セットになった集合体だ。今回はαの部分は考えない事にする。
52枚のカードは、模様と数字の要素を持っている。模様はハート、スペード、ダイヤ、クローバーの4種類。数字は1~13。
「まずは1枚目のカードを作ろう。ハートのAだ。模様はハートで、数字は1に設定する」
カード1枚目{
模様 = ハート;
数字 = 1;
};
これを52枚行う事で、それぞれの要素が設定される。
そして、それらがバラバラなオブジェクトでは無く、1組のものとする為に、52枚のカードを内包するオブジェクトを新しく作る。これがトランプのデッキになる。
デッキ{
カード52枚;
};
更にデッキには“シャッフル”、”手札を配る”、“山札から手札にカードを加える”などの「動き」が必要になる。この「動き」を付けてやることで、牛乳パック=オブジェクトは動く事が出来るのだ。
「それじゃあ、シャッフルを作ってみようか。まずは52枚全てが揃っている状態のシャッフルを考えよう」
イッQが説明を続ける。
カードは整然と並んでいるので、その順番を入れ替える。
カード1枚目の順番の数字は「1」。これを別の数字に変更する。自分で考えて変えてもいいが、「乱数」という“ひみ〇道具”を使うと便利だ。乱数はビンゴの抽選機のようなもので、無秩序な数字を出してくれる。
※“ひみ〇道具”の説明については第03章を参照してください。
カード1枚目の順番の数字 = 1~52のどれか(乱数使用)
これをまた52回繰り返して、全てのカードの順番を入れ替えると、シャッフルした事になる訳だ。
「こんな感じで、必要な『動き』…メンバ関数とかメソッドと呼ばれるものを作っていくんだ」
他にも、模様や数字が同じか比較したり、数字が並んでいるのか調べるもの、山札や手札の状態などの色々な情報を管理するものが必要だとイッQは言った。
「トランプを作るだけでも、結構大変なんだな」
それが説明を聞いていた壱人の感想だった。何となく思っていたものと違う。もっとポンポンと簡単に出来るのかと思っていたのだ。
「それって見た目はどうなるの?」
「見た目は変わらないかな…中の数字が変化するだけだから」
壱人の不意の質問に戸惑いながらイッQは答える。
「見た目を変えたいなら、別の『動き』を作らないと。でもまずは基本の処理を作った方が…」
その答えを聞いて、壱人はイッQの言葉を遮って正直な感想を口に出した。
「プログラムって面倒な割に地味なんだね」
その一言にイッQは動揺した。
「確かにその通りなんだけど、この一つ一つを作る感じが良いんじゃないか」
慌ててプログラムを擁護する。しかし次の言葉は、却って壱人の意欲を下げてしまった。
「大体、プログラムなんて99%は目に見えない作業だよ!」
イラストならラフや下書きなどで、途中経過を見せる事が出来るが、プログラムが途中のものはほとんど動かないかおかしな動きしかしない。かと言ってコードなんか見せても何をしているかなど判ってはもらえないのだ。
見えない部分がしっかりしていないと正常に動くものは出来ない。だから土台をきちんと作り込んだ方が良いとイッQは主張した。
「っていうか、人に見せられるような形になってたら、作業なんてほとんど終わってるんだよ!」
「でも動いてないとちゃんと出来てるかどうか判らないじゃないか!」
二人の言い合いは続く。
「目に見えるものが美しいからといって、それが全てじゃないんだ。それ以外の見えない部分の方が大切な事だってあるんだよ」
「イッQさん、そのネタ誰にも分からないよ。俺すら出典を忘れてるよ!」
(※作者注)本当に忘れました。ご存知の方がいればご一報ください。
「とにかく 動けばいいというやり方だとどこかで破綻するんだ。目に見えなくても、進んでいるか判らないかもしれないけど、完成形を考えながら続ける事が一番大事なんだ。そういう地道な努力がゲームを完成させるんだよ!」
「偉そうな事を言ってるけど、イッQさんはゲームを完成させてないじゃないか!」
「う、それは…」
「どうせその地味な作業が嫌になって中断ばっかりしてたんたろ!」
その壱人の指摘は、思ったよりもイッQの心に深く突き刺さった。途端に勢いはなくなり、声が小さくなる。
「そうだよ…ゲームを完成させてない俺が何言っても説得力なんか無いよ!」
震える声でそう言って、イッQはドアを開けて外に飛び出してしまった。
「主人公のくせになんて酷い事を言うんだー!」
という捨て台詞と共に。
「いきなり泣きながら走り出さなくてもいいじゃないか…」
突然の出来事に呆気にとられた壱人はしばらくドアを見つめていた。
「今のは、壱人君がいけませんデスデス」
いつの間にかマイナマイナが壱人の後ろに立っていた。そして諭すように言う。
「先程の言葉は、壱人君にはただの事実かもしれません。しかし挫折したイッQさんには、人生全否定くらいのダメージを与えたのデスデス。なぜなら、それが本当の事だから」
そして溜息をつきながら付け足した。
「まったく主人公にあるまじき言動デスデスよ」
「今まで何一つ触れてなかったのに、突然、主人公扱いしないでください!」
それは冗談としてと一拍置いた後、もう一つの事実を告げる。
「あれはあなたの未来の姿なのデスデスよ。結局は自分に言っているのと同じなのデスデス」
確かに、曲がりなりにも10年間努力した後にあんな風に言われたらいたたまれない。悪い事をしてしまったと思った。
反省している壱人に、マイナマイナがさらに話しかける。
「それから、早くしないとイッQさんが子供達に見つかってしまいますデスデスよ」
それを聞いた壱人の背筋に冷たいものが走った。忘れているかもしれないが、イッQは、78cmミッQ美少女フィギュア(多少デフォルメ有)の姿なのだ。子供にしてみれば『動くおもちゃ』。見つかれば確実に取り囲まれてしまうのである。
飛び出したイッQは河原に座って考えていた。10年前の自分の言ったことは正しい。自分は結局ゲームを完成させられなかったのだから。
夕日を見ながら大きくため息をつく。
「なぜもっと頑張らなかったのか…」
いや、頑張ろうとはしていたのだ。ただ、やる気を出すのに、やる気を出すための行動が必要で、さらにその行動をするために準備が必要で、その準備の前に息抜きを、みたいな事をしてる内に結局何も出来なかったのだ。
「言い訳にすらなってないな」
やればやるだけ失敗して、どんどん意欲を無くしていき、最後は作るのが義務みたいになって少しも楽しく無かった事を思い出す。
しばらく考えた後、イッQは「こんなことしてる場合じゃない」と思い直し、壱人に謝る事にした。確かに動かないと面白くない。面白くないとやる気も出ない。あまり堅苦しく考えずに面白いところから作る事にしよう。せっかくもう一度ゲームを作るチャンスをもらったのだ。出来る限り頑張ってみよう。
部屋に戻ろうと立ち上がった時、イッQはやつらに囲まれている事にようやく気付いた。そう、子供!
数人の子供達がイッQをもの珍しそうに眺めている。迂闊に動けば異常な速さで体当たりされるだろう。
「しまった!こんなに接近されるまで気付かなかったなんて。もう少し距離があれば飛んで逃げれたのに」
考えあぐねている間にも、子供達はジリジリ近付いてくる。
その時、探しに来た壱人の声が聞こえた。
壱人はイッQを見つけると、子供達を通り越して傍まで近付く。そして「これはお兄ちゃんの人形だから」と抱きかかえて救出した。子供達は諦めきれない様子で壱人の周りにしばらく留まっていたが、しぶしぶ遠ざかっていった。小さくキモいという声が聞こえたが気のせいだろう。
子供達が離れたところでやっと声を掛ける。
「さあ、帰ろう」
しかしイッQは帰る前に言っておきたい事があると告げ、一度降ろしてもらった。
「さっきは悪かった」
先ほど決めた通り、まずは壱人に謝った。謝られた方は驚いてどう返事をしたものか迷っていたが、そのまま続ける。
「聞いてくれ。今の俺は、何かやろうとする度に失敗や不安が目の前をチラついて尻込みしてしまう。すぐに行動するというのが出来ない。だから、やる気や勢いを持っているお前が頼りなんだ!お願いだ。地味な作業も多いけど続けてくれ。俺もなるべく飽きさせないように工夫するから」
ゲームを完成させたいのはイッQも同じなのだと壱人は思った。もしかしたらイッQの方が真剣かもしれない。
「もちろんやるよ。絶対ゲームを完成させるって誓っただろ。それになんといっても主人公だからな」
壱人の言葉に勇気づけられる。この何も考えないで突っ走る力が必要なんだと思った。
「そうだ。俺がやる気を無くしたら怒っていいからな」
イッQを抱きかかえて河原を歩いていた壱人がふいに言った。その意味を理解はしたが返答に困る。
「俺が言える立場じゃ無いから…」
口ごもるイッQに壱人はこう提案した。
「それならミッQとして怒れば良いよ。そうだ『プQプQポーズ』で頼むよ。そうしたら素直に言う事が聞けそうだから」
プQプQ(プクプク)ポーズとは、ミッQの代表的なポーズの一つで怒った時に使用される。頬を膨らまし、両手を握り、肩の辺りまで腕を上げ、プQプQ言いながら両手を互い違いに上げ下げする。足の動きも付けば完璧。ミッQファンなら習得済である事が多い。
「いや無理だよ、普通の時は。気分が盛り上がってる時なら出来るけど」
「残念だな。ならいつでも良いから今度やってよ」
そんな話をしながら歩いていると、マイナマイナがヒヨコのような何かであるピヤ号と一緒に迎えにきたので、みんなで夕日を見ながら帰った。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます