ひろゆき(西村博之)氏は、巨大掲示板「2ちゃんねる」の開設者であり、日本のインターネットの黎明期の文化に多大な影響を与えた人物のひとり。ニコニコ動画の立ち上げ&運営にも関わったのち、現在は拠点をフランスに置き、日仏を往復しながら、さまざまな活動を行っている。
そんな氏が、気になったゲームをサクッと遊んでレビュー。氏独特の視点で語ることで、ゲームに新たな発見があるのでは? というのがこの不定期連載の目指すところだ。
警察のデータベースを漁って真相特定。ひろゆきが話題のゲーム『Her Story』をレビューしてみたってよ
今回、氏が目を付けたのは、『ヒューマン・リソース・マシーン』という、わずか3人からなるアメリカのインディーデベロッパー、Tomorrow Corporationによってリリースされたある種のパズルゲーム。2015年10月16日にSteamに登場したオリジナル作をNintendo Switchのダウンロード専用ソフトとして日本語化し、2017年6月8日にリリースしたものだ。
会社員となったプレイヤーは、エアチューブの中を書類が飛び交う、なんだか忙しそうなオフィスで、上司に提示された課題に対して、プログラマー的なロジックで解答を用意することになる。
やることはプログラミングだが、難しい専門知識などはとくに必要なし。addやjumpなど、都度都度現れるコマンドを組み合わせ、解法を導き出すのだ。単純なだけに、腕前によってかなり洗練された解法や泥臭い解法になり得るのだが、ひろゆき氏は果たして……。(編集部)
文/ひろゆき
「自分は天才ではない」と自覚したプログラム
こんにちは。小学生のときからプログラマーなひろゆきです。
今回はNintendo Switchの話題作、『ヒューマン・リソース・マシーン』【※】を紹介しますが、その前に「プログラムとは?」ということから語ってみたいと思います。
おいらが小学生だった1980年代には、インターネットなどなく、おいらも最初はパソコン雑誌にテキストで載っているプログラムを見て、手で打ち込んでゲームをするという感じだったのですね。
これをくり返し、しょうもないプログラムぐらいは書けるようになったのですが、ある日読んだMSXマガジン【※】という雑誌に載っていたプログラムを見て、「プログラマーとして自分は天才ではない」という自覚をしたのです。
その当時のパソコンのゲームというのは、テンキーの「4」を押すとキャラクターが左に1ドット動き、「6」のキーを押すと右に1ドット動くという処理をしたものが多かったのですね。この処理を言葉で説明すると、こんな感じです。
もし「4」が押されていたら、キャラクターの座標から1を引いて左に1ドット動かす。
↓
「4」以外だったら、何もしない。
↓
もし「6」が押されていたら、キャラクターの座標に1を足して右に1ドット動かす。
↓
「6」以外だったら、何もしない。
この処理は、ほとんどのプログラマーが思いつく一般的な方法なんですね。ところが、そのときおいらが見たプログラムは、
押されたキーから5を引いて、キャラクターの座標に足す。
という処理だったのです。
たとえば「6」が押されていたら、6−5=1ということで、キャラクターの座標が1足され、右に1ドット動きます。んで「4」が押されていたら、4−5=−1ということで、キャラクターの座標が−1足されて、左に1ドット動くというもの。
そのプログラマーは、一般的な方法だと4行の処理をしなければいけないのを、たった1行で表現していたのですね。
エンジニア的な説明をすると、最近のパイプライン処理をするCPUだと、分岐予測をするので、「もし~なら」というif文を使うと、使わなかった分岐の分だけ無駄な処理をすることになるので、if文を使わないだけで処理が軽くなるのですね。
短い処理は、キーボードの数字を座標に足してるだけなので、if文を使っていないのです。
ってな感じの自分には思いつかないプログラムを見て、「プログラマーとしての才能はないな」という自覚をしたのでした。
高収入な“職業としてのプログラマー”
そんなおいらですが、プログラムをMSX-BASIC【※1】ってので小学生時代にかじったせいで、インターネットとやらが始まったときにも、Perl【※2】でCGI【※3】のプログラムを書いてサイトを作るなどもすんなりいけたのですね。
※1 MSX-BASIC
いわゆるプログラム言語“BASIC”をMSX規格のパソコン用に拡張し、同機に搭載していたもの。マイクロソフト製。
※2 Perl
スクリプト言語のひとつ。テキストデータの処理にすぐれ、1990年代にCGIを用いたWebサイト作成の用途などでよく使われていた。
※3 CGI
Common Gateway Interfaceの略。サーバー上でユーザー作成のプログラムを動作させる仕組み。CGIで作られたページは訪問者によって変更も可能な双方向性を持たせられるため、掲示板などに使われることが多い。
ということで現状の日本では、20代で年収1000万を目指そうとすると、外資系企業やテレビ局に入るための学歴が必須になるんですが、プログラマーだけは学歴がなくても実力だけで稼げたりするので、座学が苦手な人にはお勧めのキャリアだったりします。
ぶっちゃけプログラムって、やったことがない人から見たらすげー難しそうに感じるんですけど、やってみると、高校を卒業できる程度の知力があれば、ある程度までは誰でもできるんですよね……。
10年ぐらい前に、「脳を鍛える」などと、ゲームをするだけで頭が良くなりそうな気がするゲームが発売され、わりとヒットしていましたが、監修をした先生以外は誰も科学的な根拠を証明できず、一過性のもので終わりました。
それに比べると、『ヒューマン・リソース・マシーン』は、プログラム的な考えかたが学べるし、得意だと気付いたら高収入への道が開いているという、なかなか実利的な部分もあるゲームだったりします。
中盤超えたらあなたもプログラマーレベル?
『ヒューマン・リソース・マシーン』で中盤ぐらいから先に進めなくても、焦る必要はまったくなかったりします。というのも、購入者のレビューを見てみるとわかりますけど、現役のプログラマーでもクリアできていない人が結構いるんですよね。
これはなぜか。現在のプログラム環境はめんどうくさい処理をプログラム側に任せられるように、人間にやさしく作られてるんですけど、『ヒューマン・リソース・マシーン』で学ぶプログラムは、ほぼマシン語【※1】とかアセンブリ【※2】とか呼ばれる、30年ぐらい前にはたまに見たけど、いま普通のエンジニアで使う機会はまずないよね……っていう言語に近い解きかたになっています。
※1 マシン語
コンピューターが直接理解できる実行コード。16進数の並びによって表現される。
※2 アセンブリ
マシン語を人間に理解しやすいように、自然言語に若干寄せたプログラム言語が、アセンブリ言語。
たとえば、『ヒューマン・リソース・マシーン』には、掛け算や割り算をするための「×」や「÷」などの記号もありません。「掛け算の3×2ってのは、3を2回足すってことだよね」って書きかたをしなきゃいけないし、「5÷2だったら、5から2を何度も引いて、0よりも小さい数字になったら、そこで止めるってのが割り算ってことなんだよね」……みたいに細かいところから自分で組み立てなきゃいけなかったりします。
ってことで、中盤にいけるだけでプログラマーとして十分に食っていけますのでご安心を。ちなみにおいらはまだクリアしていません……。
ひろゆき氏に「ぜひプレイしてほしい!」というゲームがあれば、オススメを教えてください。編集部から「タダゲー」しておきます。
こちらの入力フォームまで、情報をお寄せいただければと思います!
【あわせて読みたい】
警察のデータベースを漁って真相特定。ひろゆきが話題のゲーム『Her Story』をレビューしてみたってよ前回ひろゆき氏に“タダゲー”してもらったのは、2015年度のゲームショウを総なめにしたインディーズゲームの傑作『Her Story』。イギリス警察のデータベースを検索して「とある事件」を調べていくというこの一風変わった本作を、ひろゆき氏はどう評価したのだろうか?