個人開発のゲームはどうして完成しなかったのか　ゆるい共同開発の難しさとその対処


## まえがき

この記事は、「この辺に気を付けておけば、趣味のゲームの共同開発の成功率が上がるんじゃないかな」という覚書だ。
とくに、趣味でグループを作って個人開発をしてみようと思い立った人に向けて書いている[^1]。

記事中のエピソードは特定の誰かや団体を指しているわけではなくわりとよくあることだ。

## 体験版ができました（その後の便りがない）（よくある）

「体験版できました！　よろしくお願いします！」
個人開発のゲームの体験版の予告ツイートが流れてくると、ちょっとドキドキしてしまう。
果たして完成までたどり着くだろうか？
いや、成果物があるだけまだいい方だ。
世の中には、なにも生まずに霧散していくプロジェクトのほうがはるかに多い。

「ゲ製（ゲーム制作）サークルを発足しました！　プログラマー募集中です」……はじめてのゲーム制作のようだ。いらない苦労を想像して胃が痛み始める。
「シナリオ担当募集中です」うう……。
１件の実績もないクラウドファウンディングのページなんて、とてもじゃないけど怖くって見れたもんじゃない。
（あきらかにプロの犯行か、 [さいしょから尖ったインディーズを狙っているタイプ](https://camp-fire.jp/projects/view/114047 "ごく普通のシカのゲームを作りたい！DEEEER Simulatorプロジェクト")で、順当にバズっている場合はニコニコできる。それでも完成しないときは完成しないが……）

もしも誰かと一緒に何かを作ろうとしているなら、覚えておいてほしい。
複数人でやる趣味のプロジェクトは、基本的には完成しない。
いわゆる「エターなる[^2]」というものは、ごく身近に存在するのだ。

うーん、別に脅したいわけじゃない。
ただ、趣味の共同開発は、「どんなにメンバーが仲良しで、有能で、善人で、やる気のある人たちだったとしても、共同開発はうまくいかない場合がある」、というのを心の片隅においておいてほしいだけだ。

### よくあるプロジェクト空中分解の一例

新しい朝が来た。
あまりに爽やかな目覚めだったので、古き良きRPGを作ろうと思い立ったりするかもしれない。
そういえばおみくじにも書いてあった。”何か新しいことを始めるには絶好の機会”と。

意気揚々とSNSでメンバーを募って、ゲーム制作サークルを立ち上げることにした。
知り合いの知り合いも集まってきて、あれよあれよという間に5人くらいになった。
メンバーの技能も、シナリオ系とグラフィッカーでほどよく分かれている。

誰もが希望に燃えている。
Skypeで、あるいはDiscordでわいわいと会議しながら、それぞれがアイデアを出していく。
「ここはこうしたらいいんじゃないか？」「いや、むしろこうならどうか？」
ブレインストーミングを通じて、次々と独創的なアイデアが生まれる。
気の利いた仲間がGoogleスプレッドシートに要点をまとめてくれた。
主要なキャラクターは５人。
いや、男女３：３で６人にしよう。
エンディングは、もちろんマルチエンディングにしよう。
なんと、そのうちの一つは見るのをすっごく難しい隠しエンディングにするのだ。

いつしか、一人のキャラクターにグラフィックが付いた。
それをきっかけに、キャラクターには魅力的な設定が生える。
始まりの町のマップを歩く主人公が村人に話しかけるスクリーンショットをあげる。
セリフは「ここは××の町だよ」程度のものだけれど、確かにそれは輝かしい一歩だった。
シナリオ担当は、これから重要イベントの下書きにとりかかるという。
誰かが良さげなBGM素材を持ってきて、それは共通のテーマソングとなった。
ストーリーについて熱い激論を交わし、切磋琢磨して、一つの石を磨き上げていく感覚がある。
暇なメンバーは、ネタに走ったアイテムを作っている。

こうして、１日が過ぎて、３日が過ぎて、１週間が過ぎた。

シナリオ担当から重要イベントが上がってくることはない。
イラストの方も動きは鈍い。忙しいのだろうか？
いや……。

誰ともなしにこの話をしなくなり、進捗は限りなくゼロになる。

誰もがはっきりとは口にしない。
でもうすうすわかっていた。
飽きてしまったのだ。

プロジェクトは、円満に、永久に凍結されることとなった。

## ゲーム共同制作あるある

上記の例は、割と円満にバラバラに空中分解する例だ。

ほかにもいろいろなパターンがある。

- 脇道ばっかりそれていつまでもメインが完成しない
- 微調整の繰り返し（本筋にはあまり影響がない調整）
- メンバーの音信不通
- 熱意のあるメンバーとそれほどでもないメンバーの温度差
- 複数いる担当の間に実力差がありすぎてクオリティの差に気落ちする
- 「書き直したい」→永遠に成果物があがってこない
- 特定のメンバーが別の特定のメンバーにリテイクを繰り返す

顛末は異なるが、「ゲームが完成しない」という点は同じだ。

Qiitaには割と「こんなアプリケーションを作ってみました！」「アプリケーションを作ってみたけどいまいちバズりませんでした」という記事があるが、趣味の開発でリリースできる時点でド優秀だ。
（そもそもがプロだったり、プロ志望がポートフォリオのためにやっていたりするので、目指すべきところやモチベーションがだいぶ違うのかもしれない）。

仕事で納期を見てつじつまをあわせて徹夜してなんとかかんとかプロジェクトを完遂していると忘れがちだけど、普通の人にとって、ものを完成させるというのはすごく難しいことだ。
ましてや、椅子に縛られているわけでもお金がもらえるわけでもないとなると、いばらの道となる。
複数人の共同製作の難易度は段違いに上がる。

## 趣味のプロジェクトには強制力がない

趣味のプロジェクトは、仕事と違って強制力がない。
客先がなく、納期がなく、だいたいの場合は報酬がないか薄い。
楽しくてやっているわけだから、みんな飽きたらやめてしまう。

このプロジェクトの成功には何が欠けていたのだろうか？
熱意？　時間？　マネジメント能力？
もっと細かく進捗を管理して、メンバーをなだめすかして……ちょっと厳しいようだけど、「真面目にやってくれ」というべきだっただろうか？

うーん、たしかに、前に進むためには、そういう能力も必要になってくることがあるだろう。

でも、たぶん、スタートからだ。
まず規模が大きすぎて、目的が明確ではなかった。
初心者が富士山に登ろうとしてはいけない。

あまり波風を立てたくない。
ゆるい趣味でやっていきたい。
そんな感じのノリの場合、以下のやり方が役に立つかもしれない。

## 共同開発でプロジェクトを完成させるコツ

基本的に、他人というのは自分ではどうしようもできない変数である。
とくに、趣味である場合はそうだ。
どんなに仲が良くたって、生活に十分なお金を支払わない場合は、相手のスケジュールを拘束する権利はないのだ。
社会において、契約書を取り交わして初めて成せることであり、そうしてもなおバックレて音信不通になる人間はいる。

### 一番やる気のある人間（≒自分）が必要条件を握る

趣味の個人開発のプロジェクトを成功させるための秘訣は、第一にやる気のある人間（≒自分）が必要条件を握ることだ。
自分さえがんばれば、最低限、完成とリリースまではこぎつけることができるようにしておけば、理論上何かは完成することになる。

もちろん、仕事じゃそんなことはない。
「まあ最低自分が頑張れば納期には間に合うか」と思ってるプロマネは優秀ではない。
誰かの作ったモジュールAの中身なんて一切知らないなんてことはザラにある（オブジェクト指向だ！）。
ハッカソンとかで集まったエンジニアが、役割分担して、フロントヤードとバックヤードを分担することはよくある。

ただ、規模が小さめの個人開発の時は、全容を把握するのがおすすめだ。

### 軽くでもいいから実装を握っておく

まず、プログラマーになる。

えーっと……、知り合って間もない人にコーディングのすべてをお任せしてしまおうとするのはかなりの賭けになる。
メンバーが急に音信不通になったせいで作業を進められなくなってしまう状態は避けておきたい。
プログラマーは自分でやるか、背中を預けられる気心の知れた友人がやるといい。

プログラマーの仕事は人に頼みづらいのだ。
かなり雑用的な部分が多いので、これを自分で握っておくことは非常に大切だ。

とはいえ、未経験者であるならば、急にガチガチのプログラマーになれと言っているわけではない。
別にC#は書かなくていい。

ぱっと思いつくので、実装がラクなのはノベルゲームあたりだろうか？
世の中いろいろなツールがある。例えば[RPGツクール](https://tkool.jp/ "RPGツクールWeb")を使ったりすればある程度ラクに……とはいかないまでもかなりの部分をおぜん立てしてくれる。
まあ、そのへんは人によるし、作りたいものによる。

最低限のコードしか打ちたくないなら、[ティラノビルダー](https://b.tyrano.jp/ "ティラノビルダー")みたいな便利なセットを使えば、セーブとかロードとか、素材の暗号化など、難しいところの実装は最低限で済む。

ツールの選定は非常に大切だ。
夢中になってしまうと忘れがちだが、「どんなゲームが作りたいか」と同時に、「どんなものなら作れるか」を検討するのも重要なことなのだ。

やりたいことに応じて、ツールにあたりをつけて、ちょっと触ってみる、くらいでいい。
最低限でいい。最低限の実装は、自分でできるようにしておけるといい。

### シナリオを少し握っておく(推奨)

シナリオ担当を外部から探してくるのは……難しい！

希望者は多いが、見返りもロクにないのに、規定のものを締め切りまでに仕上げられる人間は意外と少ないのでハードルが高い。
体感、夏休みの宿題を期間内に終えられるくらいの割合じゃないだろうか。

さらに、自然とディレクション作業が付いて回りがちで、ほんとうに難しい。この辺は本当に知らない人と１からやるのは手探りになる。

おおざっぱに、「このキャラクターの個別イベントを作ってほしい」「このイベントはこういう流れでこういう結末が必要だが、これを作って欲しい」とパーツに切り分けて頼んだり、あるいはキャラクターごとに担当一人、みたいな指示くらいでもいいので握っておけると良い。
とくに複数人シナリオを分担する場合は、冷静に作業を切り分けてぽいっと投げる役がいたほうがいい。
シナリオに限ったことではないが、やりたい人が多いと同時に、技能がなくても口出しできる分野なので、すごく注意が必要だ。

シナリオらしいシナリオが必要ないタイプのゲームもある。
リソースに応じて、戦略を練ろう。

### いや、コードなんか一切打ちたくない

ほんとうにそっちに適性がなくて一切手を動かしたくない場合。
そういうときもあるだろう。
それでもゲームは完成するときがある。

とにかく自分の領分を完成させきるという戦略だけでも強い。

「機械的に手を動かしていれば終わる」ところまで作業を落とし込んでいければ勝率はぐんとあがる。
シナリオ担当なら、シナリオを全部書ききってから（≒書ききれる見切りが付いてから）誰かにぶん投げ始めることができるようになると強い。

「これをこのくらい、こうやって実装してほしい」というゴールが見えている状態なら、外部の人も手を貸しやすいのだ。

ゲームのメンバーの募集の中でも、声優の募集はあんまり心配にならない。
というか、ボイス付きのゲームというのはある程度規模が大きいことが多いし、慣れてるんだろうし、台本があって、少なくとも「これだけ仕事すれば終わり」というのが見えている。
それですら、いつまでたってもリリースされないというのはよくあるのだが、まだ安心だ。

グラフィッカーやサウンドは……この辺は経験がないのでぜんぜん想像がつかない。
こっちに適性があれば、ゲームの完成には関係なく成果物の素材セットが完成するのは強みだと思う。

### ムリなことからは戦略的に逃げる

どうしてもテキストが書けないのなら、「ここにオープニング」というテキストだけ出るようにして、あとは人に書いてもらう。
あるいは最初からテキストのない（もしくは最小限の）ゲームを作る。

どうしても絵が描けないのなら、棒人間でいいから描く。あとはグラフィック担当に押し付けるか、素材を使用すればいい。
あるいはグラフィックのない（もしくは最小限の）ゲームを作る。

アテがなくて作れないものは、とりあえず間に合わせで作るか、最初から抜いておく。
マップを作りたくないのでノンフィールドにするとか、あり。あり。大いにあり。

とにかく、完成させるための必須パーツは自分で持っておくのが重要だ。

それと、「ここの仕様はだいたい確定したから、あとは人に発注する」という感覚を肌で知っておくと人を振り回さずに済む。
趣味の開発でムダに偉くなった気分になって細かいリテイクを連発している場合ではない。

あまり複雑なゲームを作ろうとしているのでなかったら、実装を軽く握っておくのを強く推奨する。

### まず何でもいいから個人開発で一つゲームを作る（か作らせる）

まずは一人でゲームを作ってみる。
スタートがあって、いや、タイトル画面なんてなくったっていい。いきなりゲームが始まっていい。
エンディングがあって……いや、なくたっていい。
とにかくなんでもいいから、ゲームが始まり/終わる一連の流れがあるゲームの実行ファイルを作るまでをやってみる。
一番やる気のある人（企画を提唱した人≒自分）が、使いたいツールで小さなプロジェクトを完遂しておくとその後の勝率はぐっと上がる。

無理なら、小さな規模の企画を一式書き上げていちばん信頼できるプログラマーに託してみよう。

なぜか、やたらディレクションに向いているタイプの人間もいるので、人に投げてやってみたらできたみたいな才能を発揮するときはあるといえばある（レア）。

### 見積

初めてのゲームは、作るのにどのくらいかかるだろう？

作りたいものが見つかったら、見積をしてみる。
どのくらいの機能が必要で、どのくらいの日数がかかるのかおおざっぱに割り当ててゆく。
例えばシナリオにいくら、組み込みにいくら、セーブ＆ロードの調整にいくら、デバッグにいくら、という風に。
おっと、この見積にいくらかかるかも乗せておこう。

いままでに見積をしたことがなくって、１か月以上かかると思ったら、多すぎる。
初めてなら１週間くらいのものがおすすめだ。
どうせ３倍くらいはかかる（よっぽど慎重な人は上手くやる）。

### スケールダウンを知る

たぶんどっかで挫折する。
しない場合は、相当に慎重だ。
最初の一つというのは、大体の場合規模がデカくなりすぎている。
熱量でカバーできる人は根性で完遂させたりもするが、スケールダウンが必要になることがほとんどだ。
ひとりで何か作って、スケールを小さくする感覚をつかんでおこう。

人を誘うと、夢は無限に膨らんでいく。
あれもほしい、これもほしいとなっていって終わらない。

まず、欲望の現実的な落としどころを探る。
優先順位をつけて、要るものから実装していく必要がある。
この感覚を身に着けていこう。

### 出来たら、誰かに見てもらう

身内でいいので誰かに見てもらう。
できれば操作性についての不満点や、「ここがよくわからなかった」という点を教えてもらえるとよい。
制作者というのは自分のゲームに思い入れがありすぎるので、たいていウェイトを長くとりすぎている。
そうでない場合は、相当に客観的でユーザビリティを考える資質がある。

### 目標を達成するためのメンバーを集める

メンバーを集めよう。

「何かしたいね」よりは「これを作りたい、手伝ってくれ」というので足りないメンバーを集めていくと成功率が高い。
全員戦士だと全員戦士の動きしかできない（それはそれで成立することもある）。
この際だから、気になった人に声をかけてみるのもいいだろう。
割と「ゲームを作ってみたいな」、という人は多い。

そういうときに１作できていると信用度が段違いなので作っておくといい。

集まって楽しくわいわいやることが目的の場合はバランス考えなくてもいいので、好きに声をかけよう。
目標がこれの場合は、完成しなくてもわいわいできたら成功だ。

みんなであつまってわいわいしながらも完成させたい場合は、ハッカソンのように期日を決めて短期間で全力投球していくタイプがおすすめだ。
「わいわいする」だけが目的だったら、実は人を集めて、並走するだけで用が足りたりする。
「×月〇日までに、それぞれに何か作ってもってくる」みたいなやり方だと、完成させられる人は完成させて持ってくる。
先人は言ったものだ。分割して統治せよと。

## 「失敗する」を前提として動く

### 引継ぎの取り決めをしておく

メンバーが音信不通になることは決してまれではない。
トラブルがあればぽっとアカウントを消して終わり、ということはよくある。
特に目立ったトラブルがあるわけでもないのにいなくなってしまうことも非常に多い。
途中で人が抜けた場合、残ったプロダクトを使ってもいいか、あるいはそこだけさしかえるのか、書き換えていいのか、あらかじめ取り決めを決めておくことが重要だ。
「勝手に手を入れられたくない」というタイプもいれば、「好きにしてくれ」というタイプもいる。

厄介なのが、「所持者が共同制作のメンバーである場合に限って使用できる」有料素材や有料ツールの存在だ。
このへんは、自分で持っておくと安全だし、最低限どんなものを使っているのかは把握しておきたい。
１メンバーとして参加するときも身辺をきれいに保つために把握しておきたい。

プロジェクト自体がエターなった場合（よくある）、立ち絵や音楽素材は流用しやすいので、それだけは別のプロジェクトにもっていってもいいとしておけるとグラフィッカーやサウンドの人たちにはありがたいだろう。
難しいのがシナリオだ。
シナリオはぶっこ抜いてほかのところに持っていくのが難しい。
できればこのままのプロジェクト母体として完成させてしまった方がトラブルがないだろう。うーん、メンバーによる。

外に見える成果物があるかないかは大きい（喧嘩別れした場合はかなり気まずいが……。「誰かが悪かった」というようにせず、プロジェクトは崩壊するものとして、円満に解散できるようにしておくのを推奨する。するとリサイクルしても大丈夫になる。趣味だし。趣味なら。）

### 水面下で進める（オプション）

失敗してもいいように、完成の目途が付くまではプロジェクトを公にせず水面下で進めるという手がある。
これならプロジェクトが空中分解しても恥をかかなくて済むし、表から見える信用度にダメージがない。

ただ、制作過程をこまめに発表していくのは、それだけで優秀なコンテンツなので、目途が立っているか、離散する覚悟があるならやってもよい。宣伝にもなる。
共同開発の場合は、失敗を記録してほしくないタイプのメンバーが嫌がるかもしれないので、最初から同意を取っておくといい。

同意がとれていてもやっぱり完成しなかったのは恥ずかしいから自分の分は全部抹消してほしいと言われることもよくある。

## （散々脅したけど)複数人を巻き込んでのゲーム制作は楽しい

ゲーム制作は楽しい。
複数人でのゲーム制作も、また信じられないほど楽しい。
アイデアを出し合っている瞬間は何にも代えがたく楽しく、自分一人ではいけないところまで到達できる。

完成すると、最高に楽しい。
だんだん感覚がつかめてきたら、エターなる確率は低くなるはずだ。

エターナルも経験値になるといえばなるので、大いにエタっていい。
ただ、いちばんリターンが貰えるのがだいたいリリースしてフィードバックを受け取るときなので、ぜひとも完成までこぎつけてみてほしい。

せっかくリソースを割くのだから、なるべくデカい見返りを得てほしい。
それは人によって名声だったり、お金だったり、二次創作作品だったり、仲間だったりするだろう。
落下したとき、きちんと受け身をとってほしい。
それは本当によくあるんだ。
火傷しないように、大切な仲間を失わないように。
せめて、落っこちてバラバラになった機体から、次回に使いまわせるパーツを回収できたらいい。

よいフライトを！

[^1]: システム開発とは「企業で行われる業務などをシステム化する一連の作業」を指すようなので、個人開発とは毛色が違いそうだが、広い意味ということでご容赦いただきたく。

[^2]: エターなる……永遠に（eternal）完成しないこと。