- 2022年10月6日
- 日常風景
ゼミ通ヒーローズVol.54 金ジンギュ、藤江稜斗とデジタルゲーム「undone」について語るの巻Part1
※「ゼミ通ヒーローズ」とは、京都芸術大学キャラクターデザイン学科ゲームゼミの学生の研究や取り組みについてピックアップし、担当教員村上との対談形式で綴る少々マニアックなブログ記事となっています。
村上
今回は、3年生の学生作品展にて、デジタルゲーム『undone』を制作した金ジンギュ君(以下、ジンギュ)と藤江稜斗君(以下、藤江)の二人をゲストに、制作秘話を語っていただきます。
ジンギュ
ゲームゼミ3年生の金ジンギュです。韓国の留学生です。
自分は今回ゲームの企画とUNITYでの実装を担当してました。
キャラデの11期生ですが途中で兵役に行ったり、その後コロナの関係で入国できず2年休学したりして、すっかり歳をとってしまいましたが心はいつも18歳です(苦笑)。宜しくお願いします。
藤江
同じくゲームゼミ3年生の藤江稜斗です。
元々はゲームを作りたいと思ってこの大学に入ったわけじゃなかったんですけど、「ゲーム制作応用」の授業でゲーミフィケーションについて学んだ時に、遊びの力で社会を面白くするとか、社会を変えるってことを実感して、そういう仕組みを考えられる人になりたいなと思って、ゲームプランナーを目指して勉強しています。
今回ジンギュと組んで制作したゲームでは、企画とビジュアルデザイン全般の制作を担当しました。
村上
役職としては、ジンギュはプログラミング寄り、藤江はデザイン寄りということで役割分担をして、ゲームの仕様は一緒に考えていったということだね。
じゃあ、早速そのゲームの内容について教えてくれるかな?
藤江
このゲームは、ありきたりな2Dアクションゲームのような見た目をしているんですけど、遊んでいると突然エラーが発生してゲーム進行が不可能になってしまいます。それをノーコードプログラムでバグを直し、主人公をゴールへと導いていくというものになっています。
ゲーム画面が止まると、パズルゲームの画面が表示されます。そこにはバラバラになった物体の断片が表示されていて、それを見本図と同じ形になるように、制限時間内に線で結んで完成させるとバグが修正されて再び主人公が動き出すというルールになっています。
主人公が止まっても敵だけは動いていてゆっくりと自分に迫ってきます。敵に触れられたらゲームオーバーになるから、その前にパズルを解いて自分自身が動けるようにならなければならないんです。
ジンギュ
所謂「プログラミングパズル」というジャンルになるんですけど、これをユーザーの皆様に対してどんな風に分かりやすく伝えようかと考えて、藤江とはかなり長い時間をかけて話し合って、ゲームの核となる部分を詰めていきました。
「ノーコードプログラム」っていうのは、UNITYのBoltと呼ばれているビジュアルスクリプトで、プログラムを打つことなく、グラフィカルにノードを接続してゲームを構築できる便利な機能のことです。
藤江
これによって大分ゲーム作りの門戸が広がったというか、より直感的に作ることができて、ゲームを構築すること以上に面白さを追求することに時間を割くことができるようになりましたね。
村上
そんな、ゲーム作りの敷居が下がったことで、あえてその中でも面倒臭い部分に着目してそれをゲーム化するという、ちょっとマニアックだけどメタ的な挑戦をしてて面白かったね。でも結構難しいことに挑戦しようとしてるから企画段階では密かに心配してたんだよね。
藤江
え、そうだったんですか?
村上
仕組みが実装できたとしても、果たして面白いゲームになるのかどうか、っていう部分でね。それでも作り手にとってもプレイヤーにとっても難しい要素を、二人が丁寧に演出して一つ一つの流れを明確にしてくれたから、バージョンアップするごとに見た目も操作性もどんどん向上していって、そんな二人の貪欲さがすべてプラスに働いたように感じるね。
藤江
二人とも負けず嫌いなので、他のチームが凄いことを色々やってるのを見て、俺らもっと頑張らな!って思ってました。
俺が注文したことをジンギュは全く寝ずに全部実装してくれて、じゃあ自分ももっと素材に拘って演出も考えなきゃって思いました。ジンギュとは仲間として制作してますけど、いい感じにライバル視してた結果、いい感じに仕上がったかなと。
村上
なるほどね。そもそもこのゲームの企画意図って何?
藤江
まず、遊びのチカラで何かを学んでもらいたいっていうイメージが最初にありました。でも具体的に何を表現しようかってなってたときに詰まってしまったので、一旦自分自身の状況を見つめ直してみようと思ったんです。「自分は今なぜ企画が止まってしまってるのか」と考えたときに、本当に実装できるかどうかが分からないっていう点が邪魔をして企画が進まなくなってたんですね。プログラミングの制約とかバグが自分のゲーム作りでの一番の敵となるので、じゃあそれを恐れてても仕方がないから、これをこのままゲームにしてやろうかと。
ジンギュ
実際にゲームを作ってみると物凄い数のバグが発生するんですよね。普通に遊べて当たり前の状態に持っていくのにどれだけ大変な思いをするのか、またその障壁を乗り越えた時の喜びがあるわけですけど、この面白さとか感動をプログラマーだけが味わうのは勿体ないなと思って、これをゲームの中で再現することにしました。
要はバグをモチーフにして、「不具合が生じる世界観」のゲームとして再現しました。
村上
作り手なら誰しも直面する厳しい世界だよね。
プログラミングパズルという発想はどこから?
藤江
プログラミングをして、その通りにキャラクターが動作するという喜びをユーザーに体験してもらうことを一番の目的にしていました。かといってそれを再現するのにコードを書かせるわけにもいかないし、そもそもそんな面倒臭いものは誰も遊ばないだろうと。
なので単純明快に示して取っつきやすくするようにしたくて、ビジュアルスクリプトに拘りました。これだとプログラミングをしてる感じがなくて、もっと軽い気持ちで臨めるので。
村上
そのときの「面白さのポイント」とは?
藤江
パズルを解くことで、それまで止まってしまっていた主人公が急に動き出して、目前まで迫っていた敵を一掃する爽快感というかメリハリの利いた緊張感が面白さのポイントです。
ただパズルを解くだけだと全然面白くないので、まずはバグの状態を確認して、それによって攻略法を考えるようにしています。
藤江
バグには三種類あります。一つ目のパターンは「歩行アニメーションはループ再生されているけどその場から動けなくなってしまう状態」。二つ目は「アニメーションも含め完全に硬直した状態」。そして三つめは「硬直した上にグリッチが発生して画面が乱れてしまう状態」。
この三種類のどれが発生しているかによって、解くべきパズルが変わってくるので、まずは反射的にそれを見極めてからパズルを攻略していきます。
このときグリッチが発生しているのに一つ目のパターンの攻略法でパズルを解いても何も起こらないので、状況を見極める必要が出てきます。
Part2に続く