WonderPlanet DEVELOPER BLOG

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

Trelloでデザイナータスク管理

アートディレクターの榊原です。 デザイナーっぽい内容を書きたいなと思いつつ・・・敢えてデザイナーサイドのタスク管理ツールについて取り挙げたいと思います。 今までのタスク管理ツール 私のチームのデザインタスクは主にUI,エフェクト,バナー,イラスト…

Gatlingを使った負荷テストをsbtタスクとして実行する

サーバーエンジニアの原 @zetta1985 です。 弊社ではモバイルゲームのバックエンド Web APIの負荷テストに Gatling というScala製の負荷テストツールを使用しています。 公式ドキュメントの Quick Start ではzipファイルをダウンロード・インストールするよ…

軽量高速な「MessagePack」でデータをシリアライズしてみる

リニューアル後、3エントリー目、担当の長屋です。 日々、業務中にいいなと思ったことを書いてみます。 今回は汎用的で且つ軽量高速なバイナリベースのシリアライズ形式である「MessagePack」について書いてみようと思います。JSON-likeに汎用的に扱え、バイ…

【Unity】AESでデータを暗号化

リニューアル後、2エントリー目、担当の大橋です。 リニューアルに伴った特別なネタを持っているわけでもないので、いつものピンポイントなネタでお送りします。 Unityでデータを暗号化 Unityでなんらかのデータを保存するとき、PlayerPrefsを利用したり、 …

デベロッパーブログとしてリニューアル

リニューアル後、1エントリー目を担当する村田です。 今回は、ブログのリニューアルにまつわる内容を書きたいと思います。 デベロッパーブログとして生まれ変わった背景 元々は「エンジニアブログ」として、 エンジニアが開発中に困り調査 / 解決したこと 新…

C#のLINQ to XMLでHTMLを読む

今回のエンジニアブログを担当する加賀です。 個人的にXML、HTMLを扱う機会があったので、LINQ to XMLを使用してみました。 LINQ to XMLは.NET Framework 3.5以降で使用できます。 System.Xml.Linq名前空間の各クラスで構成されています。 XML文書へのアクセ…

画像処理ライブラリ「Pillow」をAWS Lambdaで使ってみる

今回のエンジニアブログを担当する村田です。 前回は、Pythonを使ったAWS Lambdaでスケジュール化を試しました。 今回は、画像処理ライブラリである「Pillow」をAWS Lambdaで使いたいと思います。 Pillowとは? Python Imaging Library (PIL)のforkプロジェ…

Coordinator LayoutでかっこいいToolbarにする

エンジニアブログ担当の佐藤です。 今回紹介するのはCoordinator Layoutという機能です。またまたMaterial Designです。 Coordinator Layoutというのは子Viewの大きさや位置を動的に管理する機能です。 最近よく見かけるスクロールするとヘッダーが縮小され…

モバイルサイトをマテリアルデザインで手軽に作れちゃうMaterial Design Liteを使ってみた話。

エンジニアブログ担当の近藤です。 Apple Watch発売以来いつもWatch OSについて紹介していましたが、今回はWEBのお話です。 最近WEBサイトを閲覧していると、Twitter社が公開しているBootstrapというCSSとJSのライブラリを使っている画面が作られているWEBサ…

やっぱり Git 上で日本語ファイル名は使うべきじゃないという話

Git

お世話になります。藤澤です。 ぼくは普段 Git のクライアントに SourceTree を使ってるんですが、ある日突然、変更していないはずのファイルが untracked として表示されるようになってしまいました。 作業ツリーをいつもキレイにしておきたい派としては こ…

「dgコマンド」でDeployGateへのアップを自動化

今回のブログを担当する中村です。 アプリ開発のテストの際、DeployGateを使ってIPAやAPKを社内展開しているワンプラですが、アップするのが面倒! ということで、今日はDeplyGateから提供されている「dgコマンド」というCLIツールの紹介です。 【dgとは】 D…

Python + TkinterでGUIプログラミング

今回エンジニアブログを担当します若原です。 よろしくお願いいたします。 今回はTkinterを紹介させていただきます。 Tkinterとは PythonでGUI操作を行うためのライブラリです。 PythonでGUI操作を行うには他にもwxPython, PyQt, PyGTK, Pygletなどがありま…

Unity HOTween触ってみた

今回エンジニアブログを担当します乾です。 よろしくお願いします。 今回はUnityのTween系アセットHOTweenを紹介します。 実はこのアセット、既に改良版であるDOTweenが存在しますが今回はあえてHOTweenについて紹介します (個人的にこちらの方が好き... 仕…

Google Cloud Datalabを触ってみた

今回のエンジニアブログを担当する藤岡です。 宜しくお願い致します。 2015年10月半ば頃ローンチされた、Google Cloud Datalabを触ってみたいと思います。 このサービスはIPython Notebookが活用されており、コードをnotebook上に書き込み実行、可視化をする…

【Unity】BestHTTPを使ってhttps通信をする

最近Unityの記事ばかり書いている大橋です。 今回はhttps通信です。 結論 この記事で言いたい事を先に言ってしまうと、 BestHTTPを使えばTLS1.2でhttps通信ができる!、、です。 UnityではWWWクラスがあるけれど Unityでサーバーとhttp/https通信したいとき…

Unity C# プロパティのキャッシュによる速度の違い

今回のエンジニアブログを担当する加賀です。 UnityのGameObjectで、よく読み書きするプロパティは「transform」だと思います。 また、Unityに限らずインスタンスを1つだけに限定する時にシングルトンをよく使います。 これらを、インスタンスにアクセスす…

UnityでVRっぽい見た目のシェーダを作る

こんにちは、エンジニアの成田です。今回もUnityのシェーダで遊んでみます。 今回はタイトルの通り「VRっぽい」シェーダを作ってみました。VRのシェーダと言っても最近流行りのヘッドマウントディスプレイOculus等の視差シェーダみたいなものではなく、あく…

動画広告UnityAdsをCocos2d-xに導入してみよう

今回のエンジニアブログを担当する大原です。 昨今、カジュアルゲームには動画広告を入れているパターンが多くなってきました。 動画広告の売上話題によくあがる某ク◯ッシー◯ードも使っているUnityAdsをCocos2d-xで使えるようにしてみようかと思います。 共…

Pythonで実装したAWS Lambdaをスケジュール化!

今回のエンジニアブログを担当する村田です。 みんな大好きAWS LambdaがPythonで実装できるようになりました! 参考:【AWS発表】AWS Lambdaのアップデート – Python, VPC, 実行時間の延長, スケジュールなど ワンダープラネットにおいてPythonは、 サーバー…

Floating Labels for EditTextを実装してみた

今回のエンジニアブログを担当する佐藤です。 前回FAB(Floating Action Button)に引き続き、TextInputLayoutをつかったFloating Labels for EditTextを実装したいと思います。 【Floating Labels for EditText】 Floating Labels for EditTextは、TextInputL…

Apple Watchで文字入力をするには

エンジニアブログ担当の近藤です 今回はApple Watchでの文字入力をする部分の実装をしてみます。 Apple Watchには画面が小さくて全部のアルファベットを表示することができないので、キーボードがありません。 そこで、文字入力をするには以下の方法を取りま…

FuelPHP v1.6以降でロードバランサーを経由してきたクライアントのIPを取得する方法

サーバー担当の山内です。 ロードバランサー経由でアクセスしてきたクライアントのIPアドレスを取得するためreal_ip()を使っていたのですが、FuelPHPをv1.6以降にアップデートした際にうまく取れなくなる問題が起こりました。 FuelPHP v1.5以前については、…

Cocos2d-x でカルーセルを作る

おつかれさまです。藤澤です。 前回のブログのときには事前登録中だったクラッシュフィーバーですが、おかげさまで多くの皆さまにプレイしていただいております。皆さまありがとうございます。また、いろいろと不具合でご迷惑をおかけしており誠に恐れ入りま…

AtomでUnity(C#)の開発環境を構築する

今回のエンジニアブログを担当する山下です。 最近はGitHub製テキストエディタのAtomを使っての開発が中心になっています。 Atomの特徴はなんといってもパッケージによる拡張で、 世界中のデベロッパが様々なパッケージをGitHub経由で公開しています。 カス…

Unity C# メソッド呼び出し方法による速度の違い

今回のエンジニアブログを担当する加賀です。 UnityでC#のLINQを使っているとき、 何度もメソッド呼び出しがされるので速度が遅くなるのではないか? という疑問が出来たので、計測してみました。 計測環境 Mac OS X 10.9.5 Intel Core i5 1.3GHz Unity 5.1.…

Cocos2d-xのSDKBOXを利用してFacebook連携をしてみる

こんにちは。今回ブログを担当する長屋です。 SDKBOXはCocos2d-xのプロジェクトに対してサポートしているSDKを簡単に追加できるプラグインです。 今回はSDKBOX内のFacebookプラグインを利用してFacebook連携をしてみたいと思います。 SDKBOX - http://www.co…

AndroidのFloatingActionButtonを実装する

今回のエンジニアブログ担当の佐藤です 今回もMaterialDesignネタでFloatingActionButtonの実装をしてみようと思います! FloatingActionButton(FAB)とはこれのことです。↓ FABはAndroid Support Library v22.2.0から使えるようになったDesign Libraryに含ま…

Photon Unity Networkingを使ってみた

こんにちわ。 エンジニアブログを担当します乾です。 よろしくお願いします。 最近触る機会があったPUN(Photon Unity Networking)について書きたいと思います。 PUNの特徴はインディー・プロのディベロッパー問わず、誰でも リアルタイムマルチプレイヤーゲ…

BIツール「re:dash」を触ってみた

最近BI(Business Intelligence)ツール巡りをしようと考えている藤岡です。 今回はBIツールの一つである、「re:dash」に触れてみたいと思います。 http://redash.io/ re:dashはPython製かつ、様々なデータストアに対応しており、 クエリを設定しておくとその…

CUIなGitブラウザ「tig」コマンド

Git

はじめまして。今回エンジニアブログを担当します若原です。よろしくお願いいたします。 今回はコマンドラインでGitのコミットログを確認するときに役に立つtigコマンドについて紹介させていただきます。 みなさまはGitのコミットログなどの確認をどのように…

【Unity】Missingがあるアセットを検索する

今回担当させていただく大橋です。 Unityで、Missing状態のプロパティを検索するエディタ拡張を作ってみました。 よろしくお願いします。 記事の最後に全コードを載せてますので、 とにかくコードを!という方はそちらをどうぞ。 動作確認したUnityのバージ…

Unity 5 アセットバンドルTips (ビルド編)

こんにちは、エンジニアの成田です。 今回はUnity 5のアセットバンドルを業務で扱った時に気づいたいくつかのTipsを書くことにしました。 1.ビルドマップを使用したアセットバンドルビルド まず基本的なアセットバンドルのビルド手順について簡単に説明しま…

Firebaseのoffline機能を使ってみよう!

今回のエンジニアブログを担当する村田です。 今年のGoogle I/Oにおいて、あるサービスで1つのアナウンスがありました。 それは「Firebaseのofflineサポート」です。 これは早速試すしかありません!!! 前回の「FirebaseでiOSアプリを作ってみよう!」をof…

WatchKitでWatchAppからiPhone側のアプリを操作する

今回のエンジニアブログ担当の近藤です。 このページを見ている皆さんはもちろんApple Watchは手に入れましたよね?w まだ発売して2ヶ月ほどですが、さっそく先日のWWDCでwatchOS 2の発表がありました。 現状ではiPhone側のアプリとセットで動かすことが前…

Nginx + Ubuntu14.04でPHP7を動かす

PHP

はじめに こんにちは、山内です。 タイムラインによれば、PHP7は2015年11月にリリースを予定されていますが、Nightly Build版がZendから公開されているので、6月現在PHP7の環境を構築することができます。今回は、PHP7環境をGCE + Ubuntu14.04上に構築したの…

CentOS 6にPython2.7.9とMySQL5.6を入れるDockerfileのサンプル

最近、アプリエンジニアの岩原です。 今回は、Dockerfileを使用して、CentOS 6 + Python2.7.9 + MySQL5.6のDocker Imageを作成するサンプルをお見せしようかと思います。 Python + MySQLを使用したサーバーアプリのユニットテストなどに使えると思います。 …

パーティクルの画像ファイルは plist に埋め込むべき?

おつかれさまです。藤澤です。 先日、弊社の新プロダクト クラッシュフィーバー の情報が公開、事前登録が開始されました。みなさま、よろしくおねがいいたします(宣伝)。 さて、現在そのクラッシュフィーバーの開発も佳境でして不具合修正やらレスポンス…

py.testのおすすめプラグイン

サーバーエンジニアの原です。 今回は、Python製テスティングフレームワークpy.testの数あるプラグインのうち、おすすめプラグインをご紹介します。 Python 3.4、pytest 2.7.0を前提とします。 pytest-flakes pytest-flakesは、Pythonの文法/コードスタイル…

Python 3.5のzipappで実行可能なアーカイブを作る

サーバーエンジニアの原です。 Python 3.5は現在開発中ですが、すでにアルファ版が公開されています。そこで、個人的に気になっているzipappというモジュールを試してみました。 python 3.5のアルファ版は、pyenvであれば簡単にインストールできます。 ただ…

Unityのシェーダーを触ってみた

こんにちわ。 今回エンジニアブログを担当します乾です。 よろしくお願いします。 最近少しづつやっているのですが、シェーダー方面触ったことがなかった初心者なので苦戦中です。 今回は私みたいな初心者の方向けに簡単なモノクロフィルターを作っていこう…

NumPy + Pandas + matplotlibでデータプロッティングしてみる

今回のエンジニアブログを担当する藤岡です。 D3.js等のデータ可視化ライブラリは沢山存在していますが、 このエントリでは、「NumPy + Pandas + matplotlib」でデータプロッティングを行います。 所謂データ分析ツールのフロントエンド側の処理を3つのライ…

Unityでベクトルを扱おう

今回の担当、大橋です。 Unityでのベクトル(Vector3)の扱い方をまとめてみました。 基礎的なことが中心になってます。 スクリプトはC#です。 ベクトルの作成 まずはベクトルの作成です。 引数にx、y、z各成分の値を指定して作成できます。 引数を省略する…

擬似乱数生成アルゴリズム「Xorshift」をC#で実装

今回のエンジニアブログを担当する加賀です。 高速な擬似乱数生成アルゴリズムのXorshiftを紹介したいと思います。 今回のコードはVisual Studio 2010 Pro SP1、C# 3.5で確認しています。 Xorshiftとは Xorshiftとは、その名の通り、XOR(排他的論理和)とシフ…

Unity 5でGI(グローバル・イルミネーション)を触ろう

こんにちは、エンジニアの成田です。 今回はUnity 5に新たに搭載されたEnlightenと呼ばれるGI(広域照明)を試してみようと思います。 1.Enlighten Enlightenは半導体の設計などで有名なARM社の傘下であるGeomericsが開発しているGIのミドルウェアです。内部的…

シェーダーでスプライトをひねらせよう

今回のエンジニアブログを担当する大原です。 最近はシェーダープログラミングを覚えようと頑張っています。 あるアニメで出てきた演出をシェーダーで実現できないかと思い、 今回はひねる演出をシェーダーで書いていきたいと思います。 シェーダーのコーデ…

iOSでRealmを触ってみよう!

今回のエンジニアブログを担当する村田です。 今回はモバイル向けデータベースとして今後熱くなりそうな 「Realm」を触ってみたいと思います。 Realmとは? SQLiteやCoreDataと同じモバイル向けのデータベースです。 エンジン部分はC++で実装されております…

Android Support Libraryの「Palette」を使って色を抽出する

今回のエンジニアブログ担当の佐藤です 今回は、AndroidのSupport Libraryに追加されたPaletteという機能があると知り、早速使ってみましたのでご紹介したいと思います。 Palette(パレット)とは、指定した画像の中から色の解析をし、自動で鮮やかな色,落ち着…

Nullableを使ったObjective-CとSwiftの連携

今回のエンジニアブログ担当の山下です。 先日AppleのSwift Blogを眺めていたところ、 「Nullability and Objective-C」という気になる記事を見つけました。 もしかするとObjective-CでもSwiftのような安全なコーディングが出来るようになるのでは…!?と 若干…

WatchKitでGlanceを使ったアプリを作ってみよう

エンジニアブログ担当の近藤です。 4月24日についに発売されるApple Watchの予約が先日始まりました。 Apple信者のみなさんはもちろん予約しましたよね!? 今回はApple Watchネタの第3弾。 Glanceを使ったアプリを作ってみましょう。 Apple Watchアプリの…

Raspberry Pi2でC++さんを動かしてみる

こんにちは。今回ブログを担当する長屋です。 ついに巷で話題の「Raspberry Pi2」を購入しました。 今回は「Raspberry Pi2」上でC++ソースのコンパイルから実行までやってみたいと思います。 -Raspberry Pi2- https://www.raspberrypi.org/products/raspberr…