CGMプランナーの思考スマートフォン用の表示で見るCGMプランナーの思考この広告は、90日以上更新していないブログに表示しています。Driveにアップしといた。我こそが本物である!「ゲーム制作素人が1週間程度で云々〜」という記事をたまに見かける。彼らの多くはプログラミング等の何らかの土台があった上で挑戦している。素人といっても「素人(自称)」なので、習得速度についてはあまり信用できない。中には本当に素人と言える人もいるが、自力でちゃんとゲームとしての体をなすものを作るには、やはりそれなりに時間がかかっているようである。僕自身はということ、ウェブサービスを作って世に送り出している活動をしているものの、プログラマーではないし、プログラミングは出来ない。ツールの使い方とプログラムが書いてあるページを読んだって、何も出来やしなかった。これまでの経験でゲーム制作に直接使えるものも、これといってなかった。ゲームに使うための音楽や効果音を作るスキルもないし、グラフィックを作るスキルもない。要するにそこらへんのネット好きと大して変わらない、まぎれもない素人である。本当にやりたいと思ったら既にやっているッ!ここしばらくは主にアプリ☆メーカーの改良をしているのだけど、仕様の面は結構前からほぼ出来上がっていた。するとプログラマーでない僕は特にすることがなくなった。次に作るサービスの仕様策定も進めたが、それも終わってしまった。いうタイミングで、急にゲームを作りたくなった。今までもぼんやりとやりたいなぁと思っていたけど、それは所詮行動に移さない「やりたい」であった。やるつもりなんかなかった。その「やりたい」は、「自分には出来ない」という諦めの感情が生んだ虚像にすぎなかったのだ。近年のゲーム制作ツールに関する素晴らしい記事を何度も目にしていたら、気づいたのである。「自分には出来ない」なんていう事実は存在しないのかもしれない、と。してゲーム制作について調べたら、改めてゲームを作ろうという気持ちが生じてきた。それは「宝くじが当たったらなぁ」という夢想の類なんかではなく、メモを取ろうとして目の前のペンを取ろうとするような、ごくあたりまえのことを実現する気持ちだった。やって作ればいいんだよ!近年の優秀なツールでゲーム制作をするといっても、ゲーム制作ツールはいろいろある。その中でも、主に検討したのはこの4つである。EngineCocos2d-x僕はUnityを選んだ。Engineがいいらしいが、ガチなグラフィックの3Dゲーム向けっぽいのでパス。日常に寄り添うような2Dスマホゲームがいい。スマホゲームは結構な割合でUnityとCocos2d-xが使われているらしいのでCocos2d-xも検討したが、基本的にバリバリとコードを書いていくためものであり、プログラミング未経験者お断りのツールだった。いうわけでUnity、君に決めた!Unityすごい......でも何も出来ねぇ!Unityにはプロ版と無料版があるのだが、ゲーム制作に必要な機能においては無料版もプロ版もほぼ変わらない。無料版には制限があるものの、普通の個人にとっては全く気にしなくていいくらい緩い制限だ。無料でガッツリ使えるツールと考えていい。してUnityを導入してみたが、困った。何をどうしたらいいのか全くわからないのである。検索をしてみても、完全な素人にとってはわからないことがありすぎてまったく理解出来ないページばかりだった。そこで通称「ひよこ本」と呼ばれている、評判の良いこの本を買ってみた。Kindle版この商品を含むブログを見るチュートリアルを丁寧な解説とともに進めていく内容で、とてもわかりやすかった。ゲームに使う素材はこの本が用意したものを使うので、それら組み立てていくような感じだ。して以下のものを作っていった。Unityというツールの大まかな考え方や使い方をサクサクと学べたのでよかった。ツールは使えるが、ゲームを作れない!Unityの大まかな使い方は把握したので、Unity公式のチュートリアルをやってみることにした。ひよこ本で基本を理解した僕にとっては簡単すぎるくらい簡単だった。スクリプトを書くところに至ると、途端に難しくなった。大したことをやっていないはずなのに。完成させることはできた。それによって課題も明確になった。ゲームの部品を組み立てることはできるが、それらを動かすためのスクリプトを書く力が不足しているのだ。Unityというツールの使い方がわかっていても、まだ実際に自力でゲームを作ることはできない。意外と道は険しかった......スクリプトって何だよ!そもそもプログラミング経験がないのである。「スクリプトが云々」と書いてあっても、「スクリプト」自体よくわかっていなかった。プログラミングにおいて何らかの処理を記述して実行されるまでにはいろんな過程があるが、そういった過程でなく処理に関わる部分のみを指して「スクリプト」と呼んでいる......のかな?Unityでは処理を実行するまでの過程はUnity内部で上手いことやってくれて、ゲームをどういう風に動かすかという部分でしかコードを書かないので、基本的に「プログラムを書く」というより「スクリプトを書く」と表現されている......のかな?まぁ実際のところ今もよくわかっていないが、だいたいこんな感じで考えている。そんなレベルなので、チュートリアルでスクリプトの解説を読んでその時は理解していても、知識として身につかなかった。僕はスクリプトを簡単なものなら自分で書けるくらいになろうと思った。Unityで使う言語はC#が基本らしいので、C#を軽く学ぶことにした。して適当に検索してC#をちょろっと把握してみようと思ったが、なんとびっくり、何がなんだか全然把握できない。したTipsを10も20も覚えればだんだん頭の中で体系化されてくるような気がしていたが、それより遥かにレベルが高かった。これは書籍かなんかで順を追って学んでいかないと駄目だ、と思った。そこで現時点の最新版であるUnity5に対応したC#解説本を探した。とびきり初心者向けのやつだ。するとずばりニーズに合ってそうな内容の本はこれくらいしかなかったので、これを買ってやってみることにした。単行本この商品を含むブログを見る特別わかりやすいとは思わなかったが、超入門というだけあって初歩的なことを順を追って説明してくれているので良かった。書いてあることをなぞりつつも、ちょっとずつ勝手なことをやってみたりして成長していった。大したことは出来ないものの、ごく簡単なスクリプトしか書かなくていいならば調べながら実現できるようになっていった。成長という快楽、あるいは逃避へのガソリン体系的な知識を詳細に学んでいくより、最初にざっと概要を学び、あとはチュートリアルをやりながら詳細を覚えていくほうが、成長スピードが早いように思える。おまけに成果物がどんどん出来上がっていくので成長を実感しやすく、モチベーションの維持もしやすい。あらゆる分野で有効な学習法だと思う。チュートリアルを続けていても、何も生み出せない。最低限のことが出来るようになってからは、目的を達成するための実戦経験の量をしっかりと確保しなくてはならない。実戦経験に時間を割くことで知識の習得が遅れてしまっても問題はない。実戦のための知識であり、知識のための実戦ではないからだ。いえ知識を身につけて成長することは人間にとって大きな快楽だ。理由を付けて学び続けたくなるが、目的があって学んでいるならば、その目的を忘れてはならない。目的を達成するための行動にこそ意味があるのであって、学ぶこと自体には「学ぶ」以上の意味は無いのだ。達成が困難な目的であるほど、未達成である現実と向き合わず、成長に執着しがちだ。なると成長することの素晴らしさなど関係ない。未熟な状態でも、実戦で勝てる強さを身につけるチャンスがあるならば、それを目ざとく見つけて着実に掴んでいかねばならない。僕は、目の前に無数のチャンスが見えてきたように感じた。それまでは何も見えず、とりあえず学ぶしかなかった。一方でまだまだ素人の域を脱したとは言えない状態なので、もっと「ちゃんと」理解して「ちゃんと」作れるようになってからオリジナルを作り始めたいという気持ちも強かった。その「ちゃんと」を待っていて結果を出せないまま悔しい思いをした経験が何度もあった。「ちゃんと」なんていうものは、いくら待っていてもやってこないのだ。「ちゃんと」を待たない勇気を振り絞らないといけない。僕は自分で考えたゲームを作り始めることにした。今の実力じゃクソゲーしか作れないのは明白だが、そのクソゲーで立ち向かい、実戦経験を積んでやるのだ。ゲーム制作の壁は一つじゃない!Unityでいろいろ動かせるようになったとしても、ゲームというのは成り立たない。何かしらのグラフィックが必要である。「さぁ作るぞ!」みたいな流れになっているわけだから、グラフィックのほうはそこそこクリアできるのだろう。思うじゃん?そっちも完全な素人なんだよね実は。いうわけでまずは安いペンタブを買ってみた。おもちゃ&ホビーこの商品を含むブログを見るMacで使えて無料でシンプルなペイントソフト、「FireAlpaca」もインストールしてみた。アナログと同じように描けても何も描けないけども!イラストは一朝一夕で身につくものではないというのも実感した。レベルでいいなら、知識を得ることでなんとかなりそうな気もした。膨大な量の知識になるが。今すぐに使えるスキルにならなくてもいいので、とりあえず基礎からちまちま学んでいくことにした。イラストの基礎と言えばデッサン。いうことでまず自分の手を真剣にデッサンしてみた。今まで絵を書く習慣がなかったのだが、その割には描けた。キツかったので、スキルが足りない。いって地道な練習をするには時間を取られすぎるので、上達のための方法を教えてくれる本を読むことにした。単行本(ソフトカバー)この商品を含むブログを見るこの本にはクロッキーをしてみて自己診断をしてみるように書いてあったので、クロッキーもしてみた。さっきのデッサンとは違い、クロッキーは速書きなので直す余裕なくてこれはこれで大変。デッサンの本も買ってみた。3回この商品を含むブログを見るためになった気がする。イラストのスキルはまだまだ使い物にならないので、今回のクソゲー制作では適当にごまかす方法を考えることにした。今になって思えば、デッサンよりイラストツールやベジェ曲線の使い方を学ぶほうが即戦力になった気もする。でかい壁があるぞ!グラフィックは適当にごまかすとしても、まだ大きな壁が1つある。音がなくてもゲームとしては成り立つが、音がないと楽しさが半減である。BGM、SE、それらを用いた演出があることによってユーザーに楽しさを届けることができる。例のごとくこっちも素人なんだよね。いうわけでまずはこのMIDIキーボードを買ってみた。5回この商品を含むブログを見る作曲とSE作りはMacに元から入っているGarageBandでやってみることにした。Xに移行してみたいけど、まずはお手軽版で。ガレバンを使ってみてまず驚いたのは、PCのキーボードをMIDIキーボードのように使えるため、いきなりMIDIキーボードを買う必要なんてなかったことである。ガレバンに慣れてから充分だった。あると楽ではあるが......次に驚いたのは、あらかじめ用意された膨大なフレーズを組み合わせるだけで曲を作れてしまうことだ。なんか適当にごまかすのが捗りそうなのだ。中にはYouTuberがよく使っていると思われる音源もあった。いうわけで、まずは短い曲を作ってみた。ドラムは自分で打ち込んだが、それ以外は用意された音源を適当に組み合わせただけだ。うむ、素人が適当に作ったわりにそれっぽい。高クオリティなものを作れるようになるまではやはり時間がかかりそうだが、ガレバンというツールを知るだけで、音に関してはある程度いけると確信した。いざオリジナル!試しに謎の空間で謎のオブジェクトを操作できる何かを作ってみた。なんとなく感覚も掴めてきた。わからないことだらけだが、できないことはやらず、とにかく完成させることを目指せばいけそうな気がした。コンテンツを作る上で一番大切なスキルは完成させるスキルなので、無茶してでも突き進むのが正しいと信じて強引に作り始めた。それでも完成させられるか危ういと思ったので、「クソゲーを作る」という目標を設定してみた。グラフィックをどうするかいざ作るとなると、まずはグラフィックをどうごまかすかが問題になった。なんかもう面倒なので、練習の時に使っていた神絵師カラバッジョさんの絵画を今回も無断使用することにした。なるとカラバッジョの絵ばかりを使う正当性のようなものが、ゲームのコンセプトに必要となってくる。それも面倒なので、いっそのことゲーム空間が「カラバッジョワールド」ということにして、ゲームに一切関係がない絵画をさも当然であるかのように組み込んだ。したらいい感じに狂気をはらんでコンテンツとしての謎のオーラが出てきた。ペンタブを使ったのはクソゲー感を出すための題字と、次のステージへ誘導する矢印くらいだ。音をどうするかBGMは新しく作ったりせず、練習で作ったやつをずっとループさせとくことにした。新しく作ることもできるが、それに着手すると完成が大きく遅れる。作りたい気持ちを抑え、「完成が第一、完成が第一」と呪われたように唱えながらSEをちゃちゃっと作った。SEは基本的にガレバンでそれっぽい単音を探し、それを1音鳴らして音声ファイルに書き出してそのまま採用している。意外となんとかなるそんなこんなで作り始めて3週間くらいで、「スーパーカラバッジョワールド」は完成した。Unityを学び始めてからは、2ヶ月くらい経った。プログラミング経験がなかったので、C#でUnityのスクリプトを書くことはとても大変だった。躓くところはだいたい初心者にありがちなところだったし、多くの人が躓いているところだった。基本的には調べれば解決した。躓いて調べてというのをひらすら繰り返すのはめちゃくちゃ疲れるし苦労したが、所詮は答えのある問題だ。体力と時間があればなんとかなる。クオリティだとか上手くいくかどうかは置いといて、とりあえずなんとかなる。問題はゲームデザイン、つまりどういうゲームを作るかであり、そこで適切な判断をする難易度がとんでもなく高い。ゲームを作りながら「ここはこうしたほうがいいかなぁ」「ここはもっと良くしたいのにどうすればいいんだろうなぁ」と悩むことは何度もあり、それでいて答えなどない。スクリプトを書く作業にあてるつもりだった時間もあっという間に吹き飛んだ。ゲームデザインに関してはもっと経験を積む必要があると感じた。完成が第一クソゲーでもなんでもいいから、とにかく完成させることが大事だと改めて実感した。作業を進めているといろんなスキルが足りないよう思えてしまうが、実際のところ一番必要なのは完成させるスキルだ。あたりまえのことだが、完成させるスキルがあれば他のスキルが不足していたって完成まで持っていける。そのスキルを伸ばすには完成の経験を積むしかないわけで、作りながら「完成が第一、完成が第一」と唱えて自分の中の完璧主義者を鎮めないといけない。いう意味では、「クソゲーを作る」といった目標設定はとても良かったかもしれない。自分の中の完璧主義者を極力抑え、完成に向かってまっすぐ走りやすい。出来上がるのはクソゲーだけども......次はシンプルゲーを作るよ!クソゲーを作り終え、今度はスマホ向けのシンプルなゲームを作り始めている。あとゲームデザインの本も読み始めた。ゲーム制作にかかりっきりにはならないが、これからもゲームは作っていくつもり。いった活動のログは今後もnoteのアカウントに投稿していこうと思っている。新しいことへの挑戦はキリのいいところでどんどん発信して、達成感を細かく稼いでいくと成長が早い。