Moleculeプロフィール: Rosabelle Armstead
Rosabelle Armsteadがゲーム業界へ身を投じたのは、控えめに言っても異例のことでした。才能豊かなジュニア・プログラマーである彼女は、大学卒業前にMedia Moleculeに入社し、『Dreams Universe™』における功績でBAFTAを受賞しました。ここでは、RosabelleがMmで担当している仕事のこと、ゲーム業界に入った経緯、そしてプログラミング、アート制作、クロスワードの共通点について語ってもらいます。
Rosabelle、本日はよろしくお願いします! 早速ですが、Media Moleculeではどのような仕事をしているのか教えてください。
Dreams Universe™のジュニア・プログラマーを務めています。一日の大半は、コードを眺めたり、書いたり、修正したりと、他のプログラマーに追いつくために努力しています。ジュニアの肩書があるように、学ぶことが多く、プログラマーの先輩方からためになる指導をたくさん受けています。
実際にDreams Universe™のプログラミングはどのように行われるのでしょうか?
チップクエストやトロフィー、そしてゲーム内のイントロムービーの大部分を担当しました。チップクエストのシステム全体は私が入社する前から開発が始まっていたので、すべて引き継ぎました。チップクエストでは、デザイナーが積極的にファイルを追加できる処理ツールがあります。これで、チップクエストやトロフィーをゲームに実装するのです。しかし、それらのリクエストを実行するためには、私たちがコードに特定の何かを追加しなければなりません。ほとんどの分野では、デザイナーが何かをしてツールを実行すれば、それがほぼゲーム内に反映されるようなツールが用意されていますので、プログラマーは最後にちょっと手を加えるだけですみます。チップクエストを例にすると、チップクエストのリストがあって、「このアクションをしたら、このチップクエストがアンロックされたことにする」という関数があります。例えば、チュートリアルが終わったとき、コードの中に「このチュートリアルは終了しました」という部分がありますが、そこに「このチュートリアルのチップクエストをアンロックされた状態にする」という行を追加します。
つまり、ゲームに特別な言語を使って働きかけて、デザイナーが望むことをさせる仕事ということでしょうか?
そのとおりです。数学的、論理的な言語のようなものですね。コードもいわゆる冗長な書き方ではなく、新しいプログラマーが入ってきてもほとんどの場合、すっと頭に入るぐらいシンプルになっています。例えば、関数名が「Add Button」となっているので、「よし、Add Button関数を使ってボタンを追加しよう!」となるわけです。このような関数は開発の初期に書かなければならないので、低レベルのものはすでにできあがっています。今は、ボタンを追加するために高レベルの関数を呼び出すのではなく、ピクセルレベルで実際にボタンを作るためのグラフィックプログラミングについて学んでいるところです。
プログラマーには昔から興味を持っていましたか?
そうですね。子どもの頃は「Nintendo Magazine(ニンテンドーマガジン)」をよく読んでいました。そこにはゲーム業界の求人広告が掲載されていて、アーティスト、QA、プログラミング、プロダクション、ゲームデザインなど、様々な種類の仕事が並んでいました。その時に「自分の好きなことを仕事にできたら、本当に楽しいだろうな」と思ったんです。それを他の人に提供して遊んでもらえたら、とても充実できるだろうとも思えました。当時、私が通っていた学校は女子校でしたが、コンピュータサイエンスの授業はありませんでした。スプレッドシートやメールマージについて学ぶITの授業しかなかったんです。確かにそれはとても生産的ですが、プログラミングを学ぶ目的ではありませんでした。それでGCSEでコンピュータサイエンスを履修したのですが、自分が望んでいたものとは違っていて、肩を落としました。そこで、他のルートを探すことにしたんです。11歳くらいのときには、Scratchというドラッグ&ドロップ式のブロック型プログラミング言語で個人的なプロジェクトをたくさんこなしました。その後も、当時のLuaスクリプト環境で弟と一緒に『Roblox』のゲームを作っていました。そして16歳になったとき、私の学校でやっとAレベルでのコンピュータサイエンスが開講されたんです。
ギリギリでしたね!
本当ですね! 大学に入る前に受講して、少しでも学ぼうと思いました! 幸運なことに、Aレベルの前の1月に体験セッションがあり、バブルソートという非常にシンプルなソートアルゴリズムを、同じく非常にシンプルな言語であるVisual Basicで学びました。脳を働かせて論理的に考えることが大好きな私にとって、それができたのは最高に楽しかったですね。「すごい。この分野は絶対にやりたい」と思いました。その後、体験セッションの2か月後に行われたGCSEの授賞式で、Siobhan Reddy(Media Moleculeのスタジオディレクター)が実際に授賞式に来てスピーチをしてました。そこで、すべてがうまくいったんです。
Siobhanと会って話しましたか?
彼女のスピーチで、自己紹介と所属している会社について説明されると、周りにいた人たち全員が私の方を向いたのを覚えています。当時の担任の先生は、翌年からコンピューターサイエンスの担当になる予定だった方だったのですが、「あなたを紹介して、詳しい情報をやり取りしましょう」と言ってくれたんです。それで、彼女のところに行って話をしたはずです。とても緊張していたので、そのとき何を話したかよく覚えていないんです。ですが、彼女からメールをもらい、翌年の1月に学校からの職場訪問を企画しました。Amy Phillips(ツール・プログラマー)やMichelle Ducker(シニア・プロデューサー)といった方々にお話をうかがい、ごく初期のDreams Universe™のデモを見せてもらいました。それが非常に興味深く、そしてMmという会社の全体を見て、プログラミングとゲームを専門にしたいと思うようになりました。あれは本当に忘れられない体験でした。それがきっかけとなって、私や他の数人が夏に職場体験に来ないかと誘われて、それが翌年、さらにその翌年も続いたんです!
その頃、あなたはすでにコンピュータサイエンスの学位を取得していましたが、Media Moleculeで職業研修を受けることになりました。Media Moleculeのスタジオのどこに魅力を感じたのでしょうか?
皆さんの和気あいあいとした空気ですね。全員がお互いについて理解していて、自分の興味を持ちながら、他の人がどんなことに興味を持っているのかを知っています。そして、誰もが自分の仕事に加えて、自分の関心事にも精通しているんです!
あなたはまさに「マルチな才能」という表現がぴったりで、素晴らしい肖像画も描いていますね。アートに惹かれる理由は何ですか? それは、プログラミングに惹かれるのと同じことなのでしょうか?
そうだと思います! なんというか、プログラミングをすることは、自分の世界に入ることと同じだと思います。自分の世界に入って絵を描いているときは、ただリラックスした状態です。つまり、ただ無心で手を動かすだけです。だから、絵を描いているときはただ描いているだけだし、プログラミングをしているときはただタイプしているだけなんです。プログラミングでも、うまくいかないときはデバッグの段階で論理的思考をすることになりますが、アートでも、何かがうまくいかないときには似たようなことが起こります。少し時間をおいて一歩下がり、「よし、論理的思考の出番だ。間違っているのはどこだろう?」と考えるんです(笑)。間違いを修正するのはその後です。そういう点では、アートとプログラミングは似ているのかもしれませんね。今までそんな風に考えたことはありませんでした。
スタジオのクロスワードクラブに参加して、ランチタイムに暗号クロスワードを解いているところを見かけました。それもプロセスとしては似ているように思えます。
Mmに入る前は、暗号の解き方を知りませんでした。実際に参加する前に、1か月くらいテーブルの前にじっと座って、上級者の人たちがスラスラ解いていくのを見ていたんです!
でも、今では誰よりも解くのが早くなりましたね!
最初の1か月は、クロスワードをどのように解いていくのかを理解することに費やしました。たまに手を出しては、「これかもしれない」みたいに考えていました。そこから暗号クロスワードの本を3、4冊買って、猛烈にやっていました。ただ問題を解くだけではなく、先に答えを見て、その問題のマスを考えたりもしていました。
それは私たちみんなの(非常に限られた)プログラミング経験とまったく同じですね。どこかで問題が起きると、「どうしてこうなったの!?」と考えるものですから。
逆方向に学ぶことで、前に進みやすくなります。それがクロスワードの大きな収穫ですね(笑)。
プログラミングだけでなく自己啓発の面でも、Mmで学んだことと大学でやっていることとの間には大きな違いがあると思いますか?
それは確かにあって、たくさんの人に「大学で2年半学んだことよりも、Mmで働いてからの1年間で学んだことの方が多い気がする」と言っているぐらいです。実践的な環境で取り組むことは、大きな違いをもたらします。大学の最後の1年間は、すべてのことを逆に当てはめることができたので、かなり順調でした。つまり、Mmで行ってきたことが、大学の学業に活かせたわけですね。計画通りに進める力がついていたんです。また、グループプロジェクトでも、実際にプロとしてチームで仕事をした経験があったので、かなり楽に進めることができて良かったです。
あなたが飲み込みの早い方だということは間違いありませんね。大学を卒業する前から、BAFTAを受賞したゲームに携わっていたこともそれを裏付けています! 学業と仕事をどのように両立していましたか?
確かに、人より飲み込みは早い方だと思います。週のうち2日半は家でMmの作業をして、2日半は大学に通いました。チューターとの調整が大変でしたが、お互いに都合の良い日を見つけることができ、結果的には問題ありませんでした。幸運だったのは、Dreams Universe™のリリース日が、論文作成や試験が本格化する2か月前だったことです。おかげで、余裕をもって作業できました。もしそれらが一気に来ていたら、Dreams Universe™のリリースに対応できていたかどうかはわかりません。
もうすぐ卒業を迎えますが、卒業後はどのようなプランを考えていますか?
今のところは、Mmに留まって楽しく過ごすことがプランですね(笑)。今の楽しい仕事を続けながら、趣味に使える自由な時間を増やしたいと思っています。火曜日にはスタジオの人たちと一緒にサッカーをするので、それを再開するのもいいですね。あと、卓球もやるんですよ! 今から卒業が待ち遠しいですね。
ゲームプログラマーに興味を持っている人に向けて、何かアドバイスはありますか?
私が何よりも伝えたいのは、とにかく自分が楽しめるかどうかが大事だということです。自分が楽しめるかどうかわからないまま、ぼんやりとした憧れでプログラマーを目指すのはお勧めしません。ですから、まずは挑戦してみてください。RobloxやDreams Universe™は、自分が楽しんでゲーム作りをできるかそうでないかが分かる論理的なシステムなので、とりあえず触ってみるのにぴったりだと思います。少しでも自分で経験を積んで、作品のポートフォリオを持つことができれば素晴らしいです。たとえ不格好でもね(笑)! それが動いて機能していることが大切だと思います。
Dreams Universe™のユーザーガイドはただいま作成中。これからプレイのヒントに関するコンテンツを増やしていく予定なのでチェックをお忘れなく!