【東京スタジオインターンシップ2期生】制作の始まりとプログラム

こんにちは!
東京スタジオインターンシップ第2期生、プログラマー志望の井上優です。

インターンシップが始まってから、既に2週間が経ちました。

本来であれば、先週から本格的な制作作業が始まっている予定でしたが、
なかなか思うように進まず、先週いっぱいを使ってようやく形になってきました。

遊びの根幹(コンセプト)

 

企画決定当初から、「レイヤーを生かした面白い遊び」というコンセプトに対して
「具体的にどう遊んでもらうのか」という部分が、なかなか見えてきませんでした。

また「レイヤーを生かした遊び」の幅を広げようとすると、
今度はコンセプトがメンバーによってずれてきたりもしました。

この1週間、こんなことを繰り返しつつ、本当にミーティングの連続でした。

メンバーからは「早く制作に取り掛かりたい」という声も上がりましたが、
遊びの根幹部分を疎かにしては面白いゲームにならないという意見は
全員共通だったので、時間ぎりぎりまで粘ることにしました。

そして今週末、ようやく納得できる形になりました!

その概要を簡単に説明します。

(1)キャラクターがレイヤーを奥に移動することでシルエットができる。
   ↓
(2)そのシルエットがアイテムとなって動き出す。
   ↓
(3)そのアイテムを使って様々な障害を乗り越えゴールを目指す。

という流れです。

例を一つ挙げましょう。

ステージには三角形や棒、丸という素材が落ちています。
プレイヤーが、そのうちの一つである棒を持ったとしましょう。

その棒を、ステージに落ちている別の素材である三角形の近くに持って行ってから離すと、
棒が三角形にくっつきます。

その状態でキャラクターがレイヤーを移動すると、シルエット的に
フラスコのような形になるのでフラスコというアイテムとして機能するということになります。

現在、この方向で試作を作っているところです。

プログラマーの共同開発

 
次に、プログラマーとしての話をしたいと思います。

私は、これまで複数人でプログラムを作るという経験がほとんどありませんでした。
なので、今回のインターンでも一番心配だったのが、
果たして共同でプログラムを組むことができるのだろうかということでした。

しかし、いざやってみると、メンバーの制作したライブラリが使いやすく、
プログラム設計の考え方が似ているメンバーがいるおかげで、
案外すんなり共同開発の環境に馴染めそうです。

他人のプログラムを見て作業する良い機会なので、
お互いわからないところは聞きあって理解を深めようと思います。

コーディング規約

 
また、今回、プログラムをする際のコーディング規約は、それほどきつくしないことにしました。
コーディング規約というのはプログラムを組む際の決まりごとで、
メンバーが同じ規約に従ってプログラムを組むことで理解しやすいものとなりますが、
それを覚えるためには多少の時間が必要です。

誰のコーディング規約にするかについてミーティングをして話し合った結果、
今回のような短期での制作で、お互いのコーディング規約を覚えるために時間を割くぐらいなら、
共通で使うコーディング規約は簡単なものにして、自分の使い慣れた規約を使おうという結論に至りました。

その代わり、自分のプログラムは責任を持って自分で直すことになります。

私個人としては、今回の開発で主にレイヤー移動と当たり判定の処理と、
ステージ内の仕掛け全般を担当することになりました。

レイヤー移動というのは、レイヤーとレイヤーの間をキャラクターが移動する処理です。
また、当たり判定というのはキャラクターがゲームの中で物に当たったことを検出して、
その後どういった動作をするのかを決める処理のことです。

現在は、ステージと仕掛けの試作を作っているところです。

今のところ、完成しているのは、

(1) プレイヤーが、何枚か重なったレイヤーの奥へ行くことで、
(2) 手前のレイヤーは、次々と重なって黒くなっていき、
(3) その黒くなった部分はプレイヤーが進めなくなる、

という設定までです。

今後の目標

 
直近の目標は、レイヤーを重ねた際に出来たシルエットに、
アイテムとしての機能を持たせる処理を作り終えることです。

例えば、先ほど説明した棒と三角形をくっつけて奥に行くとフラスコとして機能する、という処理になります。

このゲームをつくるうえで「レイヤーを移動している感じ」を上手く出すことが
プレイしているときの気持ち良さにも繋がると思っているので、こだわりたい部分でもあります。

ゲームの方向性も決まり、ここからは完成まで目まぐるしい制作の日々が続くかと思いますが、
何事も良い経験になると信じて全力でやっていきます!

では、また次回お会いしましょう。