TwiPla - イベント告知・出欠管理サイト
この手のサイト、海外には結構ありますが、日本語のがあればいいなと思い作ってみました。
かなりシンプルな作りです。要望があれば改良していきます。
ATNDでいいじゃん、と言われそうですが、まぁ気軽に使ってもらえればと思っています。

普段Flashばかり使ってて、こういうサイト作るのは初めてなんだけど
なかなか面白いね。今回はCakePHPを使いました。

Union Platform を使って対戦ゲームを作りました。
下記いずれかで遊べます。
Facebook(ランキングあり)
Kongregate版
モゲラ版

mixiのカテゴリに掲載されてから公開しようかと思ってたけど
なかなか通らないんですよ。一度ならず二度までも!です。
そして却下されると10日も待たないと再申請できないという..

具体的な却下理由は説明はしてくれなくて個別の質問も受け付けてないので
参考までに私の却下理由を載せておくよ。


・デベロッパー登録情報が正確に入力されておりません。

→デベロッパー登録したのが数カ月前なので、何のことかすっかり忘れていたけど
登録した時の情報がいい加減すぎたようです。
でも登録内容を確認できるページが見当たらず、どこで更新するのか..
mixi Developer Centerにある「デベロッパー登録画面 」リンクをクリックして登録しなおせば更新されるようです。


・また、掲載されている広告に関しましてもmixiアプリ広告掲載ガイドラインに抵触しておりましたので、こちらも併せましてご確認下さい。

→「リンク先は別ウインドウにて展開してください」を見逃してました。
広告掲載位置の指定が厳しいので良く読んだと思ったのだけど
実際広告クリックしてみるまで気づかなかった..
そして Google AdSense は_selfリンク固定なのです!
PC版のmixiアプリでは Google AdSense 使えないってことだね。


・青少年保護の観点から、mixiに登録されているユーザー様のみ利用できる仕様に変更していただく必要がございます。
他サイト様(mixi登録ユーザー様以外の利用者がいる場合)との連動アプリで
チャット機能等コミュニケーションがとれる仕様ですと、年齢認証が不確実の
可能性が残るため上記の対応が掲載に必要となりますので、ご協力ください。

→これは意外だった、この詳細はガイドラインに載ってないと思う。
「青少年保護のために...18歳未満の利用を制限する場合があります。」という規定はあり、
今回のアプリはチャット機能があるので18禁指定になるだろうとは思ってた。
mixi以外とコミュニケーションできないなんて閉鎖的だなぁ。
mixiの年齢確認自体が適当なので、mixi内だけのコミュニケーションならOKって青少年保護になってなくない?

そんなわけで、審査に通らないことには載せてもらえないので
また10日後にチャレンジするよ!

Flashでリアルタイム通信するための Union Server をUnixにインストールする方法について。

僕はレンタルサーバ( DreamHost の Virtual Private Server )を借りてそこにインストールしました。

Unixコマンドのことは良く分かってないですが、とりあえず下記の手順でいけます。

▼インストール
sshでログインして下記コマンドを入力。
wget http://www.unionplatform.com/releases/union/union_1.0.0_alpha6.tar.gz
tar xzvf union_1.0.0_alpha6.tar.gz union
rm union_1.0.0_alpha6.tar.gz
cd union
chmod 775 *
やってることは、ダウンロードして、unionディレクトリに解凍して、不要になった圧縮ファイル削除して、unionディレクトリに移動して、パーミッションを変更です。

▼設定
union.xmlを開いて、管理パスワードを変更。
念のため<charset>UTF-8</charset>を追記。

▼起動
java -Dfile.encoding=UTF-8 -cp lib/union.jar:lib/stax-api-1.0.1.jar:lib/wstx-asl-3.2.6.jar net.user1.union.core.UnionMain start &
日本語を送受信する場合は、上記のように文字コードを指定する必要があります。

▼停止
「ps -x」でプロセス一覧を表示して
「kill プロセス番号」で停止させる。
管理ツール(UnionAdmin_1.0.0.84_Alpha6.swf)からログインして止めることもできます。

▼死活監視
サーバを起動し続けていると10日ぐらいで落ちることがあったので、
止まった時は自動で再起動するようにshellスクリプトを書きました。
#!/bin/sh
while true
do
    isAlive=`ps x | grep union | grep -v grep | wc -l`
    if [ $[isAlive] = 0 ]; then 
		java -Dfile.encoding=UTF-8 -cp lib/union.jar:lib/stax-api-1.0.1.jar:lib/wstx-asl-3.2.6.jar net.user1.union.core.UnionMain start &
    fi
    sleep 20
done
上記をobserve.shというファイル名で保存。 下記のコマンドでバックグラウンドモードで常駐します。
sh observe.sh &

Flashでリアルタイム通信するためのソリューションは色々あるけど、
Unionはかなり簡単にインストールできるし、機能も十分なのでおすすめ。
Let's enjoy Union Platform !

とても参考になるサイト:
fla.la » Union Platform
Reactor API 日本語リファレンス
テーマに基づいて48時間以内にゲームを移植する企画「むりげー」。
これまではただの飲み会でしたが、
2月7日に無茶なイベントを開催するそうです。

超むりげー

2月5日にテーマが発表されるので
Flashでゲーム作って参加すると面白いよ。

RTMPとBitmapData.draw

| コメント(0) | トラックバック(0)
RTMPストリーミングビデオをBitmapData.drawするには
ストリーミングサーバ側の設定で下記の設定をしないといけないわけですが
<AudioSampleAccess enabled="true" />

設定しているにもかかわらずエラーが出続けてdrawできない時がある。
10回接続して1回くらい起こる。
その時はonMetaDataイベントも受け取れていない。

よくわからないけどタイミングの問題らしく
"NetConnection.Connect.Success"が届いた直後にstream.play()するとダメみたい。
下記のような感じで0.1秒くらい待ってからplay()するとエラーが出なくなった。

var _video : Video = new Video(320, 240);
var _stream : NetStream;
var _connection:NetConnection = new NetConnection();

function connect(){
    _connection.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
    _connection.connect(rtmp_app);
}
function onNetStatus( event : NetStatusEvent ){
    switch(event.info.code){
        case "NetConnection.Connect.Success":
            _stream = new NetStream(_connection);
            _video.attachNetStream(_stream);
            var _timer:Timer = new Timer(100, 1);
            _timer.addEventListener(TimerEvent.TIMER, onTimer);
            _timer.start();
            break;
    }
}
function onTimer(e:TimerEvent){
    _stream.play(rtmp_file);
}

buffer時間と関係あるのかな。
ほとんど問題ないのに、特定のストリーミングflvだけ表示できなくて、なんでかな~と思ったらFLVPlaybackコンポーネントが古いせいでした。
たぶんCS3の頃のFLVPlaybackを使い回してたから。CS4付属のに変えたら解決。

FLVPlayback.VERSIONが"2.1.0.14"だとダメ、"2.1.0.19"ならOK。
具体的な原因はよくわかんない。

下記のJUV RTMP Researcherというプロキシを使うとRTMPパケットをモニタリングできる。
http://www.smaxe.com/product.jsf?id=juv-rtmp-researcher

Windows7をインストールしたんですが、ガジェット表示のためのサイドバー領域がなくなってるじゃないですか。
それだとウィンドウを最大化した時にウィンドウとガジェットが重なってしまう。

twigadgeやCPU meterを常に表示しておきたい僕としては、
ガジェットを前面にとかじゃなくて、Vistaみたいに最大化時に重ならないようにしたい!
ということで探したらよいソフトがありました。

MaxMaxというツールをインストールすると解決です。
こちらからダウンロードできます。

サイドバーってそんなに不人気だったの?
選択肢として残しておいてくれても良いのに。

Director Lingoの話。
サーバを変えたら、getNetText()、netTextReuslt()でテキストを取得できなくなった。
IEでは問題なくてFirefoxでのみ空の文字が返ってくる。
原因はWebサーバの設定でgzip圧縮転送が有効になっていたため。
圧縮されているとShockwaveで正しくデータを受け取れない。

この辺を参考に圧縮を無効にするとよい。
mod_deflate - Apache HTTP サーバ
mod_deflateによるコンテンツの圧縮転送
mod_deflate、zlib.output_compression、コンテンツをgzip圧縮して返す。

現時点で3000件以上投稿されています。
いろんな作品があって楽しいです。
特に上手な作品をピックアップしてみました。

作者別:
POKEMONさん

NAOSUKEさん

HEEさん

WEEPYMOONさん

TOADさん

景色、建物:

キャラクター:

ゲーム機、コンピュータ:

乗り物:

その他:

立体ブロックを使ってお絵描きできるサイト「Q-BLOCK」を公開しました。
ぜひ遊んでください。

メモリを大量に消費しちゃいます。動かない人は新しいPC買うと良いよ。
短期間でサクッと作れたので割と満足してます。
Papervisionのおかげ。

アーカイブ