ホーム ブログ ページ 13

ソーシャルゲームにおけるミッション機能のサーバーサイド実装の考察:実践編

0

アピリッツ コンテンツデザイン部の金井と申します。前回前々回に引き続き、ソーシャルゲームにおけるミッション機能の話をしていきます。

関連:ソーシャルゲームにおけるミッション機能のサーバーサイド実装の考察:問題編
関連:ソーシャルゲームにおけるミッション機能のサーバーサイド実装の考察:思考編

前回までのあらすじ

 ソーシャルゲームにおけるミッション機能とは

  • 構造的に改修し辛い
  • 処理の時間が掛かり易い
  • 問題が発生した場合それが大事になり易い

 加えて実装面でもミッション機能を構成する要素が複雑に絡み合う事が多々あり、クソコードになり易い。

 それらの問題を解消する為の自分の結論としては、API単位でミッションの処理を纏めるしかない。

とうとう修正をデプロイするエンジニア

実際にやってみた

 ええ、やりました。詳しくは言いませんが、出来る環境になった事があるので。
 そして目の前には、そこそこの期間付き合ってきた、さながら油でべたつく茶色にコーティングされた換気扇を思わせるようなコードがあったので。

 さて。綺麗に出来るタイミングにせよ、やるべき事は大量にありました。上記の仕組み以外にも、

  • マスタ、ユーザーデータの構成が冗長である
  • 過去のユーザー単位で1回しか通らないバッチ処理がそのまま残っている

 等々。
 それらも綺麗に出来るのならば、一気に綺麗にしてしまいます。どうせ、全体的にコードの差分が莫大になるのは明らかなのですから。
 ただ、しかし。マスタ、ユーザーデータの構成を変えてしまえば、もうそこから先に碌な休憩地点はありません。プロジェクトを健全に保つテストコードの文句を黙らせるまでは(え、テストコードが無い? ……ご愁傷様です)。

どの程度の時間的コストになったのか

 まあ、これの為には自分の経歴も多少書いておいた方が良いと思いますので。

  • ソーシャルゲームサーバーエンジニア歴新卒4年目
  • ソーシャルゲームの開発、リリース、運営を2度経験

 端的に書くとこんな感じです。まあ、入社して3年間でソーシャルゲームの全般を2度程経験した形ですね。
 そしてこの位の経験がある自分が、使い込まれたミッション機能を根本から作り直す事には、それだけに注力した状態で1~2ヶ月は掛かりました。

 また、実際のコードの差分は3500行、80ファイル以上でした。
 馬鹿でかいプルリクですが、基本的にここまででかいプルリクというのはマスタの構造の変更等で流し読み出来る部分が多かったりするものだと思います。
 しかし、このプルリクの中身は基本的にロジックの変更になります。要するに、大半が流し読み出来ないものです。
 更に言うならば、これだけ差分が大きくなる事が予見出来ようとも、自分の場合は途中でプルリクを出す事を出来ませんでした。自分が携わっていたそのコードを改善する為には、全体の挙動そのものの改善が必要だという事が途中で判明し、1APIだけを新挙動に書き換えて一旦プルリクを出す、というようなコンパクトな事もできなくなった為です。
 まあ、はい。コードレビュー等も必要に応じて行うべきかと思いますが、これだけのプルリクを見る事が出来る人が必要ですね!

全てを終えて深い眠りに就くエンジニア

精神的疲弊

 何日も何週間も同じ事柄へのリファクタリングを続けていると、流石に疲弊してきます。

 プランナーと掛け合い、無駄や冗長を削ぎ落としたミッションの仕様を新たに殆ど一から構築し直す。
 その為に既存のコード……仕様が追加、変更された事により、まるで後先考えずに違法増築を繰り返されて巨大地震でも来れば粉々に瓦解してしまいそうなそれを必死こいて読み直し、それらを綺麗に纏め上げる。
 纏め上げる最中に不必要になった変数や新たに必要となるユーザーデータなどが発生して来れば、それらの一つ一つが本当に不必要か、必要かを吟味した上で削除、追加をしていく。
 テストコードもそのままでは失敗を叫び続けるだけであり、その新たな規範に沿って作り直すところから始めなければいけない。

 ……そんな作業の一つ一つを地道に、丹念に続けるにはかなりの労力が必要になります。更に続けていると、

 途中でどうしてこんな事に手を出してしまったのかという後悔が湧いてきたり。
 業務中に暫くぼーっとしたくなったり。
 業務終了後も帰りの電車の中でぼけーっとミッションの事を考えたり。
 夢の中でミッションのコードを弄っていたり。
 誰かのプルリクが飛んでくるとミッション以外のコードを見られる事に喜んですぐにレビューを飛ばし、そして同時にマージする時のコンフリクトの量がまた増えた事に辟易とし。

 ただ、それでも自分は精神的支柱があったからこそ出来たと思います。
 それは何かと言われると、まあ、はい。クソコードに対する憎悪、それに尽きます。

 以前はこのクソコードを根本的にどうにも出来る余裕がなかったから、余計にクソコードを追加して負荷や計算量を減らすしかなかった。
 このクソコードが分かりづらいから本番でエンバグを何度も引き起こした。
 このクソコードのせいで休日に出社する羽目になった。
 このクソコードを新しいプロジェクトでも残し続けていたらまた同じ目に遭う。
 クソコード……駆逐してやる! このプロジェクトから……一行残らず!

 そんな意志が私の最大の精神的支柱でした。
 流石にソースの全体に及ぶ程に大きい改修するのは初めてでもあったりして、挑戦するような気持ちもあったのですが、そんなものは二の次で。
 お前は存在してはいけない生き物だ、と某生き恥ポップコーンさんに告げるような絶対なる意志を用いて滅しました。

改修は本当に価値があったか?

 はい。それは断言出来ます。
 少なくとも、

  • 各所に散乱していた似たようなロジックや冗長な処理
  • 殆ど実際に動く事は無いのに常に通ってクエリだけを投げていく処理

 は巻物を投げつけられたドラゴンの如くジェノサイドされ、

  • 現状の仕様を満たす処理はそれぞれ端的に纏まった形で集約されている
  • 仕様変更に対してもそれらのみを改修する事によって対応可能

 という状態にする事が出来ました。
 デイビークロケット並の予想だにしない仕様改修依頼が無い限りは、ミッションの処理はここに集約されたままに出来ると思える位には。
 勿論、まだ怪しい部分もあります。しっかりと負荷試験をして性能を数値として出してはいませんし、改修した中でも時間の掛かる冗長な処理がまだ残っているかもしれません。
 もしかしたらそんなデイビークロケットをパンジャンドラムに乗ったプランナーから渡される可能性もあります。
 しかし、まあ、そんな仕様は来ない事を信じたいなあ……。

最後に

 この巨大プルリクを半日掛けて見て下さった先輩に感謝します。

翌週に有給を取り平日の空いている江ノ島に行き、その頂上にあると言うフレンチトースト専門店を訪れようとしたその朝に鳴る会社からの電話

Google サービスの便利機能6選 ~デスクトップアプリ、Gmail、Calendar、 検索、Google Alerts 、マイプレイス ~

0

G suitsが登場してから、公私ともにGoogleにお世話になっている方も多いのではないでしょうか。

かくいう私もGoogle沼にどっぷりハマっております。職場ではもちろんのこと、プライベートでの情報管理のメインはGoogleのサービスを利用しています。(calendar、keep、tasks、gmail…)Googleがなくなったら私の生活の情報管理は崩壊してしまうと言っても過言ではありません。考えただけでゾッとします。
以前は必要に応じて多種多様なアプリをつかったりしていた時期もありましたが、急にサービスが停止してしまったり、機種変更のために使用できなくなってしまったり。
情報管理をGoogleサービスで統一することで感じているメリットは、

①デバイスに依存しない

スマホや、PC、タブレットでもインターネット環境さえあれば誰にでも共有可能ですし、どこからでもアクセスができます。スマホの機種変更のたびにアプリの互換性を気にする必要もありませんし、夫婦でwindows派とapple派で対立しても特に問題ありません。

②サービスが停止する恐れが限りなく低い

以前使用していたタスク管理アプリがサービス終了したときは本当にショックでした。メモ代わりとしても使っていたので、過去のメモが見れなくなってしまうのを防ぐのにバックアップをとったりと、サービス終了の恐怖…。

③ユーザー数が多い

利用者も多いので、わからないことがあればググってすぐに解決できます。
今回は公私ともにGoogleサービスにお世話になっている私がよく使う便利機能を紹介したいと思います。

①デスクトップアプリっぽく使う

Googleには多彩なサービスが展開されていますが、みなさんPCで使用する際どのように立ち上げていますか?
ブラウザからGmailやCalendarを立ち上げて常にブラウザを開いている状態にしている方、いますよね?
そうすると、だんだんタブが増えていき、あれよあれよ、メール画面どこいった?カレンダーどこいった?ブックマークから新規タブで立ち上げてってやってませんか?(そしてタブは大変なことに…)
ここではGoogleサービスをデスクトップアプリっぽく使用する方法をお伝えします。

操作手順

  1. Chromeから指定アプリ(今回の場合はCalendar)を起動する
  2. ︙をクリック
  3. 「その他のツール」を選択
  4. ショートカットを作成
  5. 「ウィンドウとして開く」に✓
  6. OKを選択

デスクトップに、アイコンが表示されたら完了です。以降、ここからアクセスすることでアプリっぽくつかうことができますよ。ちなみに、インターネット環境がない状態では何も表示されません。アプリではないので。

Macの方はもちろん、dockへの配置も可能です。

② Gmail – 別名アドレスの取得

Gmailで取得したアドレス以外にも、そこから派生したアドレスも同時に使用することができます。
@以前が[ appiritsspirits ]というアドレスを例にご紹介していきます。

取得できるアドレスパターン

  • .(ドット)の有無
    例:appirits.spirits / appirits.spirit.s / api.rits.spi.rits …
  • +〇〇(〇〇以降は自由に設定可能)
    例:appiritsspirits+ad / appiritsspirits+ec …
  • もちろん上記2つをあわせたパターンも可能
    例:appirits.spirits+ad / appi.rits.spi.rits+ec …

アドレスを複数もつことで、メールの振り分けが楽になったりします。
そもそもの相手が送る宛先(アドレス)から振り分けできるので、メルマガなど思わぬアドレスから送られてきて、そのたびにフィルタ設定をするという手間から開放されます。

しかし会員登録の際に +(プラス)記号入力が不可設定になっているフォームも時々あるので、そういった場合には使えないですね。(個別にフィルタリングしてください)

③Calendar – 便利なショートカットキー

カレンダーをデスクトップで使用してる場合におすすめな、表示方法を変更するショートカットキーです。これは本当によく使います。

表示形式変更ショートカットキー

  • M:月表示
  • W:週表示
  • D:日表示

④検索 – フィルタをかけてほしい情報を取得する

これはもう超基礎的な部分ですが…。検索にはフィルタリング機能がありますので、ほしい期間の情報でフィルタリングが可能です。鮮度の高い記事をカンタンに入手できます。

操作手順

  1. ツールをクリック
  2. 期間指定なし▼ から希望の期間を選択する

⑤Google Alerts – 最新情報をゲット

メールで登録キーワードの最新情報がインターネットにでてくると、通知してくれる機能です。自分の職種に必要なキーワードだったり、私生活だと、好きなキャラクターのコラボに関する情報なんかを登録しておくといち早く情報をキャッチできますよ〜!

Google Alerts

⑥Map – マイプレイス

Google Mapを経路検索に使っている方はかなり多いのではと思いますが、場所を登録してリスト作成するという便利機能もあるんです。
参考までに…コレが私のリストです(ほとんど食べ物関連…笑)

空いた時間に調べた美味しそうなお店や、雑誌にでていた気になるお店なんかを保存することができるんです。以前はメモ帳などで管理していたのですが、google mapだと、地図情報とリンクしているので、現在地の近くの気になるカフェを探すことが可能なんです!画期的!便利!

リストの共有機能もあるので、家族間や友達同士でおすすめスポットを共有することにもつかえます。

会社のおすすめランチリストなんかつくって社内で共有したりしてもいいかもしれないですね。

番外編:お小遣い管理もGoogleで

これは使える機能というか、Googleサービスの使用用途の紹介になります。表題の通りです笑。

家計簿だったり、お小遣いってアプリも結構でてますが、シンプルに複数人のお小遣い管理となると丁度いいものが見つからず、Google先生にお願いすることにしました。

使用するサービスは以下の2つ。

  • Google スプレッドシート
  • Google フォーム

当初はスプレッドシートでちまちま入力していたのですが、スマホでの入力がスプレッドシートは使いにくいんですよね。(まあ表計算ソフトですから)

そこでいろいろ試行錯誤して(ググりまくって)、Googleフォームで入力して、それをスプレッドシートの任意のフォーマットに反映させることでスムーズな入出金管理シートを完成させました!作成したシートを夫にも共有して(編集権限はありません)、随時確認できるようにしています。

(欲を言えば、日付指定で自動入力してくれたり、スマホでの表示が別で指定できたりがあれば嬉しいですが、表計算ソフトにそれは少々求め過ぎですね…。わかってます…。)

これを転用して、我が家では旅行の入出金だったり、イレギュラーなライフイベントの支出管理にもつかっています。

個人的にGoogleフォームとスプレッドシートのタッグはかなり汎用性がたかいのではと感じたので、今後家のストック管理とか、献立管理とかそういうことにうまく使えないかなーと思案中です。いいアイディアがありましたら、ぜひ教えてほしいです!

以上、なにか1つでもお役に立てたことがあれば嬉しいです。今後も進化するGoogleサービスに期待しつつ、より便利な使い方を模索していこうと思います。

【開催中】P-Review ’20(成果発表会)記念すべき第1回に密着!

0

今年も社内イベント「P-Review(プレビュー)」を開催する季節がやってまいりました!!

今回は記念すべき第1回に密着して当日の様子をご紹介します!

P-Reviewとは

P-Review(Performance reviewの略です。プレビューと読みます)は、社員それぞれの成果発表を資料作成とプレゼンテーションで行うアピリッツの全社活動です。2019年から社歴の浅い人や新人を中心に始まりました。→ 去年の発表はこちら

関連:今年も開催!P-Review ’20(成果発表会)とは??

今年度は新型コロナウイルス感染症(COVID-19)の感染予防対策のため、Zoomによるリモート配信で開催されました。

トップバッターはアピゲー部、部長吉田さん

続々と社員のみなさんが視聴しにきてくれました。

テーマは『アプリの事前登録の傾向と対策』について。

社外秘の情報についても発表していました!アピリッツの社員のみなさん必見です。

続いてメディアサービス部杉本さん

「ハルヒが復活したから高橋メソッドも復活」とか言えばよかった、と発表後に一言。

テーマは『高橋メソッド』について。高橋メソッド……!?

とてもシンプルな資料で分かりやすかったです。さすが高橋メソッド!

最後に、20新卒の中では初めての発表となるメディアサービス部伊藤さんの発表!

画面に映らないハプニングも。

テーマは『自動と表現で快適なテストを』

チャットでの様々な質問にもしっかり応答していました!

今後社外秘以外の内容についてはアピスピ(アピリッツスピリッツ)でも紹介していきたいと思います。また、業務中にZoom配信を見れなかった方向けに、録画したZoom配信をアーカイブで見られるように調整中とのこと。

第1回発表の方々お疲れ様でした!

IT企業に内定・入社した時に見てほしい【『git入門』の入門】のお話

0

みなさんはじめまして。アピリッツ、コンテンツデザイン部に所属しております敷田と申します。
今回は新卒やIT企業で初めて働く人が最初にブチ当たる壁『 git 』の事を記事にしてみました。

はじめに

IT企業で働くことになると避けては通れない存在として『 git 』と呼ばれる謎の便利な存在があります。

エンジニアだけでなくデザイナーやプランナーなど、「ソースコードを書かない職種」の人も向き合う必要があり、今はIT企業で働くうえで必須の知識と言っても過言ではありません。

しかし、エンジニアの専門学校でも扱っているところは少なく、入社した時に先輩からは「ググったらgitについて書かれているサイト沢山あるから」と言われてしまい、ネットを探すと色々なgitについて書かれた入門ページはあるけど、いきなり実践向けだったり専門用語だらけだったりで、
自力で何とか学んで、なんとなく身に着けて、数をこなしてようやく習得する。
そんな、本当の意味で入門といえる情報は意外と少ないのが現実です。

そんな『 git 』という単語を初めて聞いた人が、『git入門』を読み始める前に【『git入門』の入門】として聞いてほしい内容をまとめました。

そもそも『 git 』って何?

まずはこちらの画像を見てみてください。

gitを使わないと最新ファイルが特定できない?

社会人になってくるとチームで1つのモノを作る機会が多くなります。そのため、個人の時は起こりえなかった1つのファイルを複数人で編集することも頻繁に発生してきます。もちろん、すべての修正を1人の人がやればこんなトラブルは起きませんが、これがとても行数の多いテキストファイルだったら、当然ながらみんなで分担してやらないといけませんよね?

そんな時に登場するのが『 git 』です!コイツを使うと上記の作業がこんな風に変わります!

gitを使うと最新ファイルが一目瞭然!

『git』という魔法の管理システムを使う事で、各自がバラバラにやっていた作業が全て綺麗に集約させてることが出来、しかも「更新に対してのコメント、差分(編集前後でどんな差があったか)、誰が編集したか」などの履歴も残ります。

そんなIT企業で開発を行う上で必須と言っても過言ではないのが『git』という【分散型バージョン管理システム】なのです。

代表的な単語を覚えていこう

多くの人が『git入門』で一番最初にぶち当たる壁は『git用語』です。どんなに便利な管理システムと分かっていても、初めて英語を勉強するのと同じで、何を言っているのか全く分からないところからスタートになって、人によっては挫折してしまうかも知れません。

そこで、『git入門』を安心して読み解けるようになれるよう、『 git 』を使う上でよく使われる代表的な単語が何者なのかを紹介していきます。

[ リポジトリ ]ってなぁに?

まず最初に覚えて欲しいのは[ リポジトリ ]です。リポジトリには[ リモートリポジトリ ][ ローカルリポジトリ ]の2種類があります。

[ リモートリポジトリ ]はgitでデータを管理している全員がアクセスする先で、ココを参照して最新のファイルを持ってきたり変更した内容をアップロードしたりする、「みんながアクセスする共有パソコンのフォルダ」のようなものです。
[ ローカルリポジトリ ][ リモートリポジトリ ]から取得したデータを保存する場所で、保存したファイルを編集して最新のデータに更新したりする、「自分のパソコンのフォルダ」のようなものです。

[ リモートリポジトリ ]はみんなが情報を共有するためのハブ(中継装置)にあたる存在なので、直接ファイルを編集したりすることはできません。ファイルを編集する場合はかならず[ ローカルリポジトリ ]を編集することになります。

[ ブランチ ]ってなぁに?

次に覚えておいてほしいのは[ ブランチ ]です。

「ブランチ」については「バージョン」とか「種類」を意味する単語だと覚えておきましょう。
例えば「最新バージョン / 機能追加バージョン / バグ修正バージョン」など、その時々で使い分けるものという事だけ覚えていれば大丈夫です。

この[ ブランチ ]なのですが『git入門』を読む段階ではあまり深く考えなくて大丈夫です。
ブランチの扱い方は開発環境やプロジェクトごとそれぞれ最適な運用方法があり、統一された運用方法が存在しません。つまり携わるプロジェクトによって使い方も変わるし、プロジェクトによってはその扱い方についてのルールなどが定義されていることも多いからです。

とはいえ、『 git 』の機能をフルに引き出すためには[ ブランチ ]の扱い方を完全に理解する必要があるとても重要な項目であることも事実です。
ある程度『 git 』の事を理解できてから、ブランチの運用方法についての知識を深めるために「git-flow」や「GitHub Flow」なんて単語を検索してみるといいかもしれません。

[ フェッチ ]ってなぁに?

前の2つとは異なりここから先の単語は操作名称になります。

まず最初に知っておくべきなのは[ フェッチ ]です。フェッチとは[ リモートリポジトリ ]の最新の状態を取得する操作です。

ここで注意すべきなのは「最新状態を取得」であって「最新状態を適用」ではないことです。あくまで、[ リモートリポジトリ ]内の最新の履歴情報やファイルを取得(ダウンロード)しているだけで、実際にダウンロードしたファイルを適用はしていないということに注意してください。

この[ フェッチ ]は『 git 』にとって非常に重要な処理で、これ以降に説明する操作いずれを実行する時にも必ず直前に実行が必要となります(一部例外あり)。なぜなら、[ リモートリポジトリ ]からデータを取得する時やデータを書き込む時に、最新の情報を取得している状態で処理を行わないと、データがぐちゃぐちゃになってしまうからです。

とりあえず初めて『 git 』に触れる方は、「何を実行する時にも最初に必ず実行しないといけないおまじない」と覚えておくといいでしょう。

[ コミット, プッシュ ]ってなぁに?

[ コミット ]とは、自分のパソコンにあるファイルデータを更新して保存する事です。
ただし普通のファイル保存だけではなく、ファイル保存をした後に[ ローカルリポジトリ ]に対してファイルを更新した記録を登録するという事をしなければならなく、その処理の事を[ コミット ]と言います。

[ プッシュ ]とは、その[ コミット ]した記録を[ リモートリポジトリ ]に登録する操作のことです。
この操作をすることで全員が参照しているリポジトリに記録が残るので、アクセスしている全員が見れる状態になります。

[ マージ, プル ]ってなぁに?

[ マージ ]とは2つの異なる[ ブランチ ]を1つに統合する事です。

マージについては、[ ローカルリポジトリのブランチA ][ ローカルリポジトリのブランチB ]をマージするパターンと[ ローカルリポジトリのブランチA ][ リモートリポジトリのブランチA ]をマージするパターンの2種類があります。

前者はローカル環境にある2つのブランチの内容を1つに統合する処理です。

後者は既に所持していたローカルのデータに対して、リモートにある最新の情報適用して更新する処理です。
この後者のリモートリポジトリのデータを取得する一連の流れの[ フェッチ => マージ ]の処理のことを[ プル ]と言い、リモートにある最新データをローカルに適用する処理としてよく使われます。

避けては通れない[ コンフリクト ]

色々な単語を紹介してきましたが、最後に最も重要な単語を紹介します。それが[ コンフリクト ]です。
同じファイルを同時に操作しているメンバーがいて、編集した箇所が被っていた時には以下のような現象が起きる事があります。

[ マージ ]をしたときにこのような現象が起きる事を[ コンフリクト ]と言います。これが起きた時には、残念ながら機械的にマージ処理は行われません。こうなった時には、人の手で正しい形に修正して、改めて[ コミット => プッシュ ]する必要があります。

このコンフリクトですが、対応方法を間違えると大事な修正した内容が消えてしまうなどの大事件になってしまう場合もあります。
なので、『 git 』に慣れるまでの間は、コンフリクトという単語を目撃した時は“必ず、先輩など詳しい人に質問する”ようにし、詳しい人に対応してもらうようにしましょう。

おわりに

今まで書いた内容はあくまで【『git入門』の入門】です。
最初は覚えなくていい要素([ リモート追跡ブランチ ]とか[ マージリクエスト ]とか)は省略してますし、説明もイメージしやすいようにシンプルに書いています。

これらは『git入門』を理解しやすくする目的で書いているからで、ちょっとおかしな説明になっているところもあるかもしれません。
しかし、この内容を読んでから『git入門』を読んでいただければ、きっと『 git 』のことを少しは理解しやすくなっているかと思います。

最初にも書きましたが『 git 』はIT企業で働く時には避けて通れない知識になってきています。初めて向き合う時はとても難しく見えますが、接していくうちに段々と大活躍する一生モノのツールになってくれるはずです。そんな便利なツールと仲良くなるキッカケになって頂ければ幸いです。

【祝20周年!】記念樹に込められた思いとは?

0

2020年7月18日(土)アピリッツは20歳を迎えました……!そこで和田社長から(前回の創立記念日の記事はコチラ)

なんかせっかくだし記念の木とか欲しいなあ……。

と緑化委員に依頼が来ました。そしてその後、3本の素敵な木が届きました!

緑化委員とは……

各フロアの観葉植物の水やりなどのお世話をしています。また、植物が育って大きくなったら、剪定(せんてい)をしたり、鉢の植え替えなどもします。メンバーは、植物が好きな方や新卒を中心として構成されており、やりがいは「植物に関して知識がなくても詳しくなれたりする!」だそうです!

オフィスの植物は緑化委員のみなさんがお世話をしていたのですね……!いつもありがとうございます!

そこで緑化委員に所属している、アピゲー部の20新卒石田さんに届いた記念樹について教えてもらいました!

――選定の過程について教えてください!

石田:基本的には、20卒の緑化委員会が主体で動きました。最初に緑化委員会(19、20卒)と植物に詳しい先輩方なども含めて候補を出し、最終的には20卒間で話し合い決定いたしました。

記念樹に込められた思い

トックリヤシ

2階オフィスの長谷部さん(GD部部長)のそばに置いてあります。南国が味わえます。

石田:現在ある植木に被らないシルエットと、根本から徐々に太くなりゆっくりと成長していくので、堅実に成長できる会社を目指すというイメージです。
余談ですが、昨年の夏頃に和田さんがアロハシャツを着ているのをお見受けいたしましたので、南国っぽい感じも気に入って下さるかなと思って選びました。

ベンジャミン

3階オフィスに置いてあります。くるくるの葉っぱが可愛い。

石田:「幸福をもたらす木」の通り、今後もアピリッツの成長が良いものになりますようにというコンセプトです。ベンジャミンの中でも葉っぱがカールしているバロックいう品種で、見た目が他の植木と被らないところも高ポイントです。

コーヒーの木

5階受付に置いてあります。綺麗な緑で圧倒的存在感!

石田:変わり種として入れてみました。1~1.5mほど育てると実がなるそうなので、20周年アピリッツコーヒが飲める日がいずれ来るということで、育てる楽しみは一番高いと思います!花言葉は「一緒に休みましょう」という意味です。

どの木もとっても素敵な選定理由ですね!私もコーヒー飲めるのを楽しみにしています♪

緑化委員のみなさんありがとうございました!

【成果発表会】「読もうと思えるコードを目指す」コード解析で見やすくするための「using」手法

今回は、社内の成果発表会「P-Review ’19」にて発表したエンジニア 須合 雅之さんの資料を紹介します。
※こちらの記事は個人の研究発表で、会社としての見解ではございません。

須合 雅之
2019年4月ゲームサービス部(現:コンテンツデザイン部)にエンジニアとして入社。
入社後は主に受託ゲームのエンジニア業務を担当。仏のように優しい。

p-review19_sugo.pdf1

(※挨拶省略)

このテーマを選んだ理由

僕は入社前にもプログラミングをしていたんですが、仕事で初めて触れたC++コードがとても見やすくて感動し、後世のエンジニアにもコードを見やすくする「using」での手法を知ってもらいたくて、このテーマを選びました!

既存のコードの解析をする時に「using」で悩むことが減り、コードの見やすさについて考えてくれる人が増えると嬉しいです。

仕事で触れたコード

usingの説明前に、仕事で触れたコードの見やすかったポイントをまとめました。

• 関数名、型名がわかりやすい

• 一つ一つの処理が簡潔

• 一行が長すぎない

なぜ見やすさが大事か

私がなぜ見やすさを重要視しているかですが、コードが見づらいとそのコードは読みたくなくなるんです。

例えば、このようなコードがあったとします。

ぱっと見てどう感じますか?

見づらくないですか!?

コメントがない、引数の型がわかりにくいなどあると思います。
しかし、それよりも画面に収まっていないんです。

こんな読みたくないコードを「解析しろ」と言われても、モチベーションが上がらない!
複数人で開発する場合や、見返す時も解析に時間がかかり、開発効率が悪くなってしまうと思います。

では次に、このコードはどうでしょうか。

先ほどの見づらいコードと違って、画面内に収まっています。
引数の型もそこまで複雑そうに見えないし、これはまだ読めそうです。

ですが…
実はこの読めそうなコードは、読みたくないコードを見やすくした同じコードなんです!!

同じコードだけど、ぱっと見で「読みたくない!」と思わせない。
そのためにも見やすさは大事なんです。

見やすくするために使ったのが赤で囲ってある部分にあるusingです。

では、usingでできることを今回は2つを説明します。

usingでできること~別名を付ける~

例①

例としてこのようなコードがあったとします。

今回は画面内に収まっていますが、「unsigned int 」って少しわかりにくいですね。

普通の「int」型を使うことになった場合、混じってしまうかもしれません。
それに引数に指定している部分は、「const」や「&」など、修飾が増えると混乱するかもしれないです。

コードを書く側としても、毎回「unsigned」を打つのは面倒ですし、読む側もうざったいと思います。
「unsigned int 」を一つにまとめることができれば、これらの点を改善して見やすくできそうです。

usingを使って解決します。

これがusingを使ったコードです。
修飾が外れて、ぱっと見簡単なコードに見えます。

何をしたかと言うと、usingを使って「unsigned int 」に「uint」という別名をつけて置き換えました。

赤枠で囲ってある部分で別名を宣言しています。
これが、別名に置き換える時のusingの使い方です。

例②

次は、ネット上によくあるコードの説明です。

何ビットかを明記しておくことで、メモリ配置やフラグに使うときなどにわかりやすくなりそうですね。
そして書くときも楽です!

最初にあげたこの読みたくないコードも…

usingを使って別名をつけることで、読めそうなコードにしました。

「std::function」という複雑な型を切り出すことで、実際に使っている部分がかなりわかりやすくできました。
文字数を短いものに置き換えたことで一行を短くし、画面内に収まっています。

C#の場合ですが、namespaceに対しても別名をつけることができます。スコープを明示的に付けたい時に役立つかもしれません。

次にnamespaceを省略することについて説明します

usingでできること~namespaceを省略~

例①

このプログラムでは「std」から様々な要素を使っています。
矢印で示す通り、様々なところで「std」のスコープが見られます。
特に「std::vector<std::string>」は、ぱっと見でわかりづらいかなと思ってしまいますよね。

このような問題はusingディレクティブで解決できます。

usingでnamespaceを指定すると、そのnamespace内の要素を使うときに、スコープが不要になります。
これならあとで、「std」から必要なものが増えた場合でも、「std」のスコープを付けないで使うことができます。

C#の場合(おまけ)

C#の場合でもusingを使って省略できます!

まとめ

見づらいコードは読みたくないし、開発効率が悪くなってしまいます。
usingを使えば、型に別名をつけてわかりやすい名前にしたり、namespaceを省略することができます!

usingを使って読もうと思えるコードを目指しましょう!

自分の書いたコードが分かりやすくなっているか同期と確認しあう須合氏

他の人が読むことを考えて、見やすいコードを書くのはとっても良いことですね!
これがエンジニアの思いやり……
アイコも思いやりを持ってお仕事頑張ります!

ソーシャルゲームにおけるミッション機能のサーバーサイド実装の考察:思考編

0

アピリッツ コンテンツデザイン部の金井と申します。前回に引き続き、ソーシャルゲームにおけるミッション機能に対する考察をしていきます。

関連:ソーシャルゲームにおけるミッション機能のサーバーサイド実装の考察:問題編

前回のあらすじ

 ミッション機能というものは構造的に、

  • 全てのAPIに影響が及ぶが故に改修へのQAコストが非常に高く
  • 処理に時間が掛かりやすく
  • ユーザーデータが膨大になるが故にそれらの問題が更に面倒な事になりやすい

 ものである。
 また、実際に実装/改修するとしても、仕様面の都合で

  • ミッション受注処理
  • ミッション進捗処理
  • ミッション報酬受け取り処理

 の3つが複雑に絡み合う事が多く、所謂スパゲッティコードというものに、しかも見るからに不味いそれになりやすい。

平和だった日常回を思い出しながら仕事に手を付ける覚悟をしたエンジニア

どのように実装/改修すべきか

注:

 ここから記述する内容は、”これから実装する“もしくは”既存のソースを流用して新しいゲームを開発する“と言った、運用中ではない事を前提としたものとなります。
 既存のミッション機能が如何にクソコード汚いものでも改修する事によって得られるメリットは、精々、

  • レスポンスが早くなる
  • コードが見やすくなる
  • 改修等に伴うバグの発生率を減らす事が出来る

等と言ったユーザーからは見えないものが多く、更に

  • 影響が膨大な以上、QAを入念に介してもバグを除き切れずに本番障害を引き起こす可能性が高い
  • バグを引き起こした場合の長時間メンテ、修正、補填などで大きな損害も被る
  • マスタの改修なども必要となった場合、マスタデータを作るExcel…これまで使用していたマクロなども改修しなければいけない事となり、プランナー側、そしてクライアント側にも大きな負担が掛かる

 と言ったそれ以上のデメリットが膨大です。
 如何にエンジンが錆び付いてガションガションうるさい音を立てていようとも、熱効率が悪かろうとも、動いている状態のまま幾つかの部品を取り替える事なんて早々出来ないですからね。
 それでもやらなければいけないとなる場合は、レスポンスの重さでユーザー離脱が激しいとか、原因不明のバグが頻発して、更に手をつけようにも秘伝のソース過ぎて壊さないとどうしようも出来ないとかそんな、それを使い続ける事で極度の不利益が出る場合に限るでしょう。
 そうでない場合は、その汚いコードと付き合っていくのがベストです。
 ベストです。
 ベストなんですよ。悲しい事に。とても、とても悲しい事に。

出社直後、イベントにて大量の期間限定ミッションが追加された事により、特定のAPIの平均レスポンスが5秒以上掛かっている事を発見したエンジニア

普遍的に良く見られるであろう悪くなっていくコード

 まず前回でも書いたような、カードの強化で例えてみましょう。
 カードを強化させた回数のミッション指定アイテムを手に入れた回数のミッションが存在するとします。
 そして、カードを最大レベルまで強化するとカードマスタに指定されたアイテムが貰えるとします。
 すると、さっくり疑似コードとして書いてみると以下のようになるでしょう。

class User < ActiveRecord::Base
  def カード強化(カードID, 使用素材群, 時刻)
    カードが存在するか確認
    カードが既に最大レベルでないか確認
    使用素材群それぞれに対し do
     消費数分持っているか、またそれらがレベルアップ用アイテムか確認
    消費数分の減算、獲得経験値を計算
    end

    カードをレベルアップ(獲得経験値)
    カードを強化したミッションを進捗させる

    if カードが最大レベルならば
     アイテム付与(カードマスタに定義されている報酬アイテムマスタコード, カードマスタに定義されている報酬アイテム量, 時刻)
    end
  end

  def アイテム付与(アイテムマスタコード, 付与量, 時刻)
    指定されたアイテムマスタが存在するか、また受け取れる時間であるか確認
    ユーザーにアイテムを付与
    アイテムを獲得したミッションを進捗させる
  end
end

 こんな感じですね。
 確かにミッションがシンプルな仕様ならば、そんなに時間も掛からないでしょう。
 しかし例えばカードの強化を促進させる施策の一環で、カードを指定レベルまで成長させたカードのレベルを最大まで上げたというミッションが追加されたとすると、最大、合計で4つのミッションの進捗確認を1個1個する事になります。
 段々雲行きが怪しくなってきましたね!

 そして今度はミッションを進捗させる方を詳しく見ていきましょう。分かりやすさの為に、ミッション進捗は別のクラスに纏めましょうか。

class ミッション進捗
  def 進捗させる(ユーザー, 進捗させるミッション種, 進捗させるミッションカウント, ...)
    進捗させるミッション種に属する、現在有効なミッション群を確認する
    そのミッション群に対して do
      ユーザーの進捗を加算する
    end
  end
end

 簡単に書くとこうなりますね。
 さて。ここで例えば前回でも書いたような、ミッションの仕様に良くある、ミッションをクリアしたら次のミッションが解放されるという仕様が入ってくるとこうなりますね。

class ミッション進捗
  class << self
    def 進捗させる(ユーザー, 進捗させるミッション種, 進捗させるミッションカウント, ...)
      進捗させるミッション種に属する、現在有効なミッション群を確認する
      そのミッション群に対して do
        ユーザーの進捗を加算する
        if クリアしたならば
          それのクリアを前提条件とするミッション群を解放させる
        end
      end
    end
  end
end

 シンプルにこのような感じになるでしょうね。
 さて。ミッション進捗そのものも重くなりましたね。それがカードを強化するだけで最大4回走りますね。
 雨が降ってきたようです。
 そしてトドメに、ある特定のミッション種別だったらクリアまでではなく、報酬付与までするとの仕様が入ってきたとしましょうか。

class ミッション進捗
  class << self
    def 進捗させる(ユーザー, 進捗させるミッション種, 進捗させるミッションカウント, ...)
      進捗させるミッション種に属する、現在有効なミッション群を確認する
      そのミッション群に対して do
        ユーザーの進捗を加算する
        if クリアしたならば
          それのクリアを前提条件とするミッション群を解放させる
          そのミッションが特定の種別だった場合、報酬付与まで行う
        end
      end
    end
  end
end

 はい。報酬付与の中ではこのミッション進捗が呼ばれていますね。雷まで落ちてきたようです。

イベント中にバグが発生し、しかもそれが実装した人ももう居ない、誰も見たがらない秘伝のソースの中にあると分かった時のサーバーエンジニア達

こうならない為にはどうするべきか

 自分なりの考えとなりますが、結論としては単純です。

 同じようなコードを何度も通さない仕組みにすれば良い。

 ただ、それだけです。
 上のコードを書き換えるとこんな感じでしょうか。

class User < ActiveRecord::Base
  def カード強化(カードID, 使用素材群, 時刻)
    カードが存在するか確認
    カードが既に最大レベルでないか確認
    使用素材群それぞれに対し do
     消費数分持っているか、またそれらがレベルアップ用アイテムか確認
    消費数分の減算、獲得経験値を計算
    end

    カードをレベルアップ(獲得経験値)
    ミッション用にカードを強化したというデータを保持

    if カードが最大レベルならば
     アイテム付与(カードマスタに定義されている報酬アイテムマスタコード, カードマスタに定義されている報酬アイテム量, 時刻)
    end
  end

  def アイテム付与(アイテムマスタコード, 付与量, 時刻)
    指定されたアイテムマスタが存在するか、また受け取れる時間であるか確認
    ユーザーにアイテムを付与
    ミッション用にアイテム付与したというデータを保持
  end
end

 そしてカード強化の後、他に何もやらなくなったタイミングで保持したデータに対して一括でミッションを進捗させる。

class ミッション進捗
  class << self
    # 進捗させるミッションデータ群 = {ミッション種別: 進捗カウント}
    def 進捗させる(ユーザー, 進捗させるミッションデータ群, ...)
      進捗させるミッション種別群に属する、現在有効なミッション群を確認する
      そのミッション群に対して do
        ユーザーの進捗を加算する
      end
      クリアしたミッション群それぞれに対して do
        それのクリアを前提条件とするミッション群を解放させる
        そのミッションが特定の種別だった場合、報酬付与まで行う
      end

      if 報酬付与まで行なった場合
        ミッション進捗をまた呼ぶ
      end
    end
  end
end

 ざっくりこのような形ですね。
 工夫が足りず、このミッション進捗はこれでも複数回呼ばれる可能性はありますが、少なくとも元々の形よりは呼ばれる頻度は落ちるでしょう。
 カードを強化させた回数のミッション指定アイテムを手に入れた回数のミッションに加えてカードを指定レベルまで成長させたカードのレベルを最大まで上げたというミッションがあったとしても、このミッション進捗を通る回数は1回で変わらないのですから。

結論

 自分ではそれしか思いつきませんでした。
 ミッションという機能は性質上、1APIで様々なミッションの進捗が進むという事が絶対にあります。
 幾らそのミッションの進捗1回分を軽量化しようとしても、無理な軽量化はどこかに歪みを生みます。コードがより複雑になったり、新たな仕様によって軽量化の前提が上等な料理にハチミツをぶちまけるが如くに崩れる事があったり。
 1個1個に対して愚直に進捗を進ませるという事柄自体をやめなければ、ミッションという機能は健全に運営に組み込めないという結論です。
 しかし、それはやはり運営フェーズに入ってからは絶対に出来ない事です。
 全てのAPIに浸透し、隆盛しているようなそんな文化を一気にひっくり返すなど、濃口のラーメンが流行りの極みの時に薄口のラーメンのみを売り出して儲けを出そうとするようなものでしょう。

 次回は、そんなコードを実際に改修した時に起きた事などを書こうと思います。

原因が見つからないエンジニア

第三回はこちら:ソーシャルゲームにおけるミッション機能のサーバーサイド実装の考察:実践編

社内で生まれたゲームエンジンの活用で優良なコンテンツを提供!

0

今回はゲームデザイン部の部長・長谷部さんに、入社して感じたことや現在のお仕事、そしてゲームエンジン活用のメリットついてインタビューしました。(2020年2月取材)

――まずは、長谷部さんの自己紹介と現在のお仕事について教えてください!

ゲームデザイン部の部長をしております、長谷部と申します。業務内容は、社内で開発したゲームエンジン(技術)を活用し受託でゲームを開発したり、セカンダリ案件の運営を行っています。セカンダリ案件とは、他社さまが運営していたタイトルを買い取り、引き継いでお客様に提供することです。現在は、自社のスマートフォン向けゲーム「ゴエティアクロス」をベースとしたゲームエンジンを用いて、他社さまのIPを用いたゲームを受託で2本開発しております。セカンダリ案件としては「演義シリーズ」という3本のタイトルを運営しています。

――ゲームエンジンの活用……??

社内でゲームを開発した際にうまれた技術やシステムを使って、受託開発に結びつけるというコンセプトです。まず、どんなゲームでも似たような機能はありますよね。そういう機能を、ゲームを作るたびに毎回ゼロから開発せずに活用しています。通常はゼロから開発して毎回新しいシステムを開発していく例が多いのですが、それだと無駄が多いので、通り一辺倒の当たり前に存在するような機能はなるべく活用してゆき「使えるものは使いましょう!」という発想です。そうするとより安価に作れますし、不具合も出づらいです。

――アピリッツに入社するまでの経歴や経緯について教えてください!

元々オンラインゲームが好きで遊んでいたのですが、その頃にMMORPGを開発していた株式会社ハドソンと縁がうまれて入社しました。そこから、MMORPGの運営や、いくつかのオンラインゲーム開発、ガラケー向けのコンテンツ運営などを行い、いくつかの会社を渡り歩いてオンラインゲーム、ソーシャルゲームの開発を続けていました。数年前にハドソン時代の友達が紹介してくれた会社「風姿華傳」に入社し、その「風姿華傳」と一緒にアピリッツに合流しました。

個人の「やりたい!」が実現できる会社

――アピリッツに参加して、どのような印象を受けましたか?

ホワイトな点ですね。この業界、勤務時間が長く帰れないといったいわゆる「ブラック」な状態での会社運営がされていることがどうしても多いのです。私も過去に勤めていた会社では何件もそういった状態である会社を見てきたのですが、それがほとんど感じられないことに入社当初は驚きました。人事の方がしっかり気を配って勤怠管理制度が整っているため、従業員に優しい印象を持ちました。

また、入社間もない頃から他部署の方たちとコミュニケーションが取りやすく感じました。ちゃんと会話をするってことは仕事をする上で必要だと思っているため、コミュニケーションに対してみんな積極的であるのも良いですね。

―― 今後、アピリッツにどんな仲間が来てほしいですか?

アピリッツは、個人がやりたい!ってことに対してNGをかけたりしない傾向がありますので、自分の中で作りたいものを持っている人や、実現したい明確な目標がある人が増えるとより面白くなっていくのではないかと感じています。私自身もそういう人と一緒に働きたいですね。

こちらは2019年の様子です。コロナが収束して、またこういう日がきますように……!

――長谷部さんが仕事で感じるやりがいについて教えて下さい

ゲーム開発におけるやりがいは、やはりリリースした後のお客様(ユーザー)の反応にあると思います。それはもちろん売れれば数値的な面でもありますが、近年発達してきたSNSなどでも様々な感想が流れており、そういったものもやりがいにつながっていると感じます。

コミュニケーションを大切に、楽しく働ける環境作り

――仕事をする上で意識していることはなにでしょうか?

お客さまとコミュニケーションをたくさんとって、作りたいものをしっかり認識し、実現するってことを心がけています。ゲーム開発では、開発期間が約1年間くらいあるので、開発期間中にトレンドが変わったり作りたいもの自体も変化してきたり……と一定ではないため、最後の方に修正することも多いからです。

マネージメント的な部分ですと、従業員の人達がストレスをなるべく溜めないようにメンタル的なコントロールをする必要があると考えています。話しかけたり、話しかけられた時に笑顔で迎える、とかそういうのは結構大事かなと思って意識しています。やっぱり嫌な環境で働くのって辛いと思うので、なるべく楽しく働ける環境が作れたら良いなと思っています。

――今後の目標についてお聞かせください

まずは今期”部”が分かれた直後なので部長としてその”別れた部”っていうのを安定に稼働させて、現在開発しているコンテンツの成功も目指します。

その後も、社内で生まれた新たな技術を活用し、優良なコンテンツを提供していき、しっかりとした収益基盤を形成し、会社に貢献していきたいと考えています。

――長谷部さんありがとうございました!

関連:演義シリーズ(疾風幕末演義・関ヶ原演義・繚乱三国演義)公式サイト

関連:アピリッツのその他の役員インタビュー

【デモECサイトで学ぶ】Googleアナリティクスの基本操作と使い方

0

現在、コロナウイルスやリモートワークの影響によって、消費者が自宅で買い物をする「巣ごもり消費」が活発になり、EC サイトの需要が大きく伸びています。
その中で、Google アナリティクスを活用すれば、EC サイトにおける購入動向を分析し、さらなる改善に役立てられます。
しかし、Google アナリティクスの必要性はわかっていても、多機能でカスタマイズ性も高いゆえに、操作方法などもよくわからないまま使用している方が多くいらっしゃいます。
そんな方のために、Google がデモアカウントを用意しており、デモアカウントのデータは、Google の公式グッズを販売している EC サイト「Google Merchandise Store」から取得しています。
本記事では、デモアカウントの画面を見ながら、Google アナリティクスの基本操作や使い方について解説します。

Google アナリティクスの基本操作

1.アカウント、プロパティ、ビューの変更

こちらの画面では、デモアカウントの他に当社アピリッツの2アカウントが存在しています。
そしてデモアカウントという 1 つのアカウントに対して、1 つのプロパティがあります。さらにそのプロパティの下にビューが設定されている仕組みです。

アカウント、プロパティ、ビューを変更するにはメニューから[管理]をクリックします。
そうすると管理画面が表示され、3 つの階層を確認できます。
それぞれ上部のプルダウンから選択し、変更することができます。

2.レポートメニューの切換え

Google アナリティクスでは大きく5つのレポートがデフォルトで搭載されており、各種レポート内容を解説します。

リアルタイムレポート

「現在」と書かれている部分の数値が Web サイトを「今現在閲覧しているユーザーの数」が表示されます。
右上にあるグラフは、時間遷移に伴い、閲覧されているページの数がどのように変化しているかを表示されます。
右下の表は、今ユーザーがどのページを見ているかを表しています。

ユーザーレポート

この画面では、以下7つの指標について調べることができます。

セッション何人のユーザーが Web サイトに訪れたかという回数。
初めてのアクセス、複数回のアクセスなどは関係せず、単純に「何回訪問されているか」を調べる指標。
ユーザー特定の期間内にサイトを訪れたユーザーの数。
複数回訪れた人の計測は「1 回」とカウントされるため「何人が訪問をしているか」を知りたい際に見るべき指標。
ページビュー数Web サイト内のページが表示された回数。
Web サイト内での回遊なども含めて、「Web サイトのページが何回見られているか」を調べる際に見る指標。
ページセッションページビュー数÷セッション数1回の訪問で何ページ見られているのかを調べるのに使う指標。
高ければ高いほど回遊率が高いということがわかる。
平均セッション時間1 セッションにあたる平均時間を示したもの。
ユーザーが訪問してから離脱するまで、どれだけの時間サイトを閲覧したかわかる。
直帰率Web サイトを訪れ 1 ページしか見ずにそのままサイトを離脱したユーザーの割合。
新規セッション率Web サイトを訪問したユーザーのうち、はじめて訪問したユーザーのセッションの割合。

集客レポート

ページの下部にある表は、どのような流入元からきたユーザーがどのような動きをしているかを表しています。
左側にある、「Organic Search」や「Display」といった流入元の種類が分類されています。

行動レポート

Web サイトに訪問したユーザーが Web サイトでどのような動きをしているかを知ることができます。
具体的に、Web サイトのどのページをどのように回遊しているのかを調べられます。

コンバージョンレポート

何件のコンバージョンが発生したかを確認できます。
ページ上部のグラフでは、目標を達成したセッション数の推移などを確認することができます。

どのレポートを表示する場合にも、左側のメニューから見たいレポートを選択します。

レポートをクリックすると、レポートのリストが表示され、さらに該当のカテゴリを選択することでレポート画面が切り替わります。

3.設定内容の確認

ビューの設定

デモアカウントのビューでは、「1 Master View」、「2 Test View」、「3 RAW Data View」、「Testing 」が用意されています。

これは最低でも「マスタービュー」「テストビュー」「ローデータ」の3つを解析前に作っておく必要があり、それぞれ理由は以下の通りです。

・マスタービュー
普段の解析で使用する本番用のビューです。
関係者(自分を含む)のアクセスを IP アドレスで除外したり、リファラースパムを排除するフィルタ設定などを行います。

・テストビュー
設定を変更・追加するときなど、正しく計測できているかを確認するために使用します。
イベント計測の失敗が後になり判明するといったことはよくあるため、事前に計測テストをしておくことが大切です。

・ローデータ
フィルタをかけないなど、あらゆる設定を一切しないオリジナルのビューのことです。
他のビューの設定ミスで消去されてしまったり、なにか問題が起こったときのためのバックアップとして必要です。

eコマースの設定

デモアカウントでは EC サイトのアクセス解析において重要な「購入された商品と数量」「収益」「どの商品が売れているのか」など、実際に売上に直結している指標を確認、分析できる e コマーストラッキング機能が設定されています。

基本的なレポートの見方

1.計測期間の変更

計測期間を変更するにはレポート画面右上の日付から行います。

デフォルトでは直近1週間、表示単位は1日と設定されています。
クリックするとカレンダーが表示され、こちらから期間を設定します。

1クリックで月単位表示する

カレンダー上部の月表記を、をクリックすると、その月が期間として選択されます。

スタンダードな期間を1クリックで表示する

「期間」のとなりにある「カスタム」をクリックするとプルダウンが表示され、よく使用する「今日」「昨日」「前週」「先月」「過去7日間」「過去 30 日間」をそれぞれ選択できます。
選択したら、「適用」をクリックすると期間が切り替わります。

任意の期間を指定する

カレンダーで期間の開始日をクリックした後、終了日をクリックします。
そうすると選択した期間がレポートの期間として表示されます。
また[期間] 欄に開始日と終了日を入力する変更方法もありますので、ぜひ試してみてください。

2.レポートタブの切換え

各レポートメニューの画面表示は、基本的にタブ形式になっています。

多くのレポート画面では[エクスプローラ]タブのみですが、レポートメニューによっては複数のタブで画面表示を切り替えることができます。

各レポート画面はディメンションに対する指標ごとの計測数値を表示するもので、多くの場合は表とグラフで構成されたレイアウト(エクスプローラ)で、わかりやすく表示されています。
しかし、次のようなレポートメニューについては、個別のレポート画面レイアウトで表示します。

  • 表やグラフでなく”図”を使って表示する場合
  • 特定のディメンションのみの計測数値を独自に表示する必要がある場合


このように表示形式が異なる内容は、すべてのタブの中にレイアウトされ、タブを選択することで画面表示が切り替わるようになります。

3.グラフ、表の表示変更

グラフに表示する指標を変更する

グラフに別のデータ数値を表示させる場合は、グラフ左上のプルダウンを選択し、表示させたい指標を選択することでグラフに反映されます。

また、となりにある[指標を選択]から別の指標を選択すると、グラフに 2 つ目のデータを表示され比較することができます。

データ表のディメンションを変更する

表テーブルに表示されている項目を変えたり、複数組み合わせて表示するには、ディメンションを変更します。
ディメンションを変更するには、[プライマリディメンション]のとなりから表示させたいディメンションを選択すると反映されます。

また、データをより詳細に表示させたい場合には、セカンダリディメンションを設定します。
セカンダリディメンションを設定することで 2 つのディメンションを組み合わせたデータを表にすることができます。
設定方法は、[セカンダリディメンション]というプルダウンからディメンションを選択するだけで反映されます。

脱初心者 便利なレポートの使い方

1.正規表現を使った絞り込み検索

正規表現はカスタムフィルタの「フィルタフィールド」や「フィルタパターン」での URL や IP アドレスなど、文字列を絞り込むときに役立ちます。
実際にデモアカウントのデータを活用し、値を先頭一致で絞り込む場合の正規表現を解説します。
まず、メニューから「行動>サイトコンテンツ>すべてのページ」から、エクスプローラーを開きます。
表テーブル右上にある、[アドバンス]をクリックし、アドバンス機能を表示したら設定作業を行います。
ページ URL には「/google」から始まっているものがいくつもあります。
そこで「/google で始まるページ」に絞り込まれたレポートを表示します。

リストボックスを操作して「含む」→「正規表現一致」に変更します。
入力フィールドに、「/google で始まるページ」を意味する正規表現「^/google」と入力し、[適用]をクリックしたら完了です。

このように正規表現を用いれば、パターン数が多い高基数ディメンションをまとめて抽出することができます。
上記はほんの一例で、その他にも”OR 条件を指定する「│」”など様々な正規表現がありますので、ぜひお試しください。

2.エクセル形式でダウンロード

Google アナリティクスのレポートメニューのデータは、ファイルに出力(エクスポート)できます。
エクスポートできるファイル形式は、以下の4種類です。

  • PDF
  • Google スプレッドシート
  • Excel
  • CSV


Excel 形式でダウンロードする方法は、画面右上の「エクスポート」クリックします。

次にプルダウンが表示されますので「Excel」を選択すると、ダウンロードが開始されます。

3.よく使うレポートを保存

よく使用するレポートには、すばやくアクセスできる[保存済みレポート]の機能があります。
毎回レポートで開き、セグメントで条件を絞ったり、アドバンスフィルタをかけたり、など同じ設定をやり直す必要がなく
レポート対象期間を除く適用した設定は、手動で変更しない限り、ログアウト後も保存されます。
設定方法はシンプルで、自分の目的の合うよう設定を行い、その状態で右上にある[保存]をクリックします。

すると、「保存するレポートの名前を入力する画面」が表示されますので、任意の名前を入力し[OK]をクリックします。
その後、保存したレポートを見たい場合は、メニューの「カスタム>保存済みレポート]から、保存済みレポート一覧が表示されるので、見たいレポートをクリックします。

[保存済みレポート]の機能を使って、作業効率をアップさせてみましょう。

さいごに

今回は、Google アナリティクスの基本操作や使い方について解説しました。
実際にデモアカウントを使って操作に慣れてみると、より内容を理解することができます。
また、アピリッツでは Google アナリティクスの設定や使い方にとどまらず関連する WEB マーケティング施策を絡めた効果測定方法・活用方法をサポートしています。
自社サイトに Google アナリティクスの導入・活用をご検討されている方は、ぜひお問い合わせください!

→アピリッツへのお問い合わせはこちらから

Kali Linux 2020.3 導入と日本語化

0
kali linux 日本語

エンパワーメントサービス部所属セキュリティエンジニアの綾城です。
Kali Linux 2020.3 を VirtualBox にインストールしてメニューの日本語表示化と日本語入力を可能にしてみました。Kali Linuxは、セキュリティ診断用ツールが標準で用意されている、Linuxディストリビューションです。今回からは、このサイトに掲載していきます。以前のバージョンや内容については、こちらを参考にしてください。

はじめに

Kali Linuxは、セキュリティ診断ツールを含むLinuxディストリビューションです。利用の仕方により不正アクセス行為と判断される可能性があります。またサービス停止やデータの破損が起こる場合もありますので事前にバックアップを行うなどしてください。そして必要に応じて必ず管理者の許可を得て利用してください。また例えば、Webアプリケーションの診断等始める場合は、徳丸本など参考にして、十分理解してから行ってくださいね。

徳丸試験の紹介と合格する方法
https://spirits.appirits.com/role/engineer/security-engineer/5418/

Kali Linuxの特徴などについて

デジタルフォレンジックや、特にペネトレーションテスト(侵入テスト)用などのツールが用意されている、Debian派生のLinuxディストリビューションです。ハッカードラマなどにもたびたび登場するほどこの分野に関してはメジャーなディストリビューションです。最近では、Windows10のWSL(Windows Subsystem for Linux)で、使用できたりします。

Kali Linux 公式サイト
https://www.kali.org/

脆弱性診断とペネトレーションテストの違い

主な収録ツール

Kali Linuxには多数のツールが導入されています。収録ツールについては下記のリンクから確認ください。Nmap、Aircrack-ng、Wireshark、Metasploit Framework、Armitage、Burp Suite、OWASP ZAP、BeEF、sqlmap、wpscan など

Kali Linux Tools Listing
https://tools.kali.org/tools-listing

日本語化について

海外の資料などを参照しながら、日本語化したKali Linuxを使うとUIの文字列が違い分かりにくいと意見もありますが、自分はわかりやすさ優先でUIも日本語化して使うことが多いです。また、日本語入力もCherryTreeなど便利なドキュメントツールもあるので、Kali Linux内で完結できるようにしています。

VirtualBox上にインストールする

仮想化ソフトウェア、VirtualBoxをインストールし、Kali Linuxのイメージを導入、起動させます。

VirtualBoxをインストールする

あらかじめ下記サイトからダウンロードを行いVirtualBoxをインストールしてください。
今回は、バージョン6.1.12に、Extension Packを導入してますが最新版で問題ないと思います。

VirtualBox 公式サイト
https://www.virtualbox.org/

Kali Linux イメージファイルのダウンロード

Kali Linux Downloads – VirtualBox Images イメージファイルのダウンロード先
https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/#1572305786534-030ce714-cc3b
(名前の方をクリックしましょう。Torrentって書いてある方は、イメージファイルを入手するのに別途アプリが必要です。通信状況の悪い時などに使用します。またVMWare用などもありますので間違えないようにしましょう。)

kali linux download

Kali Linux 仮想アプライアンスのインポートと設定

VirtualBoxを起動し、ファイル、仮想アプライアンスのインポートで、先ほどダウンロードしたkali-linux-2020.3-vbox-amd64.ovaを選択しGPLの使用許諾に同意し、インポートします。

kali linux import

初期設定を行う上では、デフォルトのNAT設定でも問題はないですが、ネットワークの割り当ては、診断対象環境との通信の関係上、DHCPで割り振られる環境などでは ブリッジなどにするなど、実施したいこと構築したい環境などによって変更してください。その他は、好みによって設定を変更します。私はCPUは、2コア使用でメモリを4GBぐらいにしています。

kali linux VirtualBox

Kali Linux上の設定

Kali Linuxの起動とログイン

起動ボタンを押し、しばし眺めます。
Kali Linuxの起動を行いログインします。Kali Linuxのパスワードは、kaliに設定されています。
 ユーザー名:kali
 パスワード:kali
Usernameに、「kali」と入力し、Passwordに、「kali」と入力しLog Inを押します。
※以前と違い、rootログインが廃止され、パスワードがkaliに変更されてます。

kali linux login

パッケージの更新

最初に既存のパッケージを最新に更新してしまいましょう。
画面左上の黒っぽいアイコンのターミナルを起動します。
そして下記のコマンドを入力します。しばらく時間がかかり、パスワードkaliの入力や、確認のため途中にy、ニュース閉じるのにqの入力が必要となります。
※以前と違い、ユーザー権限ですので、コマンド前にsudoが必要になってきます。

$ sudo apt-get update
$ sudo apt-get upgrade
kali linux terminal

画面がロックしてしまったら、パスワードを入力して解除しましょう。
また、エラーが出るようでしたら、右上のネットワークの接続について確認してみてください。
ホストPCでインターネットに接続できるようでしたら、一度仮想マシンのネットワーク設定をNATなどにしてみてください。

日本語関連パッケージの導入

ここで日本語関連パッケージをまとめて導入してしまいます。
そして下記のコマンドを入力します。しばらく時間がかかります。
多少、必要のなさそうなものも導入されるかもしれません。

$ sudo apt-get install -y task-japanese task-japanese-desktop
kali linux japanese package

日本語表示の設定

ここで日本語表示の設定をします。
そして下記のコマンドを入力します。

$ sudo dpkg-reconfigure locales

スクロールして、ja_JP.UTF-8 UTF-8をスペースキーで選択、TABキーでフォーカスを変更して、OKでエンターキーを押します。

kali linux locales

同じように、ja_JP.UTF-8を選択して、OKです。

kali linux ja_JP.UTF-8

また、下記のコマンドを入力します。これをやらないとなぜか再起動が複数回必要だったり、反映されなかったりします。

$ sudo update-locale LANG=ja_JP.UTF-8

設定が終わったら、restart(再起動)します。

日本語キーボードの設定

日本語キーボードを利用している人が多いと思いますので、キーボードレイアウトを変更します。
メニューから、設定、キーボードを選びます。

kali linux japanese keyboard

まず、システムデフォルトを使用するのチェックを外します。
キーボードレイアウトがUSとなってると思いますので、選択して編集、日本語のキーボードを選んでください。おそらく、日本語(OADG109A)などがほとんどでしょう。

kali linux keylayout

タイムゾーンの設定

次に時刻がずれてると思いますので、タイムゾーンの設定をします。
下記のコマンドを入力します。

$ sudo dpkg-reconfigure tzdata
kali linux timezone

日本語表示の設定の要領で、アジア、東京を選択します。

Kali Linux 2020.3 導入完了

Kali Linux 2020.3 を、VirtualBoxにインストールし日本語表示、日本語キーボードの利用、日本語変換が行えるようになりました。
バージョン2020.3で追加された機能、ツールは公式ブログの記事、Kali Linux 2020.3 Release (ZSH, Win-Kex, HiDPI & Bluetooth Arsenal)で簡単に紹介されています。
Kaliの新バージョンをベースにCTFなどに参加してみてはいかがでしょうか。

kali linux japanese

さいごに

アピリッツでは、脆弱性診断など各種セキュリティサービスを実施しています。

また、セキュリティエンジニアについても募集しています。Webセキュリティについて学んだことを活かしたい、CTFにチャレンジしてみたい方など歓迎します。興味ある方は、下記の採用情報からセキュリティエンジニアの職務内容・応募資格を確認してみてください。もちろん、Webエンジニアも募集中です。下記ボタンからぜひ確認ください。

ソーシャルゲームにおけるミッション機能のサーバーサイド実装の考察:問題編

0

アピリッツ コンテンツデザイン部の金井と申します。幾つかに渡ってソーシャルゲームにおけるミッション機能に対して書いていこうと思います。

関連:第二回「思索編」はこちら! → ソーシャルゲームにおけるミッション機能のサーバーサイド実装の考察:思考編

前置き:ミッション機能の構造的問題

新しいプロジェクトに入り、ミッション機能の秘伝のソースを目の当たりにしたエンジニア

 ソーシャルゲームにおけるミッション機能というものは、サーバーサイドにおける実装を極めて慎重に行わなければいけないものである。
 理由としては、

  • リリース後の改修が困難になり易い
  • 負荷的な問題になりやすい
  • マスタ、ユーザーデータが膨大になる

 という、サーバーサイドにしては一つ一つが重大な問題を抱えるからである。
 一つ一つに対して詳細を追っていく。

リリース後の改修が困難になりやすい

 まず一つ目として、ソーシャルゲームにおけるミッションというものはユーザーの様々な行動で更新が発生する。ユーザーの所持するユニット/カードなどを成長させる、ログイン日数が一定数に達成する、指定のダンジョン/楽曲を指定のスコアでクリアする等々。
 即ち、ゲーム全体で実装する全てのAPIにおいてトリガーとなる事象が発生する可能性があるという事だ。それが意味する事とは、ミッションにおける根幹の部分を変更しようと思った場合には、全てのAPIに影響が及ぶ事を想定しなければいけない。
 それへのQAコストを考えた場合、リリース後の改修が困難になりがちである。

負荷的な問題になりやすい

 一つのAPIに対して、複数のミッション種が更新される、となった場合の処理を考えてみる。
 例えば、ダンジョン/楽曲をクリアした時などで考えると、
 ゲームクリアに紐付いて起こる事柄は例えば、
・パーティの経験値が増加する
・報酬が貰える
 等と言った事がある。さて、ここでそれらに紐付く、カードのレベルが指定に達する指定のアイテムを手に入れると言ったミッションがあったとする。
 サーバー側で行わなければいけない処理は簡単に書いても
・対象のミッションを探す
・対象のミッションの数値を達成数分加算する
・対象のミッションの達成条件を満たしたら達成状態に変化させる、もしくは報酬を付与する
 となる。しかも上記は、愚直に行うのならば、レベルアップしたカードの数手に入れたアイテムの種類数、更にミッションを達成して手に入れたアイテムの種類数だけの回数を繰り返さなければいけない。
 下手な実装をしたら、あっという間にレスポンスが返って来るまで5秒、10秒と掛かってしまう事の想像は難くない。

マスタ、ユーザーデータが膨大になる

 負荷、改修コストの問題にも紐付くが、それに拍車を掛けるのがこの問題だ。
 リリース直後にはミッションデータは少なく、負荷的な問題にならなかったとしても、リリースして暫く時間が経って来ると色んな施策を実践していくに連れてミッションマスタ、それに紐付くユーザーデータというものは肥大化していく。
 新たな施策の為にユーザーデータにカラムを追加したい、と言った事をしたくとも、その膨れ上がったデータベースに対してカラムを追加しようとした時、それだけでも数時間掛かる……即ちそれだけの時間は少なくともメンテナンスに入れなければいけない、と言った事も容易に発生する。

ミッション機能の構造的問題の纏め

 簡単に纏めてしまえば、ミッション機能と言うのはサーバー側にとって、

  • 全てのAPIに影響が及ぶが故に改修へのQAコストが非常に高く
  • 処理に時間が掛かりやすく
  • ユーザーデータが膨大になるが故にそれらの問題が更に面倒な事になりやすい

 と言う三拍子揃った非常に厄介なものとなりやすい。
 勿論、仕様次第ではもっと厄介な事になる事も十分にある、と言うか問題が上記だけで済むのならばとても喜ばしいとまで言える。

必死に読み解いていたらそれらを更に複雑にする仕様の改修を依頼されたエンジニア

ミッション機能の実現の為に

 サーバーサイドで実装すべき機能は大まかに分けて以下の3つになる。

  • ミッション受注処理
  • ミッション進捗処理
  • ミッション報酬受取処理

 同様に一つ一つ詳細に見ていこう。

ミッション受注処理

 問題になりやすい部分。
 ただ受注させるだけならマスタデータ参照してユーザーデータ作るだけでしょ? と思っても、些細な問題が色々と発生し易い。
 例えば、15:00から受注出来るミッションに対して、14:58にゲームを開始して15:02にゲームをクリアした、と言った事柄を考えてみる。
 この場合、15:02にゲームクリアのAPIを叩かれた時にはユーザーはミッションを受注していない状態である訳だ。
 その場合に15:00から受注出来るミッションを進ませたい、とプランナーから要望を受けた場合、エンジニアとしてはミッションの受注処理をゲームクリアAPIの最初に仕込む必要が出て来る。
 さて。時が経つに連れて、似たような事柄がポンポン出て来てしまった。この処理の前にもミッション受注処理を入れる。この処理の前にもミッション受注処理を入れる。この処理の前にもミッション受注処理を入れる。この処理の前にも……。殆どの場合に何も発生しない処理が至る所に埋め込まれる。これだけでも香ばしいクソコードの出来上がりだ。
 後から考えれば、プランナーにゴメンナサイしてゲームクリアAPI以外では基本的にログインさせ直すように仕向けた方が良かったとか、期間前であろうとも受注させておいて進捗だけは進ませないようにしておくとか、そういうもっと良い対応も取れたけれど、もう後の祭りである。
 運用に乗っているクソコードはもうずっとそこにあるのだ。直そうとしてもQAコストを余計に掛ける余裕も無いのだ。

ミッション進捗処理

 問題になる部分。
 端的にやるべき事は、トリガーとなる処理にミッション進捗処理を引っ掛けて、対象のミッションを探し出し、進捗を進める。
 ただそれだけである。しかし、色んな仕様がここにくっついたりすると一気に複雑になってくる。
 良く見る機能としては、ミッションA1をクリアした場合、ミッションA2が解放されるというもの。
 そうなるとミッション進捗機能にミッション受注処理がくっついてくるのだ。さて、これだけでも頭が痛くなって来る。ミッション受注処理自体は、その上記で書いたように時間制限とかを鑑みずにA2だけを解放すれば良いのだろうが、問題はそこではない。ミッション受注処理が複数種類生まれて来るという事がよりコードを複雑にさせる。
 他にもA1の進捗が4/5で、その場合に進捗を2進めた場合にA2の進捗は1進んだ状態であって欲しいとか言われたらさあ大変。受注の後に更に進捗処理が発生する。ぐるぐるぐるぐる処理が回るよどこまでも。こういうループ処理はとても危険で、もしかしたらQAも気付かずに極めて限定的な条件で無限ループに入ったりする時もある。
 更に、この処理は根幹のトリガーとなる処理にミッション進捗処理を引っ掛けて、対象のミッションを探し出し、進捗を進めるという部分で時間が掛かり易いという部分もある。
 簡単に考えても、対象の種別のミッションマスタ群の中で進捗可能な時間内にあるものを引っ張って来る、ユーザーがまだクリアしていないもの、という両方ともクエリを掛けないと引っ張ってこれないものが必要になってくる。
 そして、更に問題なのは、そんな時間が掛かる処理が何度も回る可能性がある、という事だ。カードのレベルアップ処理にミッション処理を紐づけて、上記でも書いた、ゲームクリア時にカードがレベルアップした、とするとどうなるか考えてみよう。
・使用したデッキのカード群それぞれに対して
 ・カードのレベルが上がる
 ・レベルが上がったのでミッション進捗処理が走る
 ・ミッションが達成状態になったらそれに紐付くミッションの解放処理が走る
 これだけで最悪数秒掛かりそうな予感がする。
 更にここに、上記で言うアイテムを手に入れた場合にミッション進捗処理が走ると考えると、
・使用したデッキのカード群それぞれに対して
 ・カードのレベルが上がる
 ・レベルが上がったのでミッション進捗処理が走る
 ・ミッションが達成状態になったらそれに紐付くミッションの解放処理が走る
  ・達成したミッションからアイテムが手に入ったらそれに紐付くミッションの進捗処理が走る
  ・そのミッションがクリアしたらそれに紐付くミッション解放処理が走る

   ・達成したミッションからアイテムが手に入ったらそれに紐付くミッションの進捗処理が走る
   ・そのミッションがクリアしたらそれに紐付くミッション解放処理が走る

 うわあああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛!!!!!!!!!???????????!!!???!!?!?!?!?!?!?!?!

※ここまでなるのは達成状態になったら、このミッション区分に関してはユーザーが能動的に受け取るAPIを叩かずとも報酬が自動的に付与されるとか、そんな仕様がある場合に限る

ミッション受け取り処理

 そんなに問題になる可能性は低い部分。
 けれどミッションを受け取り完了状態にしてアイテムを付与すると同時に、別のミッションが解放されるとか、別のミッションの進捗が進むとかそんな事があると更に頭が痛くなってきますね!!

実装面での障害の纏め

 主に3つと書いたが、問題なのは、書いたようにその3つは仕様次第で複雑に絡み合っていく事である。
 ただでさえ色んな問題が起き易いのに、コードがイタリア人がターボ機能を仕込んだ靴で助走をつけてパイルバンカーを顔面に叩き込みそして馬乗りになり原型がなくなっても憤怒の表情を浮かべながら打ち込み続ける程の作り方で仕上げられた、見るからに、そして実際吐いてしまう程のスパゲッティのようになり易いのである。

 次回はどう実装すれば、よりマシになるかを考察していく。

マンガの推しが前触れなく本誌にて急逝した事により急遽休みを入れたエンジニアに対して、休みの内容は私用だと伝えられていたが実際の理由は周知の事実であり、彼のバレバレなtwitterを覗くと発狂ツイートが羅列されている事に色んな意味で涙を禁じ得ないチームメンバー

関連:第二回「思索編」はこちら! → ソーシャルゲームにおけるミッション機能のサーバーサイド実装の考察:思考編

今だから言えるエピソードや裏話。~アルフヘイムの魔物使い編~

0

今回は、長らく愛されてきたアピリッツの人気webブラウザゲーム「アルフヘイムの魔物使い」のお話です。こちらは2020年7月14日をもちましてサービスを終了いたしました。遊んでくださったみなさん、ありがとうございます。約7年という長い間にはいろいろな出来事がありました。ということで、2018年までプランナーを担当された大久保さんに、今だから話せるエピソードを教えてもらいました。(2020年7月取材)

「アルフヘイムの魔物使い」とは

「アルフヘイムの魔物使い」は、聖なるホーリーエルフと邪悪なダークエルフが争う異世界アルフヘイムを舞台に、戦いを終わらせるため立ち上がった「魔物使い」の冒険の物語です。魔物と共に各地を冒険し一流の魔物使いを目指します。

アルフヘイムの魔物使い

バトルは昔ながらのターン制バトルとなっており、様々なスキルや魔法を修得し組み合わせることがバトルの鍵となります。また、行動パターンにより敵に狙われるかどうかを左右する「ヘイトシステム」で深みのあるバトルを楽しめます。

そんな「アルフヘイムの魔物」がサービス終了……!

サービス終了当日の公式ツイッターでは111リツイートと139いいねやコメントなどなどたくさんの反応が寄せられておりました。

アルフヘイムの魔物使い

2013年10月のサービス開始より約7年も続いたゲームですが……

大久保さん、思い出に残るエピソードを教えてください!

大久保:自社ゲームとして社内で制作していたので、チップやイラストの構図などにプランナーからも意見を出せたことは思い出に残っています。

「ルシファーの構図をどうしよう?」とか、「大剣をどうやって持たせよう?」という話をしてた時に「剣を召喚したらどうですか?」という提案が通って実際にかっこよく作ってもらえた時は嬉しかったです!

逆に、SSRアスレイのチップを跳ねさせてみました、と見せられた時は脱帽でした!

今だから言える裏話

大久保:強敵を作っているときは楽しく、”強欲の魔王”のように簡単に倒された魔王もいれば、ギミックにこだわった”怠惰の魔王”、全然倒せなかった”色欲の魔王”など色々いて、どれもいつ倒されるかチェックしていました。

――ということは、もしかして”強欲の魔王”が簡単に倒されたのは、想定外だったのでしょうか……?

大久保:正直想定外でした!装備などで特定の耐性を高めると大幅にダメージをカットできてしまったのが原因でした。そこらへんから1属性に特化するというのはやめましたね。

――”強欲の魔王”とは逆に”色欲の魔王”は全然倒されなかったわけですが、それはそれで、開発者として悩まれたのでしょうか……?

大久保:やりすぎたかなって焦りましたね。ギミック的にも色々盛り込みすぎたので、リリース後に若干HPを下げるなど、いくつか調整入れたりもしました。

しかし、強敵として出しているのに過度な下方調整をしても面白くないので色々と悩みました。

その後、一定期間に挑戦された回数を調べてみたところ、ユーザーの皆様の魔物の強化が進んでいくにつれて、挑戦してくれるようになりました。なので、動向をチェックし続けるにとどめました。とうとう倒されたときは感慨深いものがありましたね!

――裏では色々な試行錯誤があったのですね……!

アルフヘイムの魔物使い

大久保:あと、個人的には最初の方のシナリオは和田さん(弊社社長)自らが書いていたと聞いて驚きました!

なんと……!せっかくなので和田社長からも一言頂いてきました!

たしかに昔のゲーム開発の現場にはまだライターが居なかったので、自分の他にもエンジニア等もシナリオやストーリーを書いていましたよ。 ”垣根を作らずに、必要であれば、全部やる。”そのスタンスが無いと、少人数でゲームは作れないですね。

――そんな少人数でゲームを開発していた時代もあったのですね……!

意外なエピソードや裏話をありがとうございました!

終了時のコメントでは「6年あまりの月日をほぼ毎日INして遊ばせていただきました」、「たくさんの仲間と魔物と楽しくプレイできたことに感謝します!」などの温かいコメントをいただきました。愛されていたゲームであったことが伝わってきました!

あらためまして、ユーザーの皆さま、「アルフヘイムの魔物使い」に携わった運営チームの皆さん、約7年間ありがとうございました!そしてお疲れ様でした!!

関連:アルフヘイムの魔物使い 公式サイト

「読んで、見て、経験したことが直接糧になる」ゲーム用シナリオライティングの秘訣!タイムラインに沿って、構造分解しよう

山田アイコ、発信します!
今回は、アートディレクターとしてシナリオライティングを務める「鈴木 常信」さんに、シナリオライティングのコツや魅力、そして鈴木さんならではの手法についても教えていただきました。

鈴木さん!お忙しい中ありがとうございます。
今日はよろしくお願いします!

こちらこそよろしくお願いします。

鈴木 常信
2018年5月コンテンツデザイン部にプランナーとして入社。
入社後はアートディレクターとしてシナリオライティングや、サウンドや映像関連の発注など、演出まわりを担当している。
著書にWizardry BCF/CDS攻略本、UO辞書、新映画宝庫などがある。

著書
・ウィザードリィコレクション (LOCUSエンタテインメントシリーズ) 鈴木 常信、 アークライト | 1999/6/1
・初めてのネットトレード奮戦記|2000/8/1
他多数

キャラ同士が話し始めて進む物語

シナリオライティングってどういうお仕事なんですか?

設定を考え、物語を紡ぐのがシナリオライターのしごとです。
それは剣と魔法のファンタジーの世界か?
機械に隷属化された人々が反乱を起こすSFなのか?
ゲームのなかで、どんな世界が広がり、どんなヒトやキャラクターや登場して、どんな場所で会話をするのか? そういうことを考えます。設定やシナリオがないと、ワールドそのもの、ゲーム自体が生まれないのです。

本当に1から想像していくものなんですね。ゲームの世界の神様みたいなお仕事です!
どういう流れで作っているんですか?

大枠では、制作コンセプトが決まったら、世界観を設定し、構成を決めて、箱書きして、執筆という流れです。
ただ、オリジナルと受注では工程を変えています。

どんな風に工程を変えているんですか?

オリジナルでは、コンセプト決めてからは箱書き飛ばして、いきなり書くことも。
ざっとラフを書いて、キャラクターを遊ばせながら構成することもあります。

キャラクターを遊ばせる?

芝居を書いていると、勝手にキャラ同士が話しを始めるんです。
人格や物語の立ち位置も、それによって調整します。

キャラクター達がお話ししだしちゃうなんてすごい想像力です!
そうなると想像して書くのって楽しそうですね!

シナリオライティングに必要な技術って?お作法ってなに?

ゲーム業界のシナリオライティングについて、くわしく教えてください。

例えばRPGのシナリオ書く場合、ただ原稿を用意すればいいわけではありません
表示システム、キャラクターのビジュアル、エフェクト、サウンドなどがあってはじめて、ゲーム上で花開きます。

舞台や映画と一緒で、完成させるためには様々なひとたちの協力が必要です。
書いた物語をどのように表現し、それを実現させるために何が必要なのか、考慮する必要があります。

マネージャーやディレクターの指示で単に書くだけの場合もありますが、予算や期間を考慮しながら、設定や話のボリュームなどを自身で企画することもあります。

いろいろな関わり方があるんですね~!
ゲームのシナリオライターには、どういう技術が必要ですか?

ゲーム会社で働く場合、シナリオはゲーム制作の一部です。
文字まわり全体をまかされ、解説力が必要なヘルプであったり、文字を制御するタグや簡単な関数などプログラム的要素も必要になります。

当然、キャラクターや表示演出そのものをつくらないといけないことも。
CVの収録では、台本の書き方、現場でのルールもあります。
幅広いジャンルのルールや知識、ゲーム制作のお作法を身につける必要があります。

どんなお作法があるのか知りたいです!

まず『収録現場でのお作法』
これは、「指示出しで別コンテンツのキャラクター例を出してはいけない」や「収録以外の話をしない」など。収録時の暗黙のルール的なものです。

次に『ゲーム制作専門のお作法』
ゲーム会社に所属するシナリオライターは、やることが多いのです。ってことを言いたいだけです。

単純に話を書くだけではなくゲーム制作で必要な「プログラムとは何か?」「グラフィックとは何か?」「どのように、制作が行われ、納期までに各セクションがすべきことは何か?」ということを理解しましょう、ということです。

プログラムや絵が書けるほど精通しろいうことではなく、全体の流れや書くパートの作業を把握することで、自分がすべきことと、その優先順位に解を出すのです。

なるほど、色々身に着ける必要があって大変ですね。
鈴木さんはシナリオライティングについて学校などで専門的な勉強をされていたのでしょうか?

編集プロダクションのバイトをして、ゲーム攻略本を書いて、ゲームの仕事でシナリオを任されるようになった、という叩き上げなんです。

お作法や構成論は、本や知り合いの脚本家からのものです。
でも、物語や映像を分析する目線や知識は、「東京国際ファンタスティック映画祭」で知り合ったマニアな友人たちとの会話で磨かれたと思っています。友人のなかには映画監督になった人もいます。

学校以外のところで身につけられるスキルってたくさんあるんですね~!

鈴木さんならではのシナリオテクニック。物語の構造を分解!?

シナリオライティングでのコツがあれば教えてください。

もともと、芝居をちょっとかじり、攻略本や映画のコラムなどを執筆していたので、物語の構造を分解・評価する手法をとりいれてます。
自分で書いたものも、容赦なく斬って、調整するのです。

自分で書いたものを斬るってなかなか勇気がいる調整ですね……。
物語の構造分解ってどうやるんですか?

物語は時間軸に沿って事象が生まれます。
なのでタイムラインを切って、シーン別にキャラクターの状況や感情変化の書き出します。こうして構造分解することで、キャラクタライゼーションの歪みや、物語の起伏を調整します。

想像していたよりもずっとロジカルです‼
鈴木さんが影響を受けた作品は何でしょうか?

間違いなく「Star Wars Ep4~6」ですね!
物書きとしての心構えというか、人格を決定付けたのはオビ=ワン・ケノービの「Point of View」という言葉です。
「物事の側面は見る角度で変化する」という概念は、キャラクターを描くうえで重要な視点です。

読んで見て、経験したことが直接糧になる

鈴木さんが考える「この仕事に向いている人」ってどんな人ですか?

物を書くって、言語や情報などの知識力、書いた構造体を分析したり解を出す構成力、誰かがいいと思ってくれる話を創造する力、が必要です。
だから、どれかひとつが突出してれば、それを活かした物語を書くことができるかと。

得意なことを磨いていくんですね……!
この仕事のやりがいを教えていただけますか?

精神と寿命を消費して、一文字を紡ぎ出す。
魂削りながらやれる仕事って終焉に向かって歩いているようで、楽しいです。
この数年、いい仕事のお話をいただいて、書いて「おもしろかった」という言葉をいただけているのはありがたいことです。

魂を削りながら取り組む仕事、かっこいいです!!!!
いま、鈴木さんが力を入れて取り組んでいることを教えてください。

好きなものを好きでいることですね。
歳をとると、息をしているのにもエネルギーを使っているのを実感するので、音楽を聴き、本を読み、映像を見続けることを諦めないようにふんばっています。

インプットをやめないって大切なことなんですね。
今後の目標を教えていただけますか?

昨日よりおもしろいものを書くことが目標です。
あと、シナリオや映像にははやりすたりがあるので、映画、アニメ、ドラマ、バラエティ、漫画、小説、音楽など演出にかかわることには、これからもなるべく見続ける。読んで、見て、経験したことが直接糧になるので。

シナリオライティング、奥が深いです……‼
読んで、見て、経験したことが直接糧になる。とても素敵な考え方です。
アイコもいっぱい読んで見て経験していくぞ~!

ラーニングエージェンシー 「【若手向け】自己成長につなげるリフレクション」を受講して

0

アピリッツ、デジタルビジネス部所属の大山です。
今回はラーニングエージェンシー主催の研修、「【若手向け】自己成長につなげるリフレクション」を受講してどんなことを学んだかについてお話します。

ラーニングエージェンシーとは

ラーニングエージェンシーとは企業の人材育成・教育研修の支援を行っている企業です。
ラーニングエージェンシーでは若手向け、中堅社員、管理職などその人の役職に見合ったレベルの様々な研修を行っています。
私たちアピリッツの社員はラーニングエージェンシーの研修を無料で受講することができます。

受講した研修について

私が今回受講したのは「【若手向け】自己成長につなげるリフレクション」という研修です。
この研修では日々の業務のリフレクション、つまり振り返りを普段から行うことの大切さや、振り返りの効果的な方法を学ぶことができます。

学んだこと

私にとってこの研修で最も印象的だった点は以下の3点です。

  1. 仕事を思い出すときに工程を細分化して思い出す。
  2. 振り返ったことを普遍化し、今後の業務でどのように活かせるか想像してみる。
  3. 失敗したことだけではなく、成功したことに関してもなぜ成功したかを考える。

1.仕事を思い出すときに工程を細分化して思い出す。

普段仕事の振り返りを行う時、時間がかかったなとか、なんとなく難しかったなとか、総括的な感想をただ頭の中に浮かべて終えてしまっている人もいるかと思います。そうではなく、その仕事の中で行った一つ一つの行動、思考を思い出し、考察を行うことでより多くのことをより実用的な知識として定着をさせることができます。

2.振り返ったことを普遍化し、今後の業務でどのように活かせるか想像してみる。

ある仕事の特定の箇所においてこうすればよかったと反省をすることはもちろん大切です。しかし、学んだことがその特定の仕事でしか活かされないのであれば振り返りを行う意味があまりないと言えます。そこで反省から何かを学んだ際は、他の場面ではどのように活用できるかを一緒に考えることで色々な場面で活躍する知識を身に付けることができます。

3.失敗したことだけではなく、成功したことに関してもなぜ成功したかを考える。

振り返りを行う際、多くの人は自分が失敗した点、悪かった点のみをピックアップしてどう行っていれば上手くいっていただろうかを考えるかと思います。しかし、失敗だけではなく、成功したことを振り返り、なぜ成功したかを考えることで、自分の中で成功への道筋を蓄えることができるかと思います。より早く解決策を見つけるのに役立ったり、仕事への自信をつけていくという観点からも成功体験を振り返るということが大切です。

受講から3ヶ月が経って…

普段何気なく行っていた振り返りですが、そのメリットや効果的な方法を知り、普段の振り返りに取り入れることで、より多くの「役立つ知識」を得ていると実感しています。
単純な作業でも、なんとなく時間がかかったなと反省するだけでなく、この部分はショートカットキーを使う、この部分は一つ一つ進めるのではなく、最後にまとめて行うようにするなど、一つの仕事から学ぶことが多くなりました。
また、成功体験の振り返りも始めたことによって、ここはこの前やったあの方法でできると自信を持って仕事に取り組める機会が増えてきました。
これからも当研修で学んだ振り返りを実践し、今後の業務に活かしていきたいと思います。

「アニメ業界の技術や知識は、ゲーム業界でも需要がある」ゲームとアニメのクロスオーバー

山田アイコ、発信します!
今回は、デザイナの『金子 俊太朗』さんに、アニメ業界からゲーム業界へ転職したことでよかったことなど、アニメ業界との違いについてもお話を伺ってきました!

金子監督!お忙しいところありがとうございます。
今日はよろしくお願い致します。

こちらこそよろしくお願いします。

アピリッツ AICHO
▲金子さんにアイコの原画を描いていただきました!

金子 俊太朗
2019年8月エクスペリエンスデザイン部にデザイナとして入社。
アニメ業界で数々の作画/作画監督を経験した後、アピリッツに転職。
現在はデザインリソースのディレクションを行う。

アニメ業界の知識をゲーム業界へ

ゲーム業界への転職を考えたきっかけを教えてください。

最近ゲームアプリ内でアニメーションを使った演出を目する機会が多くて、自分もこういうものを描きたいなと思っていたところ、知人から「会社でアニメが描ける人材を探している」と声をかけてもらい、楽しそうだと感じたので転職を決めました。

もともとゲーム業界に興味はあったんですか?

はい!スマホゲームではアイドルマスターが大好きで、お仕事でも原画をやる機会もあったので、ゲーム業界にはとても注目していました。

転職をする際、どこに魅力を感じましたか?

ゲーム業界では作品に対してアイディアや意見を自由に発言しやすく、作品により深く関われるところに魅力を感じました。
アニメーター時代も大人数で作品を作っていたのですが、とても意見交換をするような環境ではなかったので…

実際のアピリッツの印象はいかがでしたか?

業界が違うので馴染めるかとても不安だったのですが、実際入ってみると社内でのコミュニケーション機会が非常に多くて、仕事の質問や作品に関するディスカッションなども気軽にできたことで、人間関係のストレスがなく仕事ができています。

あとは、ゲーム業界ならではの知らなかった知識や技術を教わりつつも、自分がアニメ業界で培ってきた技術も有効に活かすことができているので、とても恵まれた環境だと感じています。

アピリッツ AICHO
▲コンテも!

心に余裕ができた職場環境

アニメ業界からゲーム業界に転職して、良かったことはなんですか?

アニメーターは数をこなさないと食べていけないという緊迫感が常にあって、作品が終わるごとに契約が終わってしまうという未来の不安を常に感じながら仕事をしていたんですが、今は余計な心配をせずに集中して仕事に取り組めるようになったことがとても嬉しかったです。

あと、作業に入る前に資料集めや業界のトレンドの研究などにも時間を使えて、アニメ業界にいた頃より心に余裕をもって仕事ができています。

一本ごとの契約だったんですか!?
それは不安になっちゃいますね…心に余裕ができて良かったです。
業界をまたいでの転職になりましたが、業務上の変化はありましたか?

アニメーター時代は作画監督としてキャラクターのブラッシュアップや、原画で動きを作ることしかしていなかったのですが、アピリッツに入ってからは色んなソフトに触りながら学べることが多くて楽しいです。

ほぼ趣味でしか使っていなかった「Adobe After Effects」による撮影や編集も業務として使えたので、機会の少なかったセクションの作業を行うようになったことは大きな変化でした。

ちなみにどんなソフトを使うようになったんですか?

PhotoshopやLive2D、Unityなどはアニメ業界では触る機会がなかったんです。
そういったソフトを使いこなして、表現の仕方を多く学べたところはとても良かったです。

アニメ業界とゲーム業界の違いに驚いたことはありましたか?

一番驚いたことは、デザイナーなどのクリエイター職の待遇が新人の頃から安定しているという点です!
クリエイター技術がつくまでは稼げなくて当たり前という認識があったので、新人のころから安定した待遇で技術を学びながら業務をできる環境はとても素晴らしいと感じています。

アピリッツ AICHO
▲こちらのアイコのイラストは社内のSlackでも活躍中です

アニメ業界からゲーム業界への転職は少ないようですが、なにか理由はあるのでしょうか?

ゲーム業界とアニメ業界は近いように見えるのですが、交流自体が少なくて情報があまり行き来せず、認識の差がすごくあるんです。
僕は知人からの紹介だったので色んな話を聞けましたが、他の方は情報がないので不安なんだと思います…。

実際に業務をする中で、なにか感じたことはありましたか?

クライアントさんから頂いたイメージを実現する能力や単純な動きを作る技術など、アニメ業界では基本的なスキルが、ゲーム業界ではかなり貴重な人材として扱われていて「アニメ業界での技術や知識は、ゲーム業界にとても需要がある」というのを強く感じました。

社内にアニメスタジオを立ち上げる

金子さんの今後の目標を教えてください!

今スマホゲーム業界ではアニメーションを使った演出の需要がすごく高い時期だと考えていて、アニメも作れる会社にすることを目標にアニメーション作成ができるチームの立ち上げを行っています。
ゆくゆくは社内に自分のアニメスタジオを持って、ゲームのOP/EDやPVなどのショートアニメを内製でガンガン作っていきたいです!

素敵な目標ですね!!
社内でどんなアニメを作りたいですか?

今アピリッツに、とっても可愛いヴァーチャル新入社員の山田アイコちゃんがいるので、アイコちゃんのアニメを作って世に出していくのが今の目標です!
アイコちゃん、一緒に頑張りましょう!

えっ、アイコのショートアニメですか!?
嬉しいです…!アイコ、一生懸命頑張りますね!!

アピリッツ AICHO 原画
金子さんにアイコを描いてもらっちゃいました~!

最後に一言いただけますか?

今は尊敬できる上司や趣味の話もできる仲間がいて、安定した環境で仕事ができています。
アニメ業界で原画・作画監督・撮影・仕上げ・制作進行などの経験者と一緒に、社内のアニメスタジオをどんどん強くしていきたいと考えています!

それでは、アニメスタジオの活躍を楽しみにしております。
今日はありがとうございました!

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

僕にグッときたデザイン賞 ~公衆トイレ編~

0


デジタルビジネス部所属、Webディレクターの伊與田です。

まったくもって、デザインです。
世の中デザインに溢れています。

ココまでで、すでに3回も「デザイン」という言葉が出てきてしまいました。

デザインとは何でしょうか?

デザインとは「問題解決の手法」です。

言い切ってしまいました。
が、これは僕自身の定義の話です。

立場や使用場面、また、時代によっても言葉の意味合いは変化します。

が、いずれの場合も「問題解決の手法」という軸が定義として存在しているはずです。
存在していて欲しいです。

問題解決イメージ図


なので、そう考えると、今その場で3秒周りを見渡すだけでも
軽く30は「デザイン」が存在しているはずです。
存在していて欲しいです。

この記事では、僕が街で見かけたデザインの中で
「問題解決の手法があまりに素晴らしくて衝撃を受けたモノ・コト」をご紹介します。

今、どこにいますか?

もし公衆トイレにいるのであれば、
ちょっと、その場で周りを見渡してみてください。

公衆トイレ



・・・

どうですか?

素晴らしいですよね?

そうです。
今回ご紹介するのは ―――

公衆トイレの個室のドア

です。

おそらく「鍵がかかってない個室のドアは自動的に開いている」のではないでしょうか?

ココ最近の公衆トイレは、ほぼ、そうなっているはずです。
なってなかったらホントすいません。

鍵をかけなければ自動で開く

この「手法」によって以下の「2つの問題が解決」されています。

空室確認に時間・手間がかかる

例えば、常にドアが閉まっているタイプの場合の空室確認の方法は
「ドアノブ付近の赤or青のサイン」です。

公衆トイレの鍵


上の画像は冗談ですが、このタイプのトイレの場合、
確認するのにいちいちドアの正面にまわる必要があり、
空きが無ければ通路の奥まで進んだ挙句、トイレの入口まで戻らなければなりません。

一刻を争う時もあるでしょう。
由々しき問題と言えます。


「鍵がかかってなければ自動的に開く」場合はどうでしょうか?

一覧性が高いため、トイレの入口付近からすべての個室の空き状況が分かり、
確認時間もわずかに3秒、空きが無ければそのままその場で待機できます。

公衆トイレ



鍵のかけ忘れによるバッティング

最悪の状況です。
詳しくは書きません。

公衆トイレのイメージイラスト


鍵をかけずに……恐ろしいことです。


「鍵がかかってなければ自動的に開く」場合はどうでしょうか?

「鍵がかかってないのに使用中」という状況が無くなるため
「使用中の個室のドアを開けてしまう」ことも無くなるでしょう。

「鍵かけない派」の人はバグです。

シンプルいつもグッド

シンプルがベストかは分かりませんが、
シンプルなデザインにはいつもグッとキます。

「良いデザインほど意識されない」みたいなコトを
よく耳にしますが、同感です。

あなたが「デザイン」と認識していないかもしれない「デザイン」を、
またこの場でご紹介できればと思います。

「次元が一つ増えることで表現は倍増する」今需要が高い3Dデザイナーと、3DCGの制作工程を紹介!

山田アイコ、発信します!
今回は、アピリッツで3DCG全般を担当している『立原 直喜』さんに、今需要が高いとされている3DCGの作業工程やその魅力について、気になることをすべて質問してきました!

立原さん、今日はよろしくお願いします。

こちらこそよろしくお願い致します。

お仕事中の立原さん

立原 直喜
2016年4月 アピゲー部デザイナとして入社。
入社後は、主に自社開発ゲーム「かくりよの門 -朧-」にて3D全般とムービーの制作、シェーダーやデザイナー向けツール開発、背景・UI・エフェクトのディレクションを担当。
趣味で洋楽メタルのカバーバンドを組んでいて、ラップやデスボイスが好き。

3Dデザイナーのお仕事について

早速ですが、立原さんの普段のお仕事について教えて下さい!

アートディレクション以外の自分で製作しているものでは、最近は3DCGを取り扱うことが多くて3DCGに関わるものならほとんどのものを作ってます! キャラクター、敵、背景、小物、セットアップ、アニメーション、などなどですね。

3DCGのデザイナーはアピリッツには多いのでしょうか?
私がプレイしているゴエティアクロスは2Dが主体でしたよね。

3Dのキャラクターが3D世界の中を動き回るような3DCG主体のリリースされているタイトルは、(2020年3月現在)アピゲー部のかくりよの門 -朧-だけなので、3Dデザイナーの人数も、まだ少ないように思います。

「かくりよの門 -朧-」

3DCGを取り扱う規模が大きくなりづらい理由は、技術的に難しいという問題があるからでしょうか?

それもありますね。
単純に皆さんが遊んでいる端末の性能が上がってきて、今までは3D表現の制約が多かったという物理的な問題。
技術的な問題では、縦・横に加えて奥行きという次元がもう一つ増える訳ですから、普通に絵を描くよりも扱う情報が単純に増えるのでハードルは高くなると思います。

技術的に難しいとすると、3DCGをやりたいデザイナーは少ないのでしょうか?

3DCGをやりたいというデザイナーさんはたくさんいます
3DCGの専門学校の卒業生の応募も多く、嬉しい限りなのですが、入社してから商業クォリティの3Dデザインができるようになるまでの習熟コストは2DCGよりもそれなりにかかってしまいますので、すごく慎重になってしまいます。
3D表現主体のタイトルで売り上げをもっとガンガン上げて人をもっと増やせるようにしたいですね~。

現在、3Dの新しいタイトルを制作中だと耳にしたのですが、よければ宣伝していきませんか?

宣伝したいのですが、まだ詳しくは言えなくてゴメンなさい。
ただ、『かくりよの門 -朧-』で培った技術を最大限に活かした新作の開発をバリバリ進めているので楽しみにしていて欲しいと思っています。

新作、楽しみにしてます!いつ頃リリースされる予定なんですか?

年内にはリリースのお知らせができたらいいなと思っています!

3DCGの制作現場

先程、3D表現主体のタイトルという言葉がありましたが、どんなゲームを指すのでしょうか?

まずプレイヤーが操作するキャラクターが3Dだったりします。
縦横、奥行きがある3Dオブジェクトが散りばめられた綺麗なステージで、その中をキャラクターが走り回ったり同じく3Dで作られた敵と戦ったりできるんです。
3D表現主体のゲームとは言っても、2DのイラストやUIを効果的に使うとワクワク感がより出ると思います。
良かったらこちらのプレイ動画を見てください。

「かくりよの門 -朧-」プレイ動画

わぁ~!楽しそうです~!!3Dの表現って2Dと違った味がありますよね!
こんな3DCGの技術について聞けると思うと、私もワクワクしてきました。

プロジェクト固有の工程は割愛して、ここでは基本的な作業をお教えしますね。

よろしくお願いします!!

3DCGの制作工程・モデリング

①モデリング
モデリングというのは、ポリゴンという面を使って形状を作ることです。

「キャラクターを描く」というのとはまた違うんですか?

たとえるなら彫刻や粘土細工に近くて、石から削り出したり、粘土を変形させたりするような感じですね。

モデリング

3DCGの制作工程・UV展開

②UV展開
3Dモデルの展開図を作るため、1つ1つのパーツ分けを行っています!
三次元座標xyzとは別の、テクスチャーのための二次元座標がuvです。

UV展開

こうやってペーパークラフトの様に展開していきます。
3Dのキャラクターに模様や色をのせる下準備です。

モデリングしたものにそのまま色を付けはできないのですか?

可能ですが、立体に対して絵を描くのって、かなり難しいんです……。
組み立てる前にペラペラの2Dにしてから色をつける方がやりやすいんですよ~。
色付けは次の工程なので、UV展開というのはバラバラにする作業です!

3DCGの制作工程・テクスチャー

③テクスチャー
3Dモデルに貼り付ける画像を作ります。
展開しておいたUVをもとに、顔や柄などを描いて色・陰影などを調整します。

先程の展開からようやく色付けですね!
影とかは自然にできるものじゃなくて、この時点で描いているんですね~。

照明によってつける陰影もありますが、描画負担の軽減などの為に今回のプロジェクトでは細かい陰影は描いちゃってます。

テクスチャ-

3DCGの制作工程・リギング/セットアップ

④リギング/セットアップ
難しい言葉になってしまうんですが、キャラクターに骨を入れる話です!
こちらをご覧ください。

うわぁ~!3Dキャラクターには骨があるんですね! しかもこんなにいっぱい……。

そうなんですよ。これは「骨を一つ動かすことで、どこが動くのか」というのを細かく設定する作業になります。
この設定をちゃんとしないと、骨をいくら動かしてもキャラクターが思い通りに動いてくれないんですよね。

どういう設定をしているんですか?

3Dモデルはポリゴンという面ででできていて、ポリゴンは頂点という点で構成されています。
このひとつひとつの点に対して「なんという骨の影響を何%受けるか」というのを設定していってます。

キャラクターを形成する点の1つ1つすべてに、設定をしていくということですか!?

もうわけわかんないですよね。
骨と骨の中間にある関節の頂点は、片方の骨の動きだけにくっついてきちゃうと変な動きになってしまうので、半々で影響を受けるように設定してあげるとか……慣れればある程度機械的にできるんですけどね。

これはものすごい時間がかかりそうな作業ですね~。

そこは3Dソフトの機能やテクニックで工夫をしています!
骨による動きを調整したら、次は「IKの設定」といって骨を動かしやすくするための作業もありますが、あまりに専門的すぎるのでまた別の機会に……。まあキャラクターを動かす準備ですね。

リギング/セットアップ

3DCGの制作工程・アニメーション

⑤アニメーション
先程の動かす準備が整ったものを動かしてみます!
キャラクターのポーズや表情を作って演技させます。
髪や服の揺れはコンピューターの自動計算でも表現できますが、今回は手作業でアニメーションさせています。

アニメーション

動いた!
どうやって動きを付けているんですか?

キーフレームを設定して動きを付けています。
キーは「基点とか重要」フレームは「時間」という意味と考えるとわかりやすいかもしれません。
タイムラインに始点、中、終点のようにキーフレームを設定して、このポーズからこのポーズにアニメーションをつけてーーと細かく設定します。

この表情もコロコロ変わっていますが、どうやって細かく目を開けたり閉じたりさせているんですか?

表情はテクスチャーとして用意していたパターンがあって、同じくキーフレームに「ここでこの表情に切り替える」と設定していきます。!

表情のテクスチャー

今回はデフォルメが効いたテイストのキャラクターなので、目や口単体で細かく動かすのではなく決められた表情パターンをあらかじめ描いてしまいます。

例えば先の動画なら「着地したタイミングのフレームで、目を閉じた絵に切り替える」という感じで設定しています。

新作の3DCGを制作中の立原氏

使っているツールは?プロとは?

なるほど……だんだんわかってきたような気がします。
ちなみにアピリッツでは何のソフトを使っていますか?

主に「Maya」というソフトを使っています。
でもちょっとお高めなので家でも3DCGをやりたいなと思っている方は「Blender」という無料のソフトで練習しているようですね。

そういえば、個人でも3DCGのゲームを作っている方はいますよね?

いますね~!
学生でゲーム作って売ってるのを見ると独学だろうによくぞここまで……と感動します。

会社と個人の差はどこにあるのでしょうか?

企業の製品クオリティは、定められた世界観を表現する為の高い技術水準が求められます。それにリソースのボリューム(作成する素材の数)も必要で、開発規模がかなり大きくなりがちです。デザイナーもアートディレクターも非常に大変なのですが、それゆえ学べる事もたくさんあります!
例えば、仕様に沿っていてかつ見た目パフォーマンスも良い3Dデータを量産するのは、実務経験がないとなかなか難しいと思います。

本人がどこを目指すか次第にはなってきますが、そういった売り物になるようなハイレベルな3DCGを学びたいなら実際に企業の案件に携わってみるのが良いと思います。

3Dデザイナーその先も

アイコも3Dデザイナーが気になってきました!
では、どんな人が3Dデザイナーに向いているんでしょうか?

ゲームの3DCGの場合、見た目の良さを求めすぎて重いデータを作ってしまうと、
処理しきれなくて動作がカクカクになったり、ハード本体が熱くなっちゃったりと、実写映画やアニメなどと比べて制限が多いんです。
制限の中で、見栄えを良くしたり面白くしたりする工夫をするのを楽しめる人が、ゲームの3Dデザイナーには向いてると思います。

未経験でも、3DCGを担当させてもらえるのですか!?

もちろんです!
今の3DCGメンバーも全くの未経験からのスタートで、大体3ヵ月~半年で段々慣れてきてという感じでした。

専門的な勉強が必要そうな技術ですが、立原さんはどうやって技術を身につけられたのでしょうか?

自分は専門学校で基礎を学びましたが、先ほど言ったような無料で使える3Dソフトで練習したり、3DCGに関する映像やゲームに触れたりして、センスや関心を高めておけば事前の専門的な勉強は必ずしも必須ではありません。

ええっ!専門的な勉強がなくても大丈夫だったなんて……意外です!

でも、絵心があると有利ではあります。
自分が使う絵筆に詳しい人の方が優位なのは当然で、3DCGもあくまで絵筆のひとつですから。
あとは、プログラムができたりするのもいいですね。

え、デザイナーなのにプログラム?
プログラムはどんな場面で使われるんですか?

例えば、立方体のサイコロを1個作る作業があったとして、それを100~200個作ってくださいと言われたとき1つ1つ作るのなんて途方もないですよね?
必須ではないんですけど、 プログラムをかじっていれば、手作業では不可能な物量をこなせたりします。
特に出世したい人はプログラムができるといいですね。

プログラムができると出世するんですか!?

例えば「人の3倍作業ができます」という人がいたとしても、その人がチームを離れてしまえばチーム全体の作業効率は大きく下がってしまいますよね。でも、その人が作業効率3倍アップのプログラムを書いてチーム全体に配布すれば、その人がいなくなったとしてもチーム全体の効率は大幅に上がります!
自分としても生産性を上げられる人は貴重だと感じています。

もしかして、立原さんもツールを作ったりしていますか?

はい! 色々なツールを作ってチームをどんどん効率化させていってますよ!

立原さんがまとめていた工程のまとめ資料(すごく丁寧で詳しく書いてありました)

資料もすごく細かくて丁寧ですね。きっと、作成するのに相当時間がかかったのだろうなと思います……。

出来ることが増えるって喜びだと思うので、それを分かち合いたいんです。
もし自分が関われるのなら、持っている技術をできる限りすべて伝えたいですし、僕も学んでいきたいです。
3DCGって、やることが多い分『できなかったことができるようになる喜びを感じられる面』がたくさんあるんですよね。

次元が増えることで表現方法が倍に

ちなみに、立原さんは3DCGで何を作っている時が一番楽しいですか?

有り体ですが、3Dで作る事は全部楽しいです!!
ポリゴンでモデルを作るのも、テクスチャ描くのも、アニメーションつけるのも、3Dエフェクト作るのも、ツール作るのも好きです。
やることが多い分、それぞれに楽しみを見出しています。

「全部楽しい」と嬉しそうに語る立原氏

その笑顔でそんな発言ができるなんて、憧れちゃいます!
アピリッツで3Dデザイナーとして働くとどんな良いことがありますか?

アピリッツの3Dデザイナーは全ての工程を体験できます!

大企業だと分業化が進んでいて「3DCGがやりたくてなんとか入社できたものの、ずっと限られた一部の作業しかできない」といったケースもあります。
でも、アピリッツでは全ての工程を知った上で長所を見つけて欲しい。ある程度は何でもできるような人になってほしいという思いがあるので、キャラクターを作ってテクスチャ描いて、それを動かしてと、一通り体験してもらうんですよ。

そもそもキャラクター制作はとても人気なので、メインキャラのモデリングからアニメーションまで一通り触らせてもらえるようなところはそう多くはないと思います。もちろん世界観作りが好きなら背景でも、モンスターに興味があるなら敵キャラでもいいですし、希望があればその工程について一通り学べます!

自分の希望したものをしっかり学ばせてくれる環境ができているというのはとてもいいですね!

最後に、3DCGの魅力を教えていただけますか?

やはり立体であることですね。
一枚絵って正面から描いたものの場合、後ろとか見せようがないじゃないですか。
でも3Dモデルは360°どんなアングルも対応できていろんな事ができるんです。
奥行きがあることで臨場感や没入感を生み出せたり、三次元ポリゴン情報を使ったユニークな表現ができたりと、表現方法も倍に増えます!
3DCGで表現の幅を更に奥深くしましょう。

仏のように優しいが、かなりメタルな趣味を持つ立原氏
和風MMORPG『かくりよの門 -朧(おぼろ)-』江戸時代の日本をモチーフとした世界で3Dのかわいいキャラクター「式姫」たちと妖怪討伐の旅に出よう!

4営業日でレスポンシブサイトを作成しよう!

0

とある金曜日、Mさんから話しかけられました。
Mさん「ちょっとお願いがあるんですが、来週半ばまでに1枚技術職採用のためのサイト作成お願いします!」
私「がんばります」


【依頼内容】
  • ポップな感じで硬くないイメージのデザイン
  • スマホとPCでレイアウトが崩れず見れるように
  • 次週半ばには公開できるように
  • 原稿でポイントとなる箇所を目立つように
  • ファーストビューに「エントリーするボタン」を配置してほしい

その日はすでに金曜日で、次週半ばとなるとあまり時間はありませんでした。
そこで、多種多様なツールを用いて何とか公開までこぎつけたのでその方法を紹介します。

徳丸試験の紹介と合格する方法

0

はじめに

エンパワーメントサービス部所属の綾城です。徳丸基礎試験おそらく第1号認定です。

私は普段、外部の会社で脆弱性診断等を担当しているエンジニアです。
自社のセキュリティにはまったく係わってないため、社内事情には少し疎いですが、今回は自社で開発者などコーディング作業がある会社で働いている方にお勧めの資格の紹介をしたいと思います。

徳丸本について

みなさんは、徳丸本をご存じでしょうか?正式には、安全なWebアプリケーションの作り方という本です。普通に読み方は”とくまるぼん”としちゃってます。Webアプリケーションセキュリティの第一人者、EGセキュアソリューションズ株式会社徳丸浩氏が、2011年に著したベストセラー書籍です。Webセキュリティの本ではバイブル的な存在で、いろいろなところで紹介されては、読んどけとたくさんの方に私も言われました。

2018年大幅パワーアップした第2版が出版されました。個人でも買いましたが、会社にも置いておきたく、書籍購入制度を利用したのですが、総務から第2版が欲しい理由ってありますかと問われて、ページ数の増加と徳丸氏が書いた、安全なWebアプリケーションの作り方改訂のお知らせを見せて納得してもらったのをよく覚えています。その時は大変助かりました。第1版と第2版を読み比べるのもなかなか興味深いです。

しかし以前、Weeyble セキュリティ勉強会の輪読会に参加していたのですが、メンバーの中に安い中古買ったら第1版だったらしく内容が違うという事態になったことがありました。通常はもう第2版にしておきましょう。私が言うまでもないのですが、クロスサイト・スクリプティング、SQLインジェクションその他各種脆弱性について、コードを交えながら体験もできるという、とても素晴らしい書籍です。

徳丸試験について

徳丸試験は、正式名称ウェブ・セキュリティ試験といい、ウェブ・セキュリティ基礎試験(通称:徳丸基礎試験)が、2020年7月15日から正式に開始されました。ウェブ・セキュリティ実務知識試験(通称:徳丸実務試験)は、今後開始される予定です。
主催団体の一般社団法人BOSS-CON JAPAN PHP技術者認定機構の吉政忠志氏は、書籍を書いたり、興味深いコラムを書いたり、精力的に活動されてます。
問題の様子は、ウェブセキュリティ基礎試験予行問題集で少し見られます。

問題数40問
出題形式選択式
試験方法CBT形式
試験時間60分
合格基準7割正解
受験料一般価格 11,000円
出題範囲徳丸本の内容

詳しくは、下記を見てください。申し込みもこちらからです。
https://cbt.odyssey-com.co.jp/tokumaru.html

徳丸試験受験体験

私はちょうど去年の今頃、徳丸基礎試験のベータ試験を受けました。会場には血気盛んな感じの方達が集結しており、徳丸先生に挑戦するぞ!みたいな空気で満たされている気がしたのは私だけでないと思います。
予告通りPHPに関する問題は出ませんでしたがJavaScriptについてはほんの少し出ました。(XSSとか範囲だしあたりまえかな)問題を解きながら、書籍のあのあたりに書いてあったはずだけどなんだったっけなどと、結構頭を悩ませました。
30分ぐらいで退席する方も多くいましたが、私はじっくり時間を使いました。おそらくこの回は、士気の高さからほとんどが合格だったのじゃないかと思ってます。

ベータ試験を受けた方の記事 みなさん気合入ってますね
https://blog.pinkumohikan.com/entry/tokumaru-basic-exam
https://se-log.blogspot.com/2019/07/web-security-basic-examination.html
https://teitoku-window.hatenablog.com/entry/2019/10/16/202310

既に本試験を受けてきた方の記事 はやい!
http://blog.serverworks.co.jp/tech/2020/07/25/tokumarubasic/

この番号、おそらく第1号認定なのではないかなぁと思います。

徳丸基礎試験の合格方法

一応、タイトル詐欺にならないように書いておきます。
徳丸本をよく読む、余すところなく読む、わからないとことは調べたり、試したりして理解する。以上!
特に以下のようなマークのところは絶対理解しておきましょう。これで受かるだけなら受かります。しかしこの試験、合格だけが大事だとは私は思ってません。

大事なこと

私のはベータの時なので郵送できましたが、合格証明書と受験レポート(写真はベータのもの)が手元に来ます。受験レポートには、カテゴリ別の正答率が出力されています。試験中悩んだ箇所や、正答率が低かった部分を、振り返り復習することがとても大事です。この資格のいいところは、徳丸本をまんべんなく理解したかチェックできることにあります。


開発者は、配属されたプロジェクトや、プロジェクト規模により、自分の担当する箇所や機能に偏りがどうしても出てきてしまいますが、徳丸試験や受験レポートによって、あまり脆弱性について理解していない部分を見つけ出すことができます。また、会社全体でプロダクトのセキュリティを担保できているところが全てではなく、チームや個人の力に頼らざる負えない状況も多いです。個人的には、1~2年目ぐらいの開発者全員に、徳丸本をじっくり読んでもらって、徳丸基礎試験を受けてもらったらいいなと感じています。今後開始される徳丸実務試験にも開発者にはぜひ挑戦してもらいたいですね。


IPAの情報セキュリティマネジメントは全員に受けてほしいものの開発者よりではないし、情報処理安全支援確保士は、Webアプリケーションの問題はそんなに出なくなってきてる。EC-CouncilのCASEなどJavaですし、ちょっと敷居が高い気がします。開発者寄りでちょうど良さそうなのがあまりないという認識です。
脆弱性診断するならCEHCompTIA PenTest+やSANSのGWAPTなどですかね。あと、OSCPなどでしょうか、ちょっとハイレベルすぎる気がします。上野本で、上野試験とかあるとありがたいのですけど、またOWASPスキルマッププロジェクトの脆弱性診断士が試験になると程よい気もします。

さいごに

ウェブの脆弱性診断の現場で、時間ある時どのような準備をしておけばよいですかと聞くと、徳丸本読んでおいてよって回答がたまにあったのですが、徳丸試験受けておいてよと言われた事例がすでにあるそうです。自分が思ったより業界では注目されてそうです。

弊社のセキュリティエンジニアの募集要項には、Webセキュリティを学んだことのある方(独学可)としているのですが、徳丸基礎試験合格者は徳丸本の内容を理解しているとみてプラス評価になるでしょう。興味ある方は、下記の採用情報からセキュリティエンジニアの応募資格等を確認してみてください。もちろん、Webエンジニアも募集中です。下記ボタンからぜひ確認ください。

【社員インタビュー】マレーシアから夢を叶えに!日本へ来て8年経った女性デザイナーの今

0

今回は自社ゲーム開発(AG部)のデザイナーとして働いているマレーシア出身のシャラルリンさんに、日本に来てから現在までの経緯についてお話を聞きました!

――簡単に自己紹介、現在の仕事内容について教えてください!

自社ゲーム開発のデザイナーを担当しているシャラルリン・ウォンジャージーと申します。マレーシア出身です。最初はアルバイトとして入り、ゲーム(かくりよの門朧)のキャラクターや敵イラスト、背景、アイコン系などの2D関連の絵の仕事をしていました。現在は、正社員として新しいゲームプロジェクトのUIデザインのアシスタントを担当しています。

UIデザインについてはまだ経験が浅いので、日々色々な新しい知識を覚えながら技術を磨いております。かくりよの門朧で今まで積んできたイラストの経験を生かして新規ゲームのUIデザインの格好良さを最大限に出していきたいと思っています!

かくりよの門朧Twitter用イラスト アピリッツ
かくりよの門朧Twitter用イラスト

幼いころからの夢を叶えに日本へ

――マレーシアから日本へ……?

小学生の頃から日本のアニメや漫画の文化に影響されて、元々絵を描くのが好きだったこともあり、将来は必ず日本に絵の勉強をしに行きたいと思っていました。

その夢のために高校卒業後、1年間マレーシアの日本語学校で日本語を勉強しました。その後日本に留学し、東京にある漫画の専門学校に進学し2年間ネームの作り方やプロットの作成なんかを勉強しました。小学生の頃からの夢が叶って本当に嬉しかったです!

漫画家を諦めアニメーターに

最初は漫画家を目指して漫画の専門学校に入ったのですが、日本で漫画家として就職するのはやはり色々と難しい問題もあり、他に絵に携われる仕事を探し、アニメ業界に入社しそこで1年間アニメーターとして働きました。仕事としては好きだったのですが、経済的に厳しく食べていくのが難しかったため転職をしました。当時は業界的にも朝まで仕事をする事も多々あり、土日も働くことが普通でした……(笑)。

次に就職した印刷業界ではデザインやイラストとは関係のない仕事であったのと、事務職だったので単純作業で成長していく場が少ないと感じたため、「やっぱりクリエイティブ業界に戻りたい!」という思いが強くなり当時専門学校時代の先輩に相談しました。その際に先輩が勤めていたアピリッツを紹介してもらい、当時はゲーム業界未経験だったこともありアルバイトから2Dデザイナーとして応募し入社しました。

かくりよの門朧背景イラスト
かくりよの門朧背景イラスト
かくりよの門 スタンプ用イラスト
スタンプ用イラスト

仕事への意欲が益々高まった!

――アピリッツに入ってみてどうでしたか?

親切な先輩や同僚に恵まれていて毎日会社に行くのが楽しいです!また、自分の努力や、やっていた成果物がちゃんと上司に届いていることが実感できて、”仕事を頑張りたい!”という気持ちが益々高まりました。

後は、残業も少なく休みもきちんと取れるので、今まで勤めていた会社の中で一番働く環境が良いです!私自身はもっと頑張りたい!って方なので、コアタイムの1時間前に出社して仕事に着手しています。早く実力を身に着けたいので空いた時間は勉強や知識を増やす時間に当てています。フレックスタイム制なので時間の使い方の自由さなんかも魅力に感じています。

アピリッツでは文化の違いも関係ない……?

――日本に来て働きづらさなんかはありませんでしたか……?

そうですね……文化の違いは確かに少し感じました。マレーシアだと比較的自分の意見を主張する人が多いのですが、日本には上下関係の文化があるのでどちらかというと上司の意見に従う印象を持ちました。

前職までは、日本に来たからにはそういう文化に気を付けて仕事をしていたのですが….そういった面では、アピリッツは他の会社に比べると上下関係があまりなく、フラットな印象を持っています。自由に意見が言える雰囲気を感じました。

――これからの目標について

もっと色んな人に自分のアイデアを見てもらいたいので、ゆくゆくはゲームのアート、デザインのコンセプトのディレクターになるのが目標です。そのためには、自分に足りてない技術やセンスをしっかり学んで、実力を身に着けていきたいです。後は、さらに日本語のコミュニケーション能力を高めて精進していきたいと思います。

――ありがとうございました!

「アピリッツだから提供できる“付加価値”を」 2020年 経営幹部合宿レポート

0

先日、アピリッツの経営陣が経営合宿をおこないました。このご時世に合宿? もちろん慎重に検討を重ねました。アピリッツはメンバー同士のコミュニケーションとチームワークを大切にする会社です。この理念を守りつつ、いかに安全に、日々の業務ではなかなか見通せない中長期的なビジョンを経営陣が話し合ったのか? その様子をお伝えします。

「密」をさけて、安全に移動

まず、参加にあたっては「健康上の不安がないこと」「家族の同意」を参加の絶対条件とし、ごくごく限られた経営陣と一部のGMで臨みました。移動についても集団をさけて車で移動するメンバーが多かったです。

長谷部部長とCD部の大金部長。距離をとりつつ記念撮影。緑がきれい。

不参加メンバーも事前課題シートで参加

合宿の事前準備として、経営陣には経営課題シートが共有されました。和田社長の考える経営戦略に対して、率直に自分の意見と提案をおこなうのが目的です。また、今回合宿には参加しない役員についても課題シートを記入し、ビジョンの共有をおこないました。

箱根の風を浴びながら意見交換

感染症対策ばっちり。ホスピタリティ抜群のとてもよいホテルでした

今回の合宿会場は箱根の仙石原にある「箱根リトリートfore」を選びました。人里離れた森の中に佇む静かなホテルです。紫陽花と新緑がきれいで、霧雨でも涼しく、空気がおいしかったです。私達も窓を開け放ち、マスクを身に着け、お互い距離をとりつつ話し合い開始。

「これからのアピリッツ、どうする?」

この合宿のテーマは「中期経営計画」。つまり「これからのアピリッツ、どうする?」を経営陣みんなで考えるのが、合宿の目的です。

まずは「今後のアピリッツの働き方はどういうものであるべきか?」を話し合いました。目下の懸案事項である新型コロナウイルス感染症対策にとどまらない「働き方」を各部門ごとに検討しました。

そして、アピリッツの中期経営計画について意見発表と質疑応答を全員でおこないます。和田社長が掲げる「30人30チーム構想」をいかに実現するか? そもそもどういうビジョンなのか? 会社を成長させるためには、アピリッツは何をするべきなのか? これらについて、フラットに率直に話し合いました。

距離をとりつつ集中して話し合い

合宿、やってよかった?

やってよかった? もちろん、やってよかったです。休憩をはさみつつ議論を続けることで和田社長が掲げる「30人30チーム」のビジョンが経営陣のあいだでより明確になりました。そして、個々のメンバーの課題や想い(そしてナイスな人柄)を解像度高く理解しあえたと思います。これからのアピリッツの戦略と働き方をより深く考える機会になりました。

私達が決めたこと

この合宿を経て、私達アピリッツは以下の軸をさだめました。

  1. いつまでもベンチャーマインドを持つ組織であること。そのためには社員が増えてもフラットな組織体質を維持すること
  2. やる気のある人にチャンスを提供できる組織であること。そのためには、新たな挑戦・チームを作り続けること
  3. それぞれのチームで「アピリッツだから提供できる付加価値」を探し求めていくこと

こちらについては、今後の全社会でより具体的にシェアして参ります。参加者のみなさん、おつかれさまでした!

最近人気な記事