Poppin Games Engineer Blog

ポッピンゲームズジャパン株式会社のエンジニアのブログ。弊社製品やcocos2d-x、AWSに関する情報を中心に発信しております。

iOS9時代の通信とApp Transport Securityとcocos2d-x

WWDC2015で発表されたiOS9ですが、パブリックベータ版の配布も今月中にはじまるようです。

iOS9には様々な新機能・改善が含まれており、その中にはセキュリティとプライバシーに関するものも含まれています。

ちかごろgoogleMozillahttpsへの移行を強く推進していますが、AppleiOSにおける通信のセキュリティにかなり強力な機能 "App Transport Security(ATS)" を盛り込んできました。

www.itmedia.co.jp

www.itmedia.co.jp

ATSは、予期せぬhttp通信を防いでくれる機能になっています。ATSはhttpの通信を失敗させたりhttpsに切り替えたりするようですが、ただ、開発中のアプリなんかだと、ローカルのサーバにつなぎたいんだよ〜という場合もあるわけです。

Appleの公式ドキュメントはこのあたりですが、Technoteの方をみると、Info.plistに設定を書くことでATSの動作を抑制できる…と書いてあります。

developer.apple.com

developer.apple.com

具体的にはこんな感じで書いておくと、httpの通信も許されるそうです。

他にも細かく例外設定が提供されているので、開発期間や暗号化通信への切り替えの過渡期に利用できるかとおもいます。

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

cocos2d-xは通信用APIとして cocos2d::network::HttpClient を提供していますが、これはiOSでは NSURLConnection を使う実装になっており、上記のATSの影響を受けます。Xcode7 / iOS9 でゲーム開発中に「なんか通信できないな〜?」となった方はチェックしてみてください。

ムーミン 〜ようこそ! ムーミン谷へ〜 iOS版もリリースされました!

android版につづき、iOS版もリリースされました!

moominvalley.poppin-games.com

poppin-games.com

DRAGON SKY iOS無料アプリランキング3位獲得!

5月29日に最新バージョン4.0.0をリリースしたばかりの、スクウェアエニックス様との協業タイトル 「DRAGON SKY」 が、iOS無料アプリランキング3位になりました!

4.0.0は新ステージ、新ボスなどもりだくさんです。Android版もありますので、ぜひぜひ!

DRAGON SKY (ドラゴンスカイ) - Google Play の Android アプリ


ドラゴンシャウト新バージョン1.7.0もリリースされております。 ver1.7.0では、ギルドメンバーの上限が50人になり、より多くのプレイヤーと遊べるようになっております。

またドラゴンシャウトは6月より、開発・リリース・運営すべてポッピンゲームズジャパンが行っております。 今後も引き続き、みなさまに楽しんでいただけるよう頑張ってまいります!

東京インディーフェス2015行ってきました!

http://tokyoindiefest.com 、ビジネスデーの本日、cocos2d-xのパネルディスカッションに参加させていただきました。

東京インディーフェス 2015

ご一緒させていただきました Gree WRIGHT FLYER STUDIOSの渡部様、サイバードの松下様、そしてお誘いいただいたChukong Technologies Japan清水様、ありがとうございました!

ビジネスデーかつ平日ということもあって、満員とはいきませんでしたが、貴重なお話を伺うことができました。

小林の方からは、弊社でのcocos2d-x利用の様子やドラゴンシャウトの開発に関してなどお話させていただきました。

次は夏の GTMF 2015 で発表の予定です。

gtmf.jp


ドラゴンシャウトv1.6.0リリースされました!

今回もさらに敵の行動バリエーションが増加しております。また、ギルド周りのUI改善や、全般的な安定性の向上が入っております。

最後に、プレイ動画がyoutubeに上がってたのでご紹介です。

www.youtube.com

ぜひぜひプレイしてみてください!

「ムーミン〜ようこそ! ムーミン谷へ〜」公式サイトオープン&事前登録受付開始!

moominvalley.poppin-games.com

ムーミン〜ようこそ! ムーミン谷へ〜」公式サイトがオープンしました! iOSAndroidでこの春リリース予定です。 事前登録受付も始まっております。

OPムービーはこちら!

www.youtube.com

弊社サイトのプレスリリースはこちらです。

poppin-games-japan.com

ムーミン公式サイトでも紹介されています。

ムーミンの箱庭ゲームアプリの配信が決定しました! - ムーミン公式サイト

cocos2d-xとTrueTypeフォントとレンダラーとUTF8と絵文字の苦悶

cocos2d-xではver3系から、FreeTypeによるレンダリングとOSによるレンダリングが選べるようになりました。

iOSのレンダラーの場合、フォントにグリフが無いときは代替のフォントで補ってくれます。FreeTypeでは現状、その辺の処理はやってくれません。なので、カッコイイフォントを見つけてきていざ使おうとすると、絵文字が出ない! …なんてことが起こり得ます。

ではOSに任せるのがベストかというと、OSによってフォントの描画結果が違うというのがネックになってきます。また、Androidでは、TTFの描画がやや遅かったりします。

この辺を解消したい場合、一つの解決策は、FontForgeなどを使って、TTFファイルに自分で絵文字などを追加することでしょうか。

そうすると今度は、絵文字のデータはどっから用意するんだよ?という話になるのですが、googleのnoto ( https://www.google.com/get/noto/ ) や twitterのtwemoji ( https://github.com/twitter/twemoji ) がオープンソースで公開されています。

同様にUTF8を駆使した顔文字 ( o̖⸜((̵̵́ ̆͒͟˚̩̭ ̆͒)̵̵̀)⸝o̗ とか…)のためにUTF8のグリフをTTFファイルにどんどん足すぜ〜!といきたいのですが、TTFは現在の仕様では65,535グリフまでしか入れられません。

UTF8はすでにこれ以上の文字を定義しており…残念ながら1ファイルでUTF8をコンプリートするTTFファイルは作ることができないのでした。無念!

10年くらい前もLinuxローカライズでこういう問題と格闘した覚えがあるんですが、世の中うまくいかないもんですね。