WonderPlanet DEVELOPER BLOG

ワンダープラネットの開発者ブログです。モバイルゲーム開発情報を発信。

C/C++でネットワークプログラミングをやってみよう(2)

2話 ソケットプログラミングを実際にやってみよう 概要 今回は実際にソケットのプログラミングをしてみたいと思っています。 目標ですが、TCPプロトコルで簡単なクライアントとサーバを作成し、ソケットのシステムコールの使い方を覚えたいと思います。 UDP…

MaBeee SDKを使ってミニ四駆をスマホでコントロールしよう

iOS

R&D事業部の近藤です。 先日、ワンダープラネットで社内ハッカソンが開催されました。 そのときに発表した、MaBeeeを使ってミニ四駆を音声でコントロールするアプリを作りました。 今回はiOSでのMaBeeeに対応したアプリの作り方を紹介しようと思います。 MaB…

C/C++でネットワークプログラミングをしてみよう(1)

目的 筆者の専門分野でもあり、最近は色んなネットワークのライブラリーーcurl、photonのようなーーが多いので、手作りのクライアントやサーバも少なくなっています。 そのために問題が生じてもどのような問題なのか分からず、ライブラリーのパッチをいつま…

SpriteStudioでアニメを作った後でも簡単データ整理

こんにちは、デザイナーの木村です。 本日は、少しプログラムを書き換えるだけで簡単にデータを整理できる方法をまとめたいと思います。 プログラムを書き換えると言っても、名称をちょっといじるだけなのでプログラムの知識は一切入りません。 例えばこんな…

Controller Emulatorを利用してDaydream実機なしでDaydream対応アプリを開発する方法

R&D事業部の近藤です。 今回はDaydreamのコントローラーのエミューレーターの導入方法を紹介します。 Daydreamにはレーターポインターのようなコントローラーが付属します。 WiiリモコンのようにポインターをオブジェクトやボタンなどのUIをクリックしてアプ…

負荷見積りについて

インフラエンジニアの河井です。 今回は、イベント時の負荷見積りについて書いてみます。 負荷見積りとは 負荷見積りには大きく分けて「長期的な見積り」(長期間のサービス提供により増加した取扱データ量への対応)と、「短期的な見積り」(イベントやメデ…

CircleCI 2.0の正式版がリリースされたので試してみた

始めまして、サーバエンジニアの山脇です。 サーバアプリケーションのテストと開発環境へのデプロイをCircleCIに任せているのですが、最近CircleCIが2.0リリースされたのでどんなことができるのか試してみたのでその内容を書きたいと思います。 1.0と2.0の比…

Cocos2d-x の EditBox で複数行表示する

おつかれさまです。エンジニアの藤澤です。 最近 Cocos2d-x の EditBox で比較的長い文章を入力したいケースがあったのですが、標準の EditBox では複数行表示に対応していないようで、文章が見切れてしまったため少々手を加えて対応しました。今回はそのと…

Unity ShurikenのSubEmitterを使った季節の風物詩

デザイナーの宮澤です。 夏ですね! といったことでUnityのshurikenを使って簡単な花火を打ち上げようと思います。 テクスチャは用意せず、主にSub Emitterを活用して、 簡単に機能紹介ができたらと思います。 1.花火の元を作る。 メニューのGameObjectからP…

クラフィのイラストレギュレーション

クラッシュフィーバーアートディレクターの磯部です。開発段階のときからクラッシュフィーバーのデザイン周りに携わっております。 クラッシュフィーバーには1000体以上のキャラクターが登場します。種族も格好も違う、個性豊かな仲間たちですが、どこかクラ…

Unity + Daydream開発はじめの一歩(2017.6月最新版)

今回はUnity + Daydreamを使用したVRアプリ開発の第一歩を書きたいと思います。 開発環境 Unity5.6.1f1(Unity5.5.xはDropdownの表示に問題があるため使用不可) 今回の記事を実践するに当たっての前提 Unityはインストール済みであること Android SDKはインス…

海外展開するにあたって

エンジニアの田島です。 クラッシュフィーバーの海外展開を担当していて、国内版とは違う点を書きたいと思います。 マルチ応募で使うSNSについて 国内版と繁体字版ではマルチの応募をLINEで行うのですが、グローバル版と韓国版ではLINEから変更しています。 …

ベクションによる酔いを体感するアプリを実際に作って体感してみた

VR

今回はVRでネックとなる「ベクションとVR酔い」について、実際にアプリを作成して体験してみました。 そもそもベクションとは? 視覚誘導性自己運動感覚(しかくゆうどうせいじこうんどうかんかく、ベクション(英: vection)とも)とは、実際には静止してい…

キャラクターに込められたコンセプトやテーマについて

こんにちわ! デザイナーの渡辺です。 主にキャラクター指示書やゲーム内背景の指示書の作成及び 赤入れの制作などを行っております。 今回は指示書作成において超重要な部分である 「コンセプト」や「テーマ」について、 実際にどのような内容で指示書を作…

シルエット素材を作ってみよう

こんにちは。 グラフィックデザイナーの大鹿です。 私の主業務はクラッシュフィーバーのアプリ内外で使われる 「バナー」制作ですが次いで頻繁に作るモノがあります。 それは「シルエット素材」です。 シルエット素材は文字通りキャラクターイラストをシルエ…

図を継続的に管理するためのベストプラクティス

こんにちは。サーバエンジニアの桐島です。 今回は、図(フローチャート、シーケンス図など)をチームで継続的に管理するための個人的なベストプラクティスを紹介したいと思います。 図の有用性と、継続的な管理の必要性 図って便利ですよね。 以下の様な図…

バグを生まないために気をつけたいコードの書き方

こんにちは。アプリエンジニアの大橋です。 今はそれほどではないのですが、少し前まで仕事の大半をコードレビューに費やしていた時期がありました。 どちらかというと自分で実装する方が断然好きですが、 それはさておき、いろんなコードを見るなかで、 「…

ゲームプランナーになるには、どんな能力が必要なの?

ゲームプランナー&レベルデザイン担当の程塚と申します。 ゲームプランナーについて、つらつら書きたいと思います。 どんな方向性 のゲームにしたいのか、 作っていく途中で どんな問題 があり、どう解決 すれば良いのか。 それを 発案 する、または、他か…

エフェクト制作におけるSpriteStudioデータのフォルダ構成

アートディレクターの榊原です。SpriteStudioでエフェクト制作するにあたって、データのフォルダ構成で悩んだので一例として辿り着いたものを紹介したいと思います。 使用しているSpriteStudioのバージョンは5.7.0となります。何にも考えないでデータを作る…

GunicornのUNIXドメインソケットが喪失するバグへの対応

エンジニアの原です。 弊社内のいくつかのPythonを使用したWebサービスでは、アプリケーションサーバーとしてGunicorn を使用しています。 先日サービス全体には大きな影響がなかったものの、そのGunicornのバグを踏み、一部のサービスが不安定になったこと…

「ハッカソン」を走り抜け!!

こんにちは、今回のブログ担当の近藤(英)です。 さて日々の開発を行っていくにあたって、日頃から新しい技術を学び、取り入れていくことを習慣化されている方も多いかと思います。 その一つの方法・場としても、「ハッカソン」という言葉が、以前より増して…

QAのお仕事紹介

QA

クラッシュフィーバーQA(Quality Assurance)チームの櫻井です。今回のデベロッパーブロクでは、QAの業務内容について紹介したいと思います。 とはいえ、QAってデバッグしてるだけなんじゃ?そんな認識なのではないかと思います。ざっくり言うと合ってます…

UnityのAnimationClip周りの小ネタ

3Dデザイナーの宮澤です。 今回はMaya等の3Dソフトから書き出したモーションデータを、 Unityに組み込む際のちょっとした小ネタを紹介します。 ▼AnimationClipだけ取り出したい データ削減に伴って、不要なスケルトンデータやメッシュデータは削除して、 必…

Unityプロジェクトのビルド環境改善

アプリエンジニアの山下です。 プロダクト自体の改善はもちろんですが、開発環境を改善していくこともエンジニアの重要な仕事だと思います。 今回はUnityプロジェクトをビルドしストア提出用アプリ(ipa/apk)を作る上で 起こった問題とその解消方法についてま…

クラッシュフィーバー クライアント開発チームのご紹介

おつかれさまです。エンジニアの藤澤です。 自分はクラッシュフィーバーのクライアント開発を担当しているんですが、最近ふと、いまの開発チーム(開発スタイル?)が自分にあっているというか、いまの環境 恵まれてるなあ、と感じることがありまして、今回…

SpriteStudioのデータ容量を削減する

2Dデザイナーの木村です。アニメーションを作っていると、ついついキーを多く打ちすぎてしまい重くなってしまった!なんてことはございませんでしょうか。今回のデザイナー記事は、SpriteStudioのテクスチャとアニメーションのデータ削減方法についてお話し…

GitHubとCircleCIの連携について

サーバーエンジニアの若原です。 今回は開発でも使っているCircleCIのGitHub連携について紹介させていただきます。 CircleCIとは継続的インテグレーションのためのクラウドサービスです。 GitHubと連携することができ、git pushなどをトリガーにビルドを走ら…

UIアニメーションについて

新卒デザイナーの小久保です。 今回はゲーム内のUIアニメーションについてお話しします。 UIアニメーションとは 「ユーザーがアクションを起こした時に、視覚的に何が起こったのかを よりわかりやすく伝える為のもの」だと私は考えています。 アニメーション…

ユニットキャラクターが完成するまでの工程について

デザイナーの小嶋です。 今回のデザイナー記事はイラストが どのように完成するのか です。 以前の記事でキャラクター指示書についてお話ししたかと思います。 キャラクターのコンセプト、デザイン等イメージを固め、その指示書を元に外部クリエイター様がキ…

チーム開発するエンジニアがポモドーロ・テクニックを実践するためのアイデアとツールの紹介

ネイティブアプリケーション事業部サーバエンジニアの桐島です。 先日、社内エンジニアLT会にて、ポモドーロ・テクニックについて発表したところ、 「自分はこんな感じでやってるよー」という意見が出たり、気になっているひとが結構多い感じだったので、ブ…

GatlingでWeb APIのシグネチャ検証に対応する

サーバーエンジニアの原 @zetta1985 です。 認証済みで使用されるWeb APIの多くは、リクエストURLやパラメータをベースに生成したHMACをHTTPリクエストヘッダーに指定することで、サーバーサイドでリクエストの改ざんを検知する仕組みになっています。 応用…

遠隔地のメンバーと一緒に開発するためにやってること

今回の担当はエンジニアの大橋です。 よろしくおねがいします。 唐突ですが、まず弊社のオフィス事情から……。 現在、弊社のオフィスは東京と名古屋の2箇所にあるのですが、 プロジェクトごとに東京か名古屋かで分かれているのではなく、 ひとつのプロジェク…

エラーにならなくなったLINQメソッド(Unity iOS)

クライアントエンジニアの加賀です。 昔は何も知らずにLINQのメソッドを使うと、iOS実機で動かした時に以下のようなエラーが出ることがありました。 System.ExecutionEngineException: Attempting to JIT compile method だいぶ前からですが、すこしずつ改善…

クラッシュフィーバーのキャラクター指示書ができるまで

デザイナーの伊藤です。 前回のデザイナーの記事『キャラクターイラストができる道程』では 指示書とは“キャラクターの設計図” “キャラクターの根幹を決める部分”と紹介されていました。 今回は、そのキャラクターの指示書がどのような事を考えて作られてい…

スイッチロールで実現する快適な権限・リソース管理 - JAWS Festa 東海道 2016

AWS

ネイティブアプリケーション事業部サーバエンジニアの桐島です。 好きなAWSは、Amazon Auroraです。 2016年10月22日に開催された JAWS Festa 東海道 2016にて、 クラッシュフィーバーで活用しているスイッチロールのテクニックについて発表してきました。 地…

JenkinsのSlaveが原因不明で切断されるのを力技で解決する

クラッシュフィーバーのJenkinsの構成と、長い間悩まされ続けていた問題の解決案をご紹介したいと思います。

Apple WatchでSpriteKitを使ってアニメーション

iOS

R&D事業部の近藤です。 今回はSpriteKitについてです。 SpriteKitとはiOS 7で登場した2Dゲームを作るためのフレームワークです。 2016年9月のWWDCで発表のあったwatchOS 3が公開され、Apple WatchにもSpriteKitが対応しました。 これがApple Watchに対応した…

ソースコード静的解析

今回のブログ担当の渋谷と申します。 今回は「ソースコードの静的解析」というテーマでブログを書かせていただきます。 ソースコード静的解析とは ソースコードの文脈だけを見て機械的に問題を指摘してくれるツールです。 なぜこれを使う? バグや意図しない…

GitHubの新機能「Projects」の活用アイデア

ネイティブアプリケーション事業部サーバエンジニアの桐島です。 ワンダープラネットでは、開発の様々なシーンでGitHubを活用しており、 GitHubは日々の開発に無くてはならない存在となっています。 また、GitHub好きのエンジニアが多く、 GitHub shopから大…

非エンジニアがSlackというハイカラなツールを使ってみた

こんにちは。クラッシュフィーバーチーム所属の大脇です。エンジニアではありませんのでプログラミングはほぼ行いません。 そんな非エンジニアの私が、ここ最近社内の業務ツールとして導入された「Slack」というハイカラなツールを使ってみた感想をお伝えし…

キャラクターイラストができる道程

アートディレクターの磯部です。 皆さんはキャラクターイラストができるまでにどのような道筋を 辿っているかご存知でしょうか。 今回はクラッシュフィーバーのキャラクターが どのような工程を経て、作られているのかをご紹介したいと思います。 1.テーマ…

GatlingとnginxのDockerコンテナを構築する

ネイティブアプリケーション事業部の山内です。 ワンダープラネットでは、プロダクトローンチ前あるいはローンチ後にサーバーの負荷テストを実施してボトルネックを探り、パフォーマンスチューニングを実施しています。Apache BenchやJMeter、Vegetaなど様々…

クラッシュフィーバーにおけるAWS事例 - AWS Cloud Roadshow 2016 名古屋

AWS

今回のブログを担当する村田です。 2016年9月28日に開催された AWS Cloud Roadshow 2016 名古屋 でAWSの事例を発表してきました。 人気ゲームアプリ「クラッシュフィーバー」におけるAWS活用 from Tomotsune Murata 構成について 発表内容としては 前半:こ…

Google VR SDK for iOSでVRに挑戦しよう!

こんにちは、今回のブログ担当の近藤(英)です。 ここ数年、VR(Virtual Reality)という言葉が何やら騒がれていますが、皆さんも何度も耳にされ、既にその世界を体感された方もいるかと思います。 特に今年(2016)はVR元年とも言われ、某国民的アニメのオープニ…

クラッシュフィーバー リジェクト事例

iOS

おつかれさまです。エンジニアの藤澤です。 ご存知の通り、iOS の App Store でアプリを公開するためには Apple による審査が必要です。 クラッシュフィーバーもリリースから 1 年以上経ち、何度もアップデートを繰り返してきましたが、その間、審査のリジェ…

開発でのデータ整理について

デザイナーの木村です。主に3D関連の業務を行っています。 今回は簡単に思えてなかなか上手くいかない、データ整理のことについてお話しします。 1 :現場ではこんなことが… ゲーム開発は基本的に複数人で行うため、 ファイルの共有やデータの受け渡しなど…

Adobe Creative Cloudで制作工数をゴリゴリ削ろう

どうもこんにちは、デザイナーの大鹿です。 今回はバナー制作における工数削減対策の一つ「Adobe Creative Cloud」について お話させていただきます。 クラッシュフィーバーは他アプリと比較してみると バナーの使用数が飛び抜けて多いプロダクトだと感じて…

iOSアプリをビルド無しで再署名の方法

iOS

ブログを担当する戸田です。今回はiOSアプリ(iPAファイル)の再署名について紹介していきます。 iOSアプリの開発を行っていると「Apple Developer Program」の証明書にて有効期限が設定されているため、証明書の期限が切れてしまうとiOSアプリを利用すること…

FirebaseをAndroidで使う(導入編)

ブログ担当の佐藤です。 今回は Firebase というクラウドサービスの紹介と実際にAndroidに導入したお話を書かせていただきます。 Firebaseとは、mBaaS(Mobile Backend as a Service)というクラウドサービスの1つです。 Firebaseの特徴は、オンラインでサイン…

【Unity 5.3】コルーチン変更点

クライアントエンジニアの乾です、今回はUnity5.3でコルーチン周りでの変更点 について書きたいと思います。 1:コルーチン内からのコルーチン呼び出し 5.3以降はコルーチン内の呼び出しはStartCoroutine()が省略する事が可能に なりました。 これによりMonoB…