1年が経ちました
こんにちは。プログラマーの住友です。最近急に暖かくなったり涼しくなったり、日によって気温差が激しいですね。今月はGWがありましたが、私は珍しく旅行に出かけました。新幹線を使わず、在来線特急に乗りのんびりと目的地に赴き、おいしいものを食べたり、秘境駅に行ったり、良い一人旅でした。連休、良いものですね!
さて、自分がこの新人ブログを書くのは今回で最後となるので、今回は1年の振り返りとして、この1年の自分の行ってきた業務について書いていきたいと思います。
[1]レベルデザイン業務
自分が主に行ってきた業務となります。簡単に言えばバランス調整の業務となります。難しすぎないか、逆に簡単すぎないかを確認し、適切な難易度になるように調整を行っていきます。難易度というものは人によって感じ方が違うものであるので、自分の感覚だけを信じて調整を行うのは良くありません。ただ、自分の感覚を全く信じないのも違うかなとも思いますので、調整の際は、理論的、客観的に考えつつ、自分の感覚も少しまぜながら行うようにしています。
[2]Google Apps Script(GAS)を用いたプログラムの作成
スプレッドシート上の情報をデータベースで使用する形に整えるプログラムの作成をGASを用いて行いました。GAS自体は扱ったことが無かったので、文法等を調べながらの作成でしたが、基本的な文法はC言語に似ていたので作成自体は比較的すんなり行えたと思っています。ゲームのプログラムは学生時代から書いていましたが、ツールのプログラムはほぼ書く機会が無かったので、中々新鮮な経験でした。ゲームと比べて、ユーザの行う入力の幅が大きいので、その入力が正しいものなのか判定を行う処理(エラー処理)により注意を払って作成を行う必要があるという印象でした。
[3]アウトゲーム側のプログラム業務
アウトゲーム側のプログラム作成に参加しました。アウトゲーム側とはインゲーム側以外の部分全てのことです。と言いましても分からないので(自分も最初全く分かりませんでした)、おおざっぱに言いますと、インゲームとはアクション、アドベンチャーなど実際にプレイするゲーム部分を指し、アウトゲームとはその周辺を意味します。例えば、アクションゲームだと、インゲームはキャラクターの動作や、敵とのバトルを行う部分、アウトゲームはUIの表示やゲームの進行を制御する部分を指します。
この業務を経て得た見解は、インゲーム側担当の人との情報の共有が非常に重要になるということです。例えばUIの表示処理周りでは、どのタイミングでどのデータを基にして表示するのか、また、そのデータはインゲーム、アウトゲームのどちらで保持するのか、ゲーム内での情報のやり取りはどのようにして行うのか、というようなことを先に決めなくてはいけません。特にこの各データの保持場所とやり取り方法をしっかり決めないと、プログラムを書けない(書きようがない)ので、インゲーム側の人と相談してしっかりと決める必要があります。このことは個人で制作をしているときには得られなかった見解で、個人的に良い経験ができたと思っています。
[4]データの収集業務
こちらは比較的最近行っている業務となります。簡単に言えば、サーバーに上げられたデータを目的に応じてSQLを用いて表示する業務となります。このSQLのクエリ(コード)を書いたり、クエリが正しいものなのかの確認作業を行ったりをします。データには正確性が求められますので、この確認作業は重要なものだと思っています。
確認の際には、クエリの全体の流れを読み取り、1行1行なぜその様に書いているのか、また、その結果何が得られるのかを逐一確認しながら、誤りが無いかを見ていきます。また、基本的に他の人の書いたコードを確認するので、その人がどのような思考で書いたのか、その思考だと考慮漏れが発生しないのかという部分もクエリから読み取る必要もあります。これは中々大変な作業です。ただ、この作業の重要性は高いものであるので、毎回気合いを入れて行っています。
さて、1年間の振り返りとして自分の主に行ってきた業務について書きました。他にも細々とありますが、大きく分けるとこの4つかなと思います。振り返ってみるとそれぞれ何かしら得られるものはあったなと思います。この先も業務で色々と経験を積んでいくとは思いますが、その経験の中で自分が得たものは何なのかを確認しながら業務を行っていければと思っています。
自分の新人ブログはこれで最後となります。1年間ありがとうございました。