平井 佑樹

ログレスマップエディタのパフォーマンスを改善したお話


はじめまして、17年度新卒エンジニアの平井です。

今回、新卒エンジニアの平井と西田の二人がパフォーマンス向上のため新たにUnityでマップエディタを開発しました。
その際に改善した点や苦労した点を紹介しようと思います。

マップエディタとは

弊社の「剣と魔法のログレス いにしえの女神」及び「ブラウザ版 剣と魔法のログレス」では、自社GUIツールを使用してマップデータを制作しています。地面タイルの配置や噴水などのオブジェクトを配置するだけでなく、キャラクターが移動できない位置の指定や影の設定など、マップ処理に関する様々な設定も可能です。

~新マップエディタ画面~

ログレスの旧マップエディタは、Adobe AIRで作られています。これは、先に開発されたブラウザ版ログレスがFlashで作られているため、マップ上に配置されたオブジェクトを表示したりアニメーションをしたりするためのコンポーネント群を、ゲームクライアントとマップエディターとで共有ができ、開発効率が高いためです。

旧マップエディタの問題点

旧マップエディタは以下の問題がありました。

  • ファイル読み込みに時間がかかる
  • 描画速度が遅い
  • 弊社でAdobe AIRを使えるエンジニアが少なくメンテナンス性が低い

新マップエディタでは、これらの問題を改善することが目標となります。

Unityで開発した理由

  • 弊社には Unity を使えるエンジニアが多くメンテナンス性が向上できる
  • 弊社が Unity を使った開発を活発に行なっており、情報収集が容易かつノウハウを蓄積できる
  • 新卒エンジニアとして Unity を覚えて基本的な開発方法を知っておきたい、使えるようになっておきたい

今回、Unityのエディタ拡張は行わずツールアプリとして運用します。
Unityのエディタ拡張を使わない理由は、マップデザイナーが新マップエディタを使う際に
旧マップエディタと同じ操作感に近づけるためです。

目標

  • 旧マップエディタの機能を再現
  • パフォーマンス改善

これらの目標を達成するために苦労した部分や工夫した部分を解説していきたいと思います。

旧マップエディタの機能を再現

基本的な配置機能は問題なく実現できました。
しかし、旧マップエディタはFlash固有の機能を使って表現している部分があり、Unityのスプライト標準機能では表現できませんでした。

これを解決するためにUnityのシェーダー機能を使って表現しました。

~マスクブレンド~

~カラーブレンド~

ここまでは順調に開発できましたが、Unityで開発していくにあたってパフォーマンス周りの問題が発生しました。

パフォーマンス改善

  • マップファイルの読み込みに時間がかかる

ログレスの標準のマップは平均で10万個のチップやオブジェクトが配置されています。新マップエディタではUnityのGameObjectを10万個作成すると処理が重くなるため、カメラに映し出される箇所のGameObjectのみ生成し、それ以外はデータだけ保持するようにしました。それにより従来6分かかったマップを1分足らずで展開することが出来ました。

  • 描画速度が遅い

マップを読み込み時にチップやオブジェクト(GameObject)をインスタンス化した際にマテリアルも複製されていたためドローコールが増えていました。そのため、インスタンス化する際、1つのマテリアルでチップやオブジェクトを生成して、そのマテリアルのテクスチャを差し替えることで800ぐらいあったドローコールを20~30にまで削減しました。
さらに、カメラに映し出される部分のみチップを生成し、画面スクロールした際、そのチップのテクスチャのみ変更して最小限のGameObjectで描画できるようにしました。その結果、マップ読み込み時のチップ生成速度や描画速度が向上し、スムーズな視点移動が出来るようになりました。

結果

旧マップエディタでも上記の最適化は行われていましたが、平均で20~30FPSしか出ませんでした。しかし、新マップエディタでは常時60FPSを維持することが出来、描画速度の改善を達成できました。

~カメラに映る画面~

~カメラの範囲外のオブジェクト~

まとめ

旧マップエディタと比べてパフォーマンスが向上し、より快適にマップ制作が出来るようになったと思います。Unityで制作したため今後のメンテナンス性はAdobe AIRと比べてかなり上がり、今後の要望にも迅速に対応できるようになりました。

振り返り

Unityを使ったことによりプロトタイプを早く作成することが出来ました。
処理の最適化をする際にとても苦労しましたが、今思えばどうすれば処理を軽くできるかを試行錯誤して、とても良い経験になったと思います。
マップエディタを作るにあたり、どうすれば使いやすいのかを、もう一人の新卒メンバーの西田さんや先輩と話し合いながら取り組みました。
新マップエディタの制作で得た経験を、今後の業務に活かしていきたいと思っています。

ありがとうございました。


菅野 明洋

第4回 Game Gatling LTに登壇してきました!


はじめに

初めての人は初めまして、前回の記事(社内でエンジニア読書会をやってみた!)見てくれてる人こんにちは!
大阪スタジオ インフラチームの菅野明洋です。
業務では、大阪スタジオのサービスインフラを担当させていただいております。

今回は、2017年12月9日の土曜日に大阪で開催されました第4回 Game Gatling LTにて、スピーカーとして私と藤井が登壇させていただきましたので、レポートとしてまとめました。

GGLTとは

関西でゲーム開発に携わるエンジニア、デザイナー、プランナー等の人が集まり、ライトニングトークを行うイベントになります。

今回発表させていただいた内容について

今回の発表は、ミドルウェアの性能試験などの話になります。

■菅野明洋:我流ミドルウェア性能・障害試験の心得

■藤井章暢:仕事以外でプログラミングのモチベを上げる方法

私の発表ではミドルウェアの性能試験を中心に発表しました。今回は後進向けの教育を想定した作りにしております。
プロジェクトでミドルウェアを選定する場合、枯れていないミドルウェアを用いると情報が少ないケースが非常に多いと思います。その中で、少しでも多くのノウハウを積むための考えみたいな物をまとめてみました。ミドルウェアを適切に選定や使用できなかった場合は単純に開発・検証する以上のコストがかかるケースが多いため、きちんと精査していきたいと思います。

藤井の発表では、業務外でのプログラミング活動についての話を発表しました。
日々の情報収集などをどのように行うか、通勤途中の時間や休日をどう活かすかなどの実例の紹介になります。業務上で知識を得るのも重要ですが、課外活動や日々の行動改善で知見を得るのも重要かなと思います。
詳しくはスライドをご覧ください。

■発表中の様子

発表中の菅野

発表中の藤井

感想

今回は、登壇だけでは無く運営の参加にも挑戦してみました。
業務を行いながら並行で準備するのは大変でしたが、勉強会の裏側が見れて良い経験ができたと思います。

また、登壇については、やや時間配分を間違えて残りのページを話しきれなかったのが残念でした。次回はそのようなミスが無いようにしていきたいと思います。

最後に

GGLT運営の皆様、会場に来場した方々、登壇の機会を頂きありがとうございました。色々と面白い活動の話や、明日から実践してみようと思えるような話等が聞けて良かったです。
今後も皆様とこのような場で情報交換できると幸いです。


mori

HALインターンシップレポート(大阪スタジオ編)後編


こんにちは。人事の森です。

前編に続きまして、「HALインターンシップ」後編では、素晴らしい活躍を見せてくれた3チームの各リーダーに突撃インタビューを行いましたので、その様子をお送りします。

 

まずは、リーダーの紹介。

向かって左から、

  • Aチーム「Dengeon」:岡野 浩之さん(HAL名古屋)
  • Bチーム「コウモリたちのバッドディ」:横山 慈永さん(HAL名古屋)
  • Cチーム「キツネットワーク」:蒲生 大地さん(HAL大阪)

 

こちらの爽やかなお三人が様々答えてくれました。

 

(HALインターン リーダーインタビュー) ※敬称略

 

森:まずは、Aimingのインターンに参加しようと思った理由を教えて下さい。

・・・すごく緊張気味の3人ですが、まずは岡野くんから・・・!

 

岡野:僕はHAL名古屋から来てますが、HAL名古屋は先生からの紹介によってAimingさんを勧められました。僕のインターン先がAimingと知って、テンションあがりました。ログレスをやっていたので、とても嬉しかったです。

横山:僕はAimingのことはよく知らなかったですが、スマホゲームの会社だと聞いて嬉しかったです。最先端の開発を知ることが出来ると思いました。

蒲生:僕はHAL大阪で、HAL専科(夜間に行われる特別ゼミのような授業)でAimingさんの授業を受けていたので、Aimingのことはよく知っていました。そこで働く人達にとても興味を持ったので、インターンに行きたいと思い応募しました。

 

・・・Aimingは、HAL大阪で「専科」を受け持っています。「オンラインゲームプランニング専科」や「オンラインゲーム開発専科」など。蒲生君はプランニング専科の受講生でした。

 

森:3人はどうしてリーダーになったのですか?

全員:皆の推薦です。(全員一致)

 

森:Aimingでは、チーム開発を行う上で、「リーダー/リーダーシップ」は非常に大切なものだと思っています。社内では、随所でこの力が重要視されます。皆さんはリーダーって何だと思いますか?心掛けてることとかあったら教えて下さい。

岡野:皆を引っ張っていきながらも、前に出すぎるのではなくて、共に歩きながら肩を組み、周囲を鼓舞することを心掛けていました。リーダーはすごく有能な人じゃなくても出来るんだ、と思うようにしています。飛び抜けた技術がなくても、コミュニケーションをしっかりとることでリーダーシップを発揮しようと思いました。

横山:制作は終わりが見えないこともある。リーダーとは、「闇を払っていく役割」と思います。他の人を置いてけぼりにしてはいけない。

森:リーダーは「闇を払っていく」役割。良い言葉ですね。(闇を駆けるコウモリとかかっているいるのかしら・・・?) ※以下参照画像。

 

蒲生:チームメイトの仲を保つこと。今回のインターンでは、HAL名古屋の人は、大阪勢より人数が少ないので、肩身の狭い思いをさせないように気を付けました。そして、納期を守ることを厳守しようと思いました。過去に、クオリティを上げる事に必死になり納期を守らなかった経験があるので、その反省が元になっています。

森:Cチームの進捗報告、素晴らしかったです。あと何が残っているのか、この先の展望と合せて説明されていて、とても良かったです。

 

森:1ヵ月過ごした中で、「面白かった」ことを教えて下さい。

蒲生:学校でもチーム開発は経験していますが、ここに来てる人達はモチベーションが元々高いので、何もかもがスムーズだったことです。人生で1番楽しいチーム開発でした。チームメンバーの頑張りで、新技術を取り入れることも出来たし、たくさんのチャレンジがありました。

横山:リーダーを経験できたことです。リーダー経験は初めてではないですが、チーム全体のSlackの会話を俯瞰して眺めるようにしたり、全体把握に努めました。

 

森:では逆に、開発中に1番苦労したことはなんですか?

岡野:UNETの勉強が難しかったです。初めて触ったので、進捗が上手くいかず、何も出来ない状態が最初の1週間続きました。間に合うのかな・・と不安になりましたが、上手くいって本当に良かったです。他にはネットワークの環境構築やエフェクト、アニメーションの作成も、「苦労」とは違いますが、頑張りました。

横山:企画が決まるのが遅く、コンセプトを練るのに苦労しました。制作では、結合する時にバグが発生してしまい、バグをとったらまた別のバグが出る・・・これは大変でした。エンジニア全員でPhotonの勉強をやったことも印象的です。

蒲生:企画が2週目の水曜日まで決まらなかったので、エンジニアに負担をかけてしまいました。HALではまだネットワークをやっていないので、Photonを初めてやったし、Sub versionを触るのも初めてでした。初めてのことは大変ですが、インターンを通して学べたことは大きいです。

・・・初めての経験を試行錯誤してちゃんと成果物として完成できた、素晴らしい・・・!

 

森:幾つか行ったグループワークはいかがでしたか?

岡野:紙飛行機のワークショップが印象に残ってます。丸めて飛ばしたのは僕のチームですが、飛びはしたけど、「品質としてはお客様に出せないよね」と言われたのが気付きでした。思考錯誤の過程も面白かったです。ログレスディスカッションは、緊張して頭真っ白だった。記憶がないです(笑)

横山:マシュマロチャレンジや紙飛行機のように、ルールを初めて知り、限られたツールや時間の中で実施する体験は初めてでしたが、発想力を持ってチームワークで改良してくのが楽しかった。

・・・チームワークで見事に改良した結果がこの笑顔^^
蒲生:僕も、紙飛行機チャレンジが印象的です。クオリティを求めすぎて、求められてるのは「3メートル以上飛ぶことを量産する」なのに、6メートル以上飛ぶことを誇ってしまった。他には、見積もりと結果という考え方や、固定概念に囚われないこと等、「なるほど」と思うことが多かったです。

・・・これですよね。めちゃくちゃ飛んでましたよね。歓喜の声が響いてました。

 

 

森:Aimingのスタッフ(主にメンターさん)と交流しての印象を聞かせて下さい。
蒲生:とにかく「優しい!」です。先程褒めて頂いたタスク管理の方法は、メンターさんに教わったんです。すごく参考にしました。ホワイトボードに アナログトレロを書いて「タスクの見える化」を教えてくれたのもメンターさんです。見える化は凄く大事。身をもって知りました。これを取入れてから、開発が一気にスムーズになりました。メンターさんは自分より年が3つだけ上とは思えない程、しっかりしている。何か相談したら、最初に必ず「それ分かる」って共感してくれるんです。この言葉にすごく安心しました(笑)

横山:メンターが自分たちを信頼してくれてると感じました。お母さんが息子を見るような温かい目で見てくれました(笑)気軽に沢山のことを相談させて頂きました。

 

・・・試遊会では、ディレクターがゲームの感想を伝えます。メンターも同席し、フィードバックを確認。真剣そのものです。

 

岡野:色んな指導の仕方があるのだということを知りました。厳し目なお言葉も貰いましたし、成果物を見て褒めてもくれました。砂漠とオアシスを両方持っていて、締める所はちゃんと締めてくれてる。厳しさとやさしさを併せ持っている印象です。

 

森:何かしらの成長がありましたか?

全員:YES!

・・・最後の言葉、「YES!」を聞いて、私たちも心底「よかった」といえるインターンシップでした。参加してくれた学生の皆さん、1ヵ月本当にお疲れ様でした。

 

 

(まとめ)

1ヵ月を通して、皆個々にチャレンジがあり、成長を実感できる体験が出来たとの言葉、何より嬉しく思います。3チームともに素晴らしかったのは「チームワーク」。リーダーに協力しようという姿勢があり、リーダーはメンバーを思いやる心があり、終始明るい雰囲気のまま進行しました。また、インタビュー中には「メンターさんが厳しい言葉をくれた」との回答がありましたが、該当メンターは入社1年目の新卒スタッフ。後輩が出来、指導する立場となってその難しさに直面し、言わなくてはいけないという責任感から出た言葉なので信頼関係が生まれる。こちらにとってよい学びの機会となりました。

 

 

・・・こちらの写真↑ Bチームメンバーと、一昨年にこのHALインターンのメンターを努めてくれたAimingスタッフの姿も。昨年メンターを努めたスタッフが、翌年にはメンターさんのアドバイザー的なポジションとして、順繰りに後輩をサポートしていく仕組みがあります。

 

Aimingでは通年を通して多くの職種でインターンシップを受入れています。広々スペースで思い切り議論し、物作りに没頭することが出来ます!カリキュラムやスケジュールは柔軟に対応していますので、興味ある皆様、エントリーお待ちしています。

 

 

(おまけ)

 

最終日の打上げにて。多くのAimingスタッフも参加し、盛り上がりました。

 

 

             ★皆さんの未来に乾杯★

 

(完)

 

 


mori

HALインターンシップレポート(大阪スタジオ編)前編


こんにちは。人事の森です。

今日は、毎年恒例、大阪スタジオ10月の風物詩でもある「HALインターンシップ」について書きたいと思います。

大阪スタジオでは、HAL大阪とHAL名古屋から総勢24名の学生さんにお越し頂き、今季増床したばかりのオフィススペースを使ってインターンシップを行いました。広々としたスペースなので、活発な議論を交えながら伸び伸びと制作活動を行うことが出来たと思います。

今年のテーマは「伝える」「伝える」をテーマにしたゲームを制作してもらいます。24名をA、B、Cの3チームに分け、ゲーム制作を行います。1チームの内訳は、エンジニア4、プランナー3、デザイナー1。なかなか良いバランスではないでしょうか。
さて、3チームから、どんな「伝える」ゲームが生まれるのか・・・楽しみしかありません。

インターン生のフォロー体制としては、管理者やアドバイザーの他、最もインターン生と身近に接する「メンターさん」を任命します。このメンター任務を任されたのは、入社1年目の新卒エンジニア、新卒デザイナー、2年目のプランナーが2名という4人の若者達。彼らにとっても、学生を指導することで学びや気づき等、得るものがあることを期待して、インターンシップは始まりました。

 

1ヵ月という、長くて短いこの期間中に詰め込んだミッションやカリキュラムはざっと以下の通りです。

  • 「伝える」をテーマにゲームを制作(メイン)
  • 「中間発表」「最終発表」「Aimingディレクター試遊会」「Aimingスタッフ試遊会」による4段階のフィードバック(これも大事)
  • PDCAサイクルやチームワークの活用に着目したグループワーク(盛り上がりました)
  • 「ログレス」を分解するグループディスカッション(ログレスディレクターを前に、緊張で記憶がないという子がいました)

 

↓ ディレクターやメンターによる試遊会。思いがけないバグも発見されました。

 

↓ スプリント中に、「3メートル以上飛ぶ紙ヒコーキを幾つ生産できるか」というグループワーク。PDCAを上手く回して、チームで紙ヒコーキを作ります、飛ばします、そして数えてまた作ります。かなり忙しくスプリントを回していきます。

 

こ、これは・・・! 紙くず・・・? ゴミ・・? いや、紙ヒコーキ・・?

驚異的な数が3メートルを超えていますが、これを「紙ヒコーキです」とお客様に出すことはで出来ないでしょう。「紙ヒコーキ」の固定概念に囚われない姿勢は良いかもしれません。

 

 

それでは、1ヵ月の成果であるゲーム作品を、それぞれ簡単に紹介したいと思います。

 

まずはAチームから・・・

「Dengeon-美女と呪いの冒険」 

 

「伝達」の「デン」+「ダンジョン」=「デンジョン!」ピクトグラム(絵文字)によって「伝える」をデザインした最大4人同時プレイのマルチプレイヤーローグライクゲーム。
画面構成はサイドビューで、基本的にキャラクターの移動やバトルは自動で進行していきます。そこでこのゲームの肝となるのが絵の伝達というものです。(出た!伝える!)

各プレイヤー毎に示された異なるピクトグラムを全員が同時にお絵描き板に描く。そのピクトグラムを伝えあうことで、扉の先に待ち受けている様々な要素を推測していきます。その推測結果を元に有利な道を選択し、体力の回復、強力な武器の取得などを重ね、最終的にはボスを倒せればゲームクリアーとなります。
ローグライクというランダム要素がベースにありながらも、情報を的確に伝達することで最適な道を選択できる!ですが、お絵かきには時間制限があるので、うまく伝えられない時は、ランダム性による不安定なゲームプレイになってしまうという、何とも絶妙なこの塩梅がこのゲームの面白いところです。

 

 

続いて、Bチームは、ホラーゲームが好きなメンバーによる

「コウモリたちのバッドディ」

最終発表会は、10月31日。つまり「ハロウイン」です。季節感にちなんだ作品を制作するなんて乙だなぁと感想を述べたところ、それは関係ないとのこと。でもコウモリがパンツ履いていて可愛いので問題ありません。

このゲームは、3人 vs 1人の4人同時プレイ、鬼ごっこタイプのマルチプレイヤーホラーアクションです。3人チームのコウモリ側と、1人のコウモリ駆除ロボット側に分かれてゲームをスタート!

逃げるコウモリ、追いかけるロボット・・・まさしくホラーです!でも赤や黄色のパンツがとってもキュート。

 

コウモリ側はマップに散らばった脱出用アイテムの歯車を一定数集め脱出すると勝利になります。また、一定時間以上逃げ延びても勝利です。(私はひたすら逃げ延び、そして勝利しました・・・!)

ロボットは制限時間内にコウモリを全て捕まえると勝利です。
コウモリは、暗闇の中、音波を飛ばして壁に反射させることでマッピングを行い視覚化することが出来ます。また、その視覚化したマップ情報をコウモリチーム間で共有し、これを脱出に活用します。(出た!伝える!)
ロボットは高性能なので自身が出した音と、さらにコウモリの音波もキャッチして有利にマップを走破できます。
暗い工場という不気味なマップの中を追われる恐怖と、追い詰め捕まえるという緊張感を味わうことができるゲームです。(でもカラフルなパンツがキュートです。)

 

最後はCチーム

「きつねっとわーく」

プレゼンがとっても上手なCチーム。発表会では、まるで自社商品を売り込むかのようなプレゼンで、私も思わず「早く遊びたい!」と言ってしまいました。チュートリアルもゲームプレイしながら体験できるようになっていて、とても分かりやすかったです。

このゲームは、3人同時プレイのマルチプレイヤープラットフォームアクションです。プレイヤーはそれぞれのキツネを操作して、全員でゴールとなる鳥居を目指して走ります。キツネにはそれぞれ、「目の良いキツネ」、「鼻の良いキツネ」、「耳の良いキツネ」と能力が割り振られており、その能力で道中に仕掛けられた様々な罠を発見することができます。

ですが、各キツネには1つの能力しか割り振られていないので、自分に分かる罠は他の2人では気付くことができません。そこで「いいね!」と「危険!」の2つのエモーションを使って罠や、見えない床の存在などを知らせる必要があります。(出た!伝える!)
コミュニケーションに使えるのは2つのエモーションのみなので危機の伝達を行うものの、上手くいかないこともあります。時にはジャンプや左右への移動などの身振りも合わせてコミュニケーションを模索しますが、上手く伝わったり、伝わらなかったりと、何とも言えないもどかしさがあります。これを開発チームは演出したかったのでしょう。このもどかしさが意外な程に心地よく、ワイワイと盛り上がる要素になっていて、パーティゲームとしてもとても楽しめました。(私は、「もう1回だけ」と言いながら何回もプレイさせてもらいました!)

 

(まとめ)

それぞれに個性の光る「伝える」ゲームが完成しました。フィードバックの場では、鋭い指摘やアドバイスをたくさん受ける場面がありましたが、落ち込む素振りもなく、真剣に意見を吸収しようとする姿勢がとても印象的です。今年のインターンは、3チームともに「チームワーク」が素晴らしかったです。

いつも、インターンの開発現場に入ると、元気いっぱいに「おはようございます!!」「お疲れ様です!!」。そんな元気な挨拶から始まり、最後は「ありがとうございました!!!」と、これまた気持ちの良いご挨拶を下さりました。

些細なことかもしれませんが、こんな元気な挨拶は、チームだけでなくインターン全体の雰囲気を明るく前向きに動かし、チームワークの醸成を促し、良いゲーム作り、チーム作りに繋がっていくのではないかと感じました。

次回、後編では、この3チームそれぞれのチームリーダーに、1ヵ月間を振返っての直撃インタビューを行いましたので、その様子をレポートします。

 

(おまけ)

最後は皆で記念撮影。賑やかだったスペースが静かになって少し寂しいです(´;ω;`)

 

皆さん、お疲れ様でした。後編に続く。

 

 

 

 


mori

専門学校HAL×Aiming 産学連携プロジェクト(後編)


こんにちは、人事の森です。

前編に続き、「HAL×Aiming産学連携プロジェクト」後編をお送りします。

今回は、栄えある優秀賞を受賞した2作品を紹介させて下さい。優秀賞は当初、1作品のみを選出する予定でした。ところが、どちらの作品も系統が異なりとても面白い!吟味した結果、2作品共に優秀賞を授与する形となりました。

優秀賞受賞作品は、Aiming名義で、App StoreとGoogle Playでリリースします。

それでは、2つの作品を紹介させて頂きます。

 

まずは1つ目、こちらはHAL大阪チームの作品です。

優秀賞:クレイジーヘッドボーイズ(HAL大阪:it OKASHI!チーム)

 

キュートでポップな二人のキャラクターが頭をぶつけながら疾走する爽快感あふれるラン&ジャンプアクションゲームです。

  • タップでジャンプというシンプルな操作だが、画面の上下にプレイヤーを置くことで、良い意味での複雑なゲームデザインが構築されている
  • ゲーム開始までのタップ数が少なく、迷うことなくプレイ開始に誘導している
  • チュートリアルから体感型レベルデザインが組み込まれていて、失敗を通じて正解を模索させるような作りになっている
  • 骨太なアクションゲームに仕上がっていて、しっかりと遊べる
  • ビジュアルにも力入れている

 

カメラアングルも独自性があり、この効果によりスピード感が倍増しているように感じます。こちらの操作方法で、上手くいった時、墜落しちゃった時を実感できるので、「もう1回!」と何度もプレイしたくなりました。キャラクターが可愛いのも良い感じ。Sランクを取るのは非常に難しく、テクニックが必要です。私は未だそこに到達していません。どなたか、タイムアタックで勝負しませんか?

ダウンロードはこちらから。

App Store からダウンロードGoogle Play で手に入れよう

 

 

 

 

続いてHAL東京チームの作品

 

優秀賞:挟撃のインターポーザー(HAL東京:雨霧工房チーム)

個性的なキャラクターが多数登場し、敵を挟んで倒すというやりごたえのある戦略性がおすすめポイントです。

  • はさみ将棋に、独自の世界観とキャラクター性を上手に融合させている
  • ターンベースの詰め将棋といったプレイフィール
  • 見た目とは裏腹に、手応えのある難易度に調整してあり、しっかりと考えないと攻略できないというのが秀逸
  • リプレイ性が高い
  • ステージボリュームが豊富で倍速機能もついている(気遣いが良い感じ!)

 

アプリ内課金の要素はないものの、商用ゲームさながらのまとまりがあり、とても完成度の高いゲームです。クラシカルな内容に、演出とイラストが見事に彩りを与えています。ステージごとに満点をとるのは難しく、満点をとるために熱中してプレイしてしまいました。「挟撃のインターポーザー」というネーミングも素敵です。ゲーム内に漂うラノベ的な雰囲気も、このタイトルに上手く表現されていると思います。

ダウンロードはこちらから。

App Store からダウンロードGoogle Play で手に入れよう

 

 

 

いかがでしょうか・・・?2作品共に短期間の開発ながら非常に完成度が高く、楽しく遊べるゲームに仕上がっています。それぞれ配信期間は、2018年3月31日までを予定していますが、落し切りのゲームなので、DLしてしまえば配信期間後もプレイすることが出来ます。皆さま、是非手に取って、遊んで見て下さい!

(まとめ)

さて、今回の産学連携プロジェクト。4月のオリエンテーションから始まり、中間企画発表、総合作品審査、受賞式、リリースと経て幕を閉じました。とても濃密な内容でした。優秀賞受賞チームの皆さんには、リリース準備の際に、+αの対応事を様々依頼しましたが、そのレスポンスの速さと的確な内容から、非常にスムーズに進めることが出来、感謝しております。

また、普段開発側の人間でない私にとっては、開発したゲームをリリースまで持っていくこと、そのために必要なもの、時間、やるべきこと、注意点、落とし穴、等々・・・通して体感することが出来たことはとても貴重な体験でした。こんな作業、手間をかけてゲームはリリースされお客様に届くのだと改めて認識したことと、ゲームを作り、世に生み出す開発者の方のお仕事を少しでも体験できたことも良かったです。

 

最後に・・・

このプロジェクトは、HAL学生さんの「ゲーム制作」や「チーム開発」への熱意、工夫、技術、拘り、愛、頑張りなしには成立しないプロジェクトです。あわせて、これらの企画~実施、運営までのサポートを下さったHALの先生方のお力添えやお気遣い・・・こちらも学びが多く、このような機会を頂けたことに感謝しています。関わって頂いた皆様、ありがとうございました。

 

(おまけ)

クレイジーヘッドボーイズ、どうしてもRANK Sがとれませんでした。28秒の分厚い壁、私はいつ越えられるのでしょうか。

 

私の中の最高記録のRANK Aで、「産学連携プロジェクト」(前編/後編)を締めたいと思います。(完)


mori

専門学校HAL×Aiming 産学連携プロジェクト(前編)


こんにちは。人事の森です。

今日は、学校法人・専門学校HALとAimingが産学連携の1つとして行った「産学連携プロジェクト」について紹介したいと思います。(前編)
「産学連携」とは、教育機関である学校法人・専門学校HALと、民間企業である株式会社Aimingが連携し、学生がスマートフォン用のゲーム開発に挑戦するというプロジェクトです。

このプロジェクトは、「今日は皆さんに、ちょっとゲームを作ってもらおうと思います」という映画バトルロワイヤル風に始まりました。(古いですか)

内容はこうです。

  1. Aimingが出したテーマに沿ってHALの学生がゲームを制作する
  2. 提出されたゲームを「企画段階」と「完成品」の2段階で審査する
  3. 優秀なゲームには、Aimingが用意した幾つかの賞を授与する

特に優秀なゲームは、Aiming名義で、App StoreとGoogle Playからリリースします。

 

制作は、企画期間1ヵ月/開発期間1ヵ月という、とても限られたスケジュールです。この内容に対し、HALの400名を超える学生が、チームを組んで挑戦してくれました。

Aimingがお題としたテーマは以下の3つです。

  1. 最初の3分のおもしろさ
  2. 新規性
  3. 遊びやすさ

この3つを軸に、作品審査を行いました。

iOSの開発は初めてという方が多い中、たくさんのチャレンジがあり、工夫があり、熱意があり、審査であるにも関わらず、ついつい楽しくプレイさせて頂きました。

企画段階のものから内容を大きく変更し、素晴らしくブラッシュアップされた作品もありました。ネットワークに挑戦し、オンライン要素を取入れた作品もありました。チームワークや頑張りの跡が見られる作品は、審査にも熱が入ります。

選びきることに苦悩はありましたが、Aimingが用意した賞は全部で4つ。
「優秀賞」、「ゲームデザイン賞」、「技術賞」、「審査員特別賞」です。

前編では、優秀賞を除く5つの受賞作品について紹介したいと思います。

 

 

まずは、ゲームデザイン賞:「Pechantet」(HAL大阪)

指でなぞった地面が切り取られ折り曲がり、そこに敵を挟んで倒すという、操作感と見た目も面白いタワーディフェンスです。ゲームデザインに優れているポイントは、リソース管理と操作が上手に融合している点です。大きくなぞると簡単に敵を挟めますが、次の敵を攻撃することが出来なくなってしまう。敵の動きを予想して、最小範囲で切り取り挟む。更に角度も考え遊ぶというテクニカルな要素がとても面白い作品です。

 

 

続いて、技術賞:「双璧のマジカライズ」(HAL名古屋)

画面いっぱいの大量のスライムを魔法の壁でプチプチ挟んで倒していく、小気味良く簡単な操作で楽しめるゲームです。
ゲームとしては荒削りであるものの、コアメカニクスである指でなぞったルートのスライムを巻き込んでいくというのが、”わかりやすいゲームデザイン + 面白いビジュアル + 簡単操作のユーザビリティ” として、バランス良くまとまっていました。
ベースとしてテクニカルなアプローチがあり、この美点を技術賞として評しました。

 

 

そして、審査員特別賞は個性豊かな3作品がノミネート。

「ヤンキーキャット」(HAL名古屋)

ヤンキーを操作して相手のヤンキーを倒す「喧嘩上等」のシミューレーションに、ネコの要素が加わることで癒やしの効果が得られるネコゲーです。
ベースは挟み将棋で、相手ヤンキーを挟んで倒していくというものです。そしてそこにネコ登場!
通常は倒すしかないヤンキーも、ネコを間に入れる(相手とネコを挟む)ことで場が和み、和解すれば相手を仲間にすることができます。
ネコ好きに悪い奴ぁいねぇ理論ですね。(私は犬派です。)
ヤンキーというクラシカルな題材ではあるものの、細かな動きや演出面など細部までこだわりが見え、ゲーム全体を通してクオリティの高さがうかがえるゲームです。
センスが光るテキストに、にやにやしながら審査しました。

 

 

「ぽより~」(HAL名古屋)

風船を思わせる妖精”ポヨリー”を、上手く操作し上昇させて故郷に帰してあげる、とても可愛いビジュアルのゲーム。
ポヨリーを指で挟んで空気を押し出し、その反動でどんどん上昇させてゴールに導いてあげます。
直感的な操作と、瞬時にルールを理解できるゲームデザインが秀逸です。
操作は簡単ですが、挟み方によってはポヨリーが右に左に飛んでいき、ゆっくり操作すれば落下していくので、慎重かつ大胆なプレイが求められます。
キュートな世界観も魅力のゲームです。

 

 

「日狭茶飯事」(HAL東京)

ふりそそぐ食品をトングで挟んで食べまくる。シンプルながら瞬間的に熱くなれるゲームです。
本能に訴えかける説明不要のゲームルールとポップなビジュアルが上手く組み合わさり、高い中毒性と、1人プレイながらも場を盛り上げることのできるパーティーゲームに仕上がっています。
ゲーム開始までのタイトルやイントロのカットシーンなどもポップな演出で彩られ、細部まで抜かりがありません。
丁寧な作りを感じます。プレイ動画は、YouTube投稿にも向いてるかもしれません。

 

さて、栄えある優秀賞は・・・!?(後編に続く)

 

(おまけ)HAL大阪での授賞式の1コマ

素晴らしいゲームを作ったチームメンバーの皆様と、素敵な先生で記念撮影★

 


新人研修の一環で社内ツールを制作しました


はじめまして!17年度新卒エンジニアの島です。

今回は私が参加した「新人研修プロジェクト」について紹介したいと思います。
内容は、「新人だけでプロジェクトを立ち上げ、社内ツールを制作する」というものです。
その制作過程や成果物、研修の振り返りまでをまとめました。

研修の概要

研修の概要は以下の通りです。

  • 研修は短期間(勤務時間の一部を利用して2か月程度)かつ小規模人数で新卒だけのチームを組み、ツール制作を行う。
  • 東京本社、大阪スタジオの2チームが同じテーマで開発する。
  • 最終的に社長に向けて成果物のプレゼンテーションを行う。
  • 2チームでコンペを行い、選ばれた成果物は実際に社内で実用される可能性がある。

新卒だけで短期間でチーム開発を行いプレゼンをすることは貴重な経験だと思います。
私たちのチームはエンジニア2名、デザイナー1名、プランナー1名の構成でした。
制作する社内ツールとは、「タレント検索ツール」です。
弊社では規模拡大に伴って社員の顔と名前が一致しないことが増えて参りました。
この問題を解決するという目的のもと、2ヶ月ほど業務の合間に開発を行いました。

研修中について

私たちはRuby on railsを中心に開発しました。
制作物の全体像を決めるまではチーム全員で会議を重ねました。
実際に制作する段階に入ってからは

  • エンジニア:コーディング
  • デザイナー:UI、ロゴデザイン
  • プランナー:コンテンツ内容の企画、報告の資料作成と発表

のように、作業を分担して行いました。

また、研修中はプロダクトオーナーや技術監修をしてくださる先輩方のサポートがありました。
開発環境やデプロイ環境のことはもちろん、基本的な開発の相談を気軽に出来たので良かったです!

私たちのチームでは週に1度、監督やサポートの先輩方を交えて報告会を行っていました。
報告会では、進捗報告を中心に問題点の洗い出し、要件確認等を行いました。
この場は開発している私たちにとっても非常に重要で、特に作業スケジュールを全体で共有すること、そして次の週までに消化するタスクを見積もることに繋がりました。

私がやったこと

実際に私がこの研修で行った作業について紹介します。
私はエンジニアとしてユーザー認証やトップページ全体、プロフィール周りを作成しました。
デザイナーさんの成果物をページに組み込んだり、ページレイアウトの調整も行いました。
フロントエンドの開発は特に経験はありませんでしたが、いい経験になったと思っています。

また今回の研修では、単純にタレント(社員)を検索できるツールとしてではなく、コミュニケーションが活性する要素を含めることも目標としていました。
そこで、タレントにタグを登録できる仕組みを導入し、そのタグによって検索するようにしました。
たとえば「エンジニア ゲーム」でゲームが好きなエンジニアを検索することが出来ます。
他にも何気ない瞬間に社員の顔が目に入るようトップページに表示される社員を日替わりで切り替えたり、プロフィールを覚えやすいよう自己紹介のひとことを社員それぞれが設定できるようにしたりと、コミュニケーションにつながるよう工夫しました。

成果物の紹介

実際に制作したツールを簡単に画像で紹介したいと思います。
ツールの名前はMikkeにしました。オシャレなロゴがお気に入りです!

研修の振り返り

振り返りはKPTで行いました。
KPTはそれぞれの感じていることや何が良くて何が悪かったのかを可視化することが出来るので振り返りには非常に有効です。

私たちのチームでは、

Keep

  • 完成させることができた。
  • スキルやタスク管理、コミュニケーション能力が向上した。

Problem

  • タスクの偏りが生じた。
  • 情報共有が甘いときがあった。

Try

これらのProblemを解決するためのTryとして

  • タスクの全体図を可視化する。
  • タスクの優先度を明確にする。
  • 口頭でのコミュニケーションをログとして残す。
  • 会議の議事録を残す。

以上のような振り返りが出来ました。

最後に

新人が実際に小さなプロジェクトを経験し、その経験を実務に活かして欲しいという研修の狙いを強く感じました。
個人的な感想ですが、ただ作るだけでなく実際にプレゼンを行い、レビューをいただけたのは非常にありがたい経験でした。
また、工夫した点を評価されることは素直に嬉しいのだと再認識できました。
今後はこの経験を実務に活かして幅広く活躍していきたいと思います。

以上、弊社における新人研修の紹介とその感想でした。


菅野 明洋

社内でエンジニア読書会をやってみた!


はじめに

初めての人は初めまして!
前回の記事(第2回 Game Gatling LTに登壇してきました!)を見てくれてる人は、お久しぶりです!

大阪スタジオ インフラチームの菅野明洋です。
業務では、主に大阪スタジオのサービスインフラを担当させていただいております。

今回は、読書会を開いてみましたので、その話をまとめました。

読書会について

読書会は、集団で読書や読書に関するコミュニケーションを図るイベントです。
弊社では興味がある話題や本ごとに幾つかの読書会が開かれております。

開催してみた読書会について

今回は、SQLアンチパターンと言う本を題材にしております。
この本の読書会をするキッカケとしては、弊社の若手のエンジニアが最近読み始めたと言うことで話題に上がったことと、他のエンジニアと意見交換出来たら面白いと言う事で開いてみました。

読書会のルールについて

基本的に参加自由

  • 参加者は8〜12人程

開催時間

  •  定時後の45〜60分
    • 子育てで忙しい人も参加しやすくするために短めに設定
    • 経験上、1ページ2分換算で調整
  • 時間内(15〜20分程度)に章の全てを読みきれない場合は2日に分ける
    • 2日に分ける場合の例
      • 1日目にアンチパターンの問題点を黙読し他班に説明
      • 2日目にアンチパターンの解決策を黙読し他班に説明

用意したもの(書籍以外)

  • 付箋、筆記用具
    • 質問や意見を記入
  • ホワイトボード
    • 書籍の内容の説明や上記の付箋を並べるのに使用
  • キッチンタイマー(スマホアプリ)
    • 時間調整に使用

やり方

読書会の流れ

事前にやること

  • 読書会の日時、場所を決める

ステップ1(班分け)

  • 参加者を2班に分ける
    • 現在の決め方は座った席を順で分ける

ステップ2(読書フェーズ:アンチパターンの確認)

  • 各自担当箇所の章を黙読
    • 最近は読む際に付箋を配り、気になった点や質問したい内容を記入
    • ページ数に応じて変更しますが、大体15〜20分を目安にしています

ステップ3(説明フェーズ)

  • 読んだ箇所を別の班に説明
    • 説明する際は、図説する際はホワイトボードも使用
    • 章ごとに10分程度(計20分)の説明する

ステップ4(質問・討論フェーズ)

  • 全体を通して質問、討論を行う
    • 気になる点、分からない点を確認し解消する
    • 討論時にはアンチパターンに対してどのようにアプローチすべきなのか、他に方法が無いのかなど参加者の想いや考えなどのやり取り
    • 過去の話とかで盛り上がることもあります

読書会の様子

弊社の藤野がSQLアンチパターンの5章EAVについて説明している様子

読書会中に書き留めた付箋を集めてホワイトボードに貼っている様子(5,6章)

読書会中に書き留めた付箋を集めてホワイトボードに貼っている様子(3,4章)

ものすごく盛り上がっている時はホワイトボードにびっしり文字や図説が書かれていることもあったのですが、写真を取っていなかったため、現在記事を書きながら後悔しております。

読書会での試みと効果(参加者のフィードバック)

課題1:短時間で効果的に理解を深めたい

  • 対応策
    • 黙読後、読んでいない人に説明する
  • 効果
    • 説明する際に一度情報を整理するため、理解を深めやすくなった

課題2:質疑応答の敷居を下げる。意見を拾い上げやすくする

  • 対応策
    • 付箋を配布し、記入してもらう
  • 効果
    • 気軽に質問しやすくなった
    • 付箋を並べることで、他の参加者の質問(悩み)が見えやすくなる
    • 類似する意見があることで、他の参加者も同じ疑問を思っている等の安心感を覚える
    • 最初から質問・意見の数がわかるため進行の調整が楽になった

最後に

読書会を通して他のエンジニアと意見が交換できたので、とても参考になりました。
技術的な話のみだけではなく読書会の運用方法なども含め様々な意見を頂き、とても勉強になりました。今回の読書会では、まだ未完成な部分もあり進行が安定していないため、ブラッシュアップをしていかなくてはいけないと考えております。
毎回試行錯誤の繰り返している状態ではありますが、今後もこのようなイベントを続けて、より完成度を高めていきたいです。


入社2週間の新卒エンジニアが紹介するAimingの新人研修


こんにちは。2017年度新卒エンジニアの後藤です。

今回は新卒入社して2週間経過した私の体験等をもとにAimingの新人研修の内容について紹介します。

現在就職活動をされている方や、入社後に新人がどのようなことを研修で学んでいるか気になる方に参考にしていただければと思います。

新人研修の流れについて

Aimingでは入社後1か月かけてオンラインゲーム開発にかかわる人材になるための研修を行っています。最初の数日間に社会人としてのビジネスマナーの研修やワークフローについて学び、その後はゲーム開発に関わる研修を行います。

新人研修の様子

オンラインゲーム開発に関するリテラシー研修

オンラインゲーム開発を行う上場企業の一員として知っておかなければいけない事柄として以下の項目を学びます。

  • オンラインゲームの歴史と仕組み
  • セキュリティポリシー
  • コンプライアンス

大学や専門学校では学生どうしが演習等でゲーム制作をする機会も多いですがセキュリティポリシーやコンプライアンスを意識することは無いのではないでしょうか。

研修を通して、プロジェクトの一員であるとともに企業の一員であることを認識させられます。

職種毎の紹介

デザイナー・プランナー・エンジニア等、現場で各役職に就いている方々を講師に招いて講師が実際にかかわったタイトルなどを例に以下の項目を学びます。

  • 各職種の業務内容
  • Aimingにおける職種毎の心構え
  • 他の職種とのやりとりで留意すべきこと

それぞれの職種に属する新人の意識を高めるのはもちろん、他の職種に属する新人にも業務内容を共有することで互いに連携を取りやすくします。

また、プランナーからエンジニアへ留意してほしいことなども共有し、各職種をまたいだコミュニケーションを円滑に行う方法なども学びます。

その他

新人研修の後半にはスクラム体験をはじめとするグループワークや、自己紹介LT大会を実施します。

自己紹介LTでは自分の経歴について語るもよし、好きなゲームやアニメなどと絡めながら自分を紹介するもよしと、社内の方々にとって新人との接点を知ってもらう機会になっています。

研修を受けての感想

まだ全研修内容の半分を終えた段階ですが、私が大学時代に体験したゲーム開発と比べると規模の大きさも制作する立場も違うので、研修を通して新しい知見を得る日々を送っています。

とはいえまだ「知っている」の段階なので、得られた知見を現場で活かせるように意識しつつ残りの研修にも臨みたいと思います。


rastam

敷居を下げる雑な工夫


Hello! エンジニアのラスタムです。

今回は社内コミュニケーションやチームワークを補う様々な工夫を、基盤チームの共同執筆で紹介させていただきます。キーワードは「雑」です。

〇〇という強い気持ち・〇〇という雑な気持ち

ホワイトボードの一角に「〇〇という強い気持ち」「〇〇という雑な気持ち」を書いて貼ることができるスペースがあります。

「〇〇という強い気持ち」

書く内容に制限はなくいつでも自由に書くことができます。
「『やせる!』という強い気持ち」のような個人的な雑談レベルのものや「『まず動かす』という強い気持ち」のような業務に寄ったものなど内容は様々です。

このスペースには次のようなメリットを感じています。

  • 宣言することで自分を追い込むことが出来る
  • 雑談のネタになる
  • 周りの人のことを知る、周りの人に知ってもらう機会になる

雑談レベルのものが多いのですが、そのハードルの低さのおかげで普段から書く習慣に繋がっています。
そしてその習慣があるため、たまに真面目な強い気持ちが生まれたときも気軽に書くことができます。

社内勉強会用のネタストック

チームの勉強会で発表や LT などを毎週何かしらやっているのですが、そのペースでやっていると常にネタ切れ気味になっていきます。
その対策として、ネタになりそうな話や興味があるけど調べてない技術などをストックしておくスペースがあります。(ふりかえりのタイミングでよく発生するので、ふりかえりの TRY の近く)

ネタストック

ネタがないときにそこから好きなネタを拾ったり、あるいは個人的な学習のきっかけにしたりと、勉強会を続けるための一つの工夫となっています。

GitHub 上の zatsu レポジトリー

何かをやる上でとりあえずやらないことにはやる気が出ないので
ハードルを下げるために zatsu repository が存在しています。
この記事自体もハードルを下げるためのそれです。

Issue

おやつ

色々登録されてますね。
おやつリクエストの結果、チョコ棒とここでは紹介しきれませんでしたがポテトフライ(大好き)が供給されて食いすぎて太ったので、とりあえずは今は zatsu に痩せたいと願ってます。

社内ブログ・Wiki

日々の業務で得た知見やノウハウを同僚と共有したいことがたまにあります。
しかしその中には、内容によって社外にまで公開し難いものもあります。

社内 Redmine は前から置いていますが、

  • 主にフォーマルな用途で使われていて、思いつきで書くのを遠慮してしまう
  • Textile 表記で書くという点で使い勝手があまり良くない

そこで Rendezvous という OSS ブログ兼 Wiki を社内サーバにて立ち上げました。大好きな Markdown で書けてうれしい!

Rendezvous

真面目な記事は多いですが、カジュアルなコンテンツも気軽に載せています。
そして個人日報の倉庫として使っている人もいます。

全社で使える CI サーバー(レビュー作業の自動化)

普段から GitHub でコードレビューをしていると、入力ミス・イディオムの統一などの機械的なレビューが面倒になっていきます。

文字通りですが、「機械的にできることは機械に任せよう」ということで、社内で開発した CI(継続的インテグレーション)サーバーを用いて、機械的なレビュー作業の自動化を行っています。

この取り組みによって、「本当に注力すべき箇所にレビューコストを割く」というプロダクトの品質向上の一助となっております。どうせ怒られるなら、人間からより機械だったらカドも立たなくてよいですよね ^^