Hatena::ブログ(Diary)

Android でいろいろやるよ!

2013-02-19

Titanium + Tokyo = tiTokyo!!

たいへん久しぶりの更新になってしまいました...

昨年 Titanium のゲームエンジンの会社を立ち上げてから本当に忙しくて。。

この数ヶ月の間にあったことといえば、大きなイベントが立て続けにありましたね!

f:id:infosia:20130219222432j:image:w360

イベントを経るたびに、みなさんの期待をひしひしと感じます。
ブログの更新は遅れるかもしれませんがこれからもよろしくお願いしますっ!

2012-10-03

本気でやります、Titanium+ゲーム!

Titanium で動くゲームエンジンですが、本日、公式にアナウンスが出ました!

本日、Appcelerator 社は、ゲーム分野に本格的に投資をすることを発表しました

Appcelerator 社というのは Titanium Mobile を作っている会社で、アメリカ・シリコンバレーに拠点を置いている会社です。そしてもちろん、私が作ったゲームエンジンに投資をして頂ける、という話です。

そして、もう一点。

Carlos Icaza 氏などと共同で、シリコンバレーで会社を立ち上げました

ご存じの方がいるかもしれませんが、Carlos Icaza は元 Adobe, Macromedia で Flash Lite やイラストレータの開発など多くのプロジェクトに関わったエンジニア/マネージャで、クロスプラットフォームゲームエンジン Corona SDK の生みの親、Ansca Mobile 社の元 CEO です。新しく立ち上げる会社には、その他にも非常に強力なメンバーが集まっています。Titanium Mobile の上で動くゲームエンジンで本格的にアメリカでビジネスを進めるためにがっちり手を組んでやっていきます!

詳細は Appcelerator 社から出ているアナウンスTechCrunch の記事、新しい会社 Lanica, Inc のサイトを参考にしてください!

2012-08-13

QuickTiGame2d 1.3、リリースしました!

Titanium Mobile で動作するゲームエンジンモジュール、QuickTiGame2d 1.3 を公開しました。今回はパフォーマンス向上やメモリリークの修正、TiBlob からのテクスチャ読み込みのサポートなど、より安定&便利になってます!

http://code.google.com/p/quicktigame2d/

Android でもビューの背景を透明にできるように!


今まではボタンなど、Titanium のビューコンポーネントをゲーム画面の「上」に配置して貼り付けることができていたのですが、ゲーム画面の背景を透明にしてゲーム画面の「下」にも配置することができるようになりました。例えば、テーブルビューの前面に浮かぶゲーム画面とか、画面の一部分だけをゲーム画面として使いたい、というようなことが Android でも出来るようになりました!

TiBlob からのテクスチャ読み込みのサポート


TiBlob というのは Titanium でバイナリを扱う時に使われるオブジェクトで、例えば HTTP リクエストでネットから画像ファイルをダウンロードしてきたときに使ったりします。今回のアップデートで、この TiBlob からテクスチャを読み込むことができるようになりました!例えばネットから画像ファイルをダウンロードしてきてそれをファイルシステムに保存せずにテクスチャとして使うというようなことができるようになります。

例えばこんな感じ。

//
// Example: Download appc logo image from the Internet
//
var xhr = Titanium.Network.createHTTPClient({
  onload : function() {
    //
    // Create new sprite and load texture data from response data
    //
    appc_logo = quicktigame2d.createSprite();
    appc_logo.tag = "APPC_LOGO";

    // Set texture data by using data property
    appc_logo.data = this.responseData;
    
    scene.add(appc_logo);
  },
  timeout : 10000
});

xhr.open('GET', 'http://static.appcelerator.com/images/header/appc_logo.png');
xhr.send(); 

http://code.google.com/p/quicktigame2d/source/browse/QuickTiGame2dExample/Resources/tiblob_sprite.js

パフォーマンス向上やメモリリークの修正


その他、今回のアップデートではパフォーマンスの向上やメモリリークの修正など、安定化向上のための重要な修正がありますので、今までのバージョンを使っている方はアップデートして頂きたいと思います!!

※その他の修正内容はこちらで確認できます。

http://code.google.com/p/quicktigame2d/

今後について


オフィシャル API に匹敵するクオリティを目指すとか鼻息荒く宣言した手前ですが、こちらの方はあんまり進んでいません...今 QuickTiGame2d をより発展させるべく色々な方面に動いているのですが、ちょっと今ここで発表できるようなネタがないのです。。。真面目にやっているので楽しみにしている方はもう少し!待ってください!!(笑

2012-07-04

QuickTiGame2d 1.2: マルチタッチに対応しました!

Titanium Mobile で動作するゲームエンジンモジュール、QuickTiGame2d 1.2 を公開しました。今回はマルチタッチのサポート!

http://code.google.com/p/quicktigame2d/

Android でもマルチタッチが使えるようになりました!


今まで、Titanium Mobile でマルチタッチを扱おうと思ったら TiMultiTouch モジュールを使うしかありませんでした。TiMultiTouch モジュールは元々 @masuidrive さんが 2010 年に作った拡張モジュールですが、なんといまだに Titanium 本体ではマルチタッチが扱えないのです!元々 Titanium が得意としていた UI 分野にはマルチタッチが必要ないケースが多い(ジェスチャーで十分)だからだと思うのですが、ゲームエンジンにはマルチタッチサポートは必須だと思うので、自前で実装しました。

TiMultiTouch モジュールは非常に扱いやすいモジュールなのですが iOS 向けしか存在しなかったので、今回マルチタッチ機能を QuickTiGame2d 自体でサポートすることにしました。使い方は TiMultiTouch モジュールと非常に似ているので、すぐに分かると思います。

game.addEventListener('touchstart', function(e) {
  Ti.API.info(e.type + ": " + JSON.stringify(e.points));
  for (var pointName in e.points) {
    var x = e.points[pointName].x;
    var y = e.points[pointName].y;
  }
});

使っていればすぐに分かると思いますが、Android と iOS とではマルチタッチイベントが起きるタイミングが微妙に違います。新しく追加したマルチタッチのサンプルでは、イベントの種類によってスプライトの色を変えているので、Android と iOS の挙動の違いを色々試してみてください。

あと、Android についてはマルチタッチを有効にするとジェスチャーイベントが全て使えなくなるように作っています。これは、Titanium 本体側でジェスチャーイベントを処理する部分がマルチタッチイベントを邪魔してしまっていたためです。ちょうど先週に発表された Titanium Mobile 2.1.0.GA で追加されたコードがマルチタッチの邪魔をしているのですが(笑)、ちょっと残念ですが仕方がないですね。

スプライトの親子関係がパワーアップ!


スプライトには親子関係を設定できて、Transform 時に同期して動くようにできるのですが、今回のバージョンアップでどの値を同期させるか細かく設定できるようにしました。例えば、「位置は同期させたいけど回転は同期させたくない」とか、「親との距離を保ったまま移動し、回転軸は親の中心に設定したい」というような細かなニーズに対応できるようになりました。

複雑な Transform を指定した親子関係のサンプルがあるので、参考にしてください。

そのほか、細々としたパフォーマンスアップや不具合修正もいろいろあるので、以前のバージョンを使っている人はアップデートしてください!

http://code.google.com/p/quicktigame2d/

ソースを公開しています


QuickTiGame2d はバージョン 1.0 からオープンソースになりました。Titanium Mobile 上でゲームを作ろうとされている方はもちろん、カスタムモジュールを作ろうと思っている方も、是非参考にしてください。また、追加機能とか、バグとか発見したら是非パッチを送ってください!

https://github.com/infosia/quicktigame2dmodule

ということで、是非使ってみてください!

2012-06-20

色々、進めてます

ごぶさたしてます。

今、何にも発表できるようなものがないのですが、Titanium Mobile でゲーム開発をするための新しい API について、インディーゲーム開発だけではなくプロの皆さんにとっても使いやすい API を作って、本当に皆さんに喜んでもらえるものを作るために、色々と動いています。

実は、先週になりますが、サンフランシスコとサンノゼという所に行ってきました。ちょうど Apple の WWDC というイベントがあったのですが、それとは別件です。

f:id:infosia:20120620172042j:image:w360

↑入場はできなかったのですが一応覗いてきましたw

このゲームエンジンをさらに発展させるために、色々な人と話をしています。もう少し時間がかかると思いますが、何もやってないわけではないのでもう少々お待ちくださいっ...!!