ゲーム開発とシステム開発の経験を通して感じたこと
こんにちは!4月にテク二ケーションに入社したD.Hです。
私はこれまでゲーム開発を4年間経験してきたのですが、テクニケーションに入社して初めてシステム開発に携わりました。今回は、その経験から「ゲーム開発とシステム開発で違うところ」と、「ゲーム開発企業とSES企業での働き方の違うと思うところ」や逆に「変わらないこと」など、経験を通して感じたことを紹介していきたいと思います。
目次
ゲーム開発とシステム開発の違うところ
ゲーム開発とシステム開発の開発環境の違い
まず、システム開発に参画して、驚いたことはセキュリティの厳しさです。作業用のPCで社内で作業しているのにも関わらず、そのPCで直接作業するのではなく、リモートデスクトップにつないで作業していました。席を外す時はPCをロックしたり、机の上の資料を鍵付きロッカーにしまわなくてはならないという指示を受けました。
ゲーム開発では、社内では様々なことを横軸で共有していました。ただ、GitHubや社内GitLubでバージョン管理をしていたのですが、作業をするPCの権限の関係でそれができない環境でもありました。セキュリティの関係でファイルのマージ作業で困ることも。なので、ローカルで作業したものをUSBで渡し、手作業でマージをすることもありました。
情報漏洩が発生した場合に、ゲーム開発とシステム開発で損害の大きさからこのような違いがでていると思いますが、どちらの開発もセキュリティと制作効率を両立できるようになって欲しいと思いました。
ゲーム開発とシステム開発の書類の扱いと実装の方向性の違い
ゲーム開発では、書類は補足資料で、実際のゲームで正常な動作ができているかが重要でした。
それに対し、システム開発は書類も商品の一部で、かなり重要視されている印象を受けました。システム開発参画後、基本設計書・詳細設計書・検査要領書を作成することになったのですが、ゲーム開発にはありませんでした。
ゲーム開発では、設計段階のクラス図の設計書や作成や、実装後のドキュメントを書くことはありますが、それはあくまで自社での実装や運営のメンテナンスを円滑にするためのものであって客先に提出するものではありません。
システム開発では、基本設計書・詳細設計書・検査要領書を客先に提出するために資料通りの実装ができているかどうかが重要になります。なので、実装時に気軽に違う仕様・実装方法で提出済みの設計書の修正を行うことはできません。ただ、設計書に沿っていれば問題ないので、楽な部分でもあったりします。
それに対し、ゲーム開発では「ゲームとして良いもの」になっているかどうかが重要になります。実装を行う際に、問題があれば別の方法になったり、実装してみてあまりよくないと判断した時は、仕様変更と実装を何度も繰り返すことが良くあります。そもそも仕様書もなく「〇〇のゲームと同じような感じで」 とだけ書かれている場合も見受けられます。
重要視している点が、システム開発は書類と実装物の整合性、ゲーム開発はゲームの品質と違いはありますが、どちらも大変な部分は一長一短だと感じました。
ゲーム開発企業とSES企業での働き方の違い
人とのコミュニケーションについての違い
ゲーム開発企業の時とSES企業の時では、コミュニケーションの違いを感じました。ゲーム開発企業の時は同期・先輩・後輩という関係があって、同期と一緒にゲームをしたり、後輩の悩みを聞いたり、先輩に相談したりなどかなり深い関係がありました。ただ、深い関係がゆえに「あの人とあの人は仲が悪くて…」など噂話を聞いてて憂鬱になることも稀にあるかと思います。
SES企業では、あくまでビジネスパートナーという感じで、仕事をしていく中で円滑に進めるためのコミュニケーションは取りますが、ゲーム開発企業にいた時ほど深い関係ではなく、サッパリした関係だと思います。また、システム開発の現場では、今まではゲームの話など共通の話題で盛り上がることができたのですが、それが通じなかったので、雑談する時に何の話題を話すか困ってしまったのは良い思い出です。
どんな環境でも変わらないこと
コーディング作業に関して
コーディング作業に関しては、どんな環境でも目立った違いはありませんでした。設計書や仕様書を見ながら実装して、自分で実装し、テストをして修正を行う。わからないことがあれば、自分で調べたり他の人に聞いてみたりなど、基本的な流れは一緒で特に違いはありません。
技術的な観点では、ゲーム業界でUnityでC#を扱っていましたが、システム開発でC#を扱った時もUnity特有の機能以外の物以外は同じような処理の流れで、違和感もありませんでした。チームで制作する観点では言えば、コーディングの規約をなるべく揃えたり、違うツールでも共通処理になりそうな部分は実装を揃えるなど、チーム制作をする上での意識は一緒でした。コーディングに関しては、どんな環境でもすぐ馴染んで作業ができるのではないかなぁ…と思います。
まとめ
今回は、ゲーム開発とシステム開発の違いや、ゲーム開発企業とSES企業での働き方に関して紹介させていただきました。システム開発については、まだ経験が浅いので、もしかしたら違う部分もあるかと思いますが、もしこれからゲーム企業やSES企業に入りたいと思っている方の参考になったら幸いです。
ありがとうございました。