どうも、コニーです
先日サイバーエージェントさんの3daysインターン、
ゲームクライアント向け 開発型インターンシップ
「プロトスプリントリーグ」
に参加してきました!!
今回はそのインターンの概要と、私が行った「サーバーとの繋ぎこみ」について紹介します
このインターンに興味ある人のほとんどが
「サーバーとか触ったことないんやけど何するの?」
と感じていると思います
しかし参加する前からインターンで行うことを知っておきたいですよね!
この記事を読めば、ざっくりと概要がわかります(多分)
注)繋ぎこみに関する技術的な話は↓の記事で解説します
CAインターンで学んだサーバーとの繋ぎこみについてまとめてみた
【サイバーエージェント】インターン内容について
それではさっそくインターンの内容と自分たちが作ったゲームを紹介します
インターン概要
インターンといっても色々種類がありますが、このインターンはハッカソン形式でした
3日間でゲームを開発し、その完成度を競うイベントになっています
クライアントエンジニア4名+サーバーサイドエンジニア1名の5名でチームを組み、一緒に制作するというのが特徴です
各チームごとにクライアントとサーバーサイドのメンターがついてくれ、サポートが受けられながら学べるというのが売りですね
制作したゲーム
私たちは『MATRIX』というFPSシューティングゲームを制作しました
飛んでくるオブジェクトを破壊して得点を競うゲームです
プレイ画面は↓のような感じです
ラウンドが進むごとにオブジェクトが増え、難易度が上がっていきます
「もう処理が追いつかない!!」というときは
『飛んでくるスピードがゆっくりになる』というマトリックスタイム機能を使って乗り切りましょう!
私の担当
私はこのインターンの目玉である『サーバーとの繋ぎこみ』を担当しました
詳しい内容は次の章でお話ししますが、
・ログイン機能
・ランキング機能
などを実装しています
サーバーとの繋ぎ込みって何するの?
いろいろ書きましたが
「で、サーバーとの繋ぎこみって何するの?」という感じですよね
結論から言うと
『ユーザー情報や得点をサーバーと送受信する』という処理をやります
学生が作ったようなゲームでは「メインのゲームを遊んでハイ、終了!」というものが普通だと思います
しかし世の中のソシャゲでは手に入れたアイテムやスコアなど、ユーザーごとにデータを管理しているんですね!
そしてそのデータをもとにランキングが作られ、ユーザー同士が競え合えるようになっています
前回遊んだデータが残っていたり、ランキングがあると「またこのゲームで遊ぼう!」という気持ちになりますよね?
これらのことがサーバーからデータを送受信することで可能になるんです
今回のインターンではサイバーエージェントさんが送受信のテンプレートを作ってくださっています
そのテンプレートを使って
・ユーザー登録機能
・ログイン機能
・ランキング機能
を実装するのがこのインターン内でのミッションです
サーバーとの送受信といってもクライアントサイドの私たちが
扱うコードはC#なので安心してください(笑)
詳しい説明などはクソ長いので別記事でお話しします
【サイバーエージェント】インターンの感想
こんな感じのことをしたインターン…
マジで大変、でもめっちゃ楽しい3日間でした!!
始まる前はサーバーとの繋ぎこみなんてやったことないし、他のスキルも優れているわけではないのでめちゃめちゃ不安でした
さらに一緒にチームを組んだクライアントサイドのメンバーは
AR、ガチイラストレーター、UI素材が創れる
など全員得意ジャンルを持っていました
↓メンバーが作った超イケてるUI
そんな中で自分が勝てるものがないと感じたからこそ、あえて誰もやったことがないサーバーとの繋ぎこみに挑みました
もちろん通信に関するチュートリアルから苦戦し、正直その時点で挫けそうでした
始めったからもサーバーとの連携に時間がかかり、3日目の締め切り直前までランキング機能ができなかったときなど
「なんで立候補しちゃったかなぁ…」
と何回も感じたのを覚えています
しかしそのたびにサーバーサイドのメンバーには何回も知識の共有をしてもらったし、メンターさんに助けてもらいまくりました
内心半泣きになりながらも自分で手を動かし、ゴールできたのは一所懸命にゲームを作っている仲間がいたからです
かなりしんどかったですが、このインターンを通して新しい知識と経験を手に入れました
自信がなくても思い切って飛び込んでみて良かったなと感じています
ただ今回の開発で『自分の技術的レベルの低さ』が開発の遅れにつながり、チームへの負担になってしまっているのを感じました
・Gitの扱い
・C#のクラスなどの知識
・UnityWebRequestの理解
など今後解決すべき課題が見えてきたので1つずつクリアしていきたいです
まとめ
もしこの記事を読んでいる方で参加するか悩んでいる方がいたら
とりあえず参加してみろ
といいたいです
今までチーム開発やサーバーを触ったことがない不安はめっちゃわかります
しかしこれらは将来ゲームを作りたいと思っているなら、いずれ絶対にぶち当たる技術だと思います
もちろん独学でも学べるかもしれませんが、このインターンなら困ったらめっちゃ丁寧に助けてくれます
メンター神を崇めましょう
さすればきっと救われます(笑)
結果一番簡単に学べる気がするので、やったことがないからこそ参加するべきだと思います
長くなりましたがこのインターンでめっちゃ多くのことを学びました
この経験を活かして開発をしていきます!
参考)
同じチームのメンバーもこのインターンについての記事を書いているので紹介します
インゲーム担当
CyberAgent主催「3days ゲームクライアント向け開発型インターンシップONLINE」に参加してきました
インゲーム担当
「3days ゲームクライアント向け開発型インターンシップONLINE」参加後のまとめ
UI・企画進行担当
【Unity】CAのハッカソンに参加してきました!
時系列に沿ってやったことを紹介しているので、あわせて読むと面白いと思います
今回インゲームやUIなどを他のメンバーにまかせっきりだったので、「みんなこんなこと考えてやってくれてたんだ」と感じました。
選考のことから話しているメンバーもいるので是非読んでみてください!
またメンターをやってくださった木原さんが本を出しているそうなので、そちらも紹介しておきます(笑)