オンラインゲームとか作ってみたい#1 node.js

なんかオンラインゲームつくりたいなと昔から思ってて(昔MMO廃人になってたときがあったり)、nodejsとunityできれば作れるんちゃうんと軽い気持ちでまずnodejsからやってみた。(jsて新しい会社来てからやるようになったけどなんでもできるんやなぁ)
がしかし簡単なチャットゲーム作るだけでも同期周りが大変。mmoやってたころはなんでこんなバグ出してメンテばっかりしてるんだ糞運営みたいに思ってたけど、確かにネットワークプログラミングってクライアント側もサーバ側もどっちも作業重いから難しい気がする。コルムオンラインの運営の方々ごめんなさい。

参考書はこれがいいっぽいから買った。
はじめてのNode.js -サーバーサイドJavaScriptでWebアプリを開発する-http://www.amazon.co.jp/dp/4797370904

node.jsできること
・v8エンジンがjsをネイティブ言語に変換してくれるので、jsでネイティブでできることができる。
・ファイル操作やhttpサーバーを立てたりできる。
・ファイル監視(更新されたかどうか)とかもできるので、Grunt.jsってjsなのになんで勝手にファイルまとめたりできんのって思ってたけどその機能を使ってるぽい
・socket.ioというモジュールを使う事で双方向な通信を簡単にできる。

デメリット
・一つ一つ処理をしていくのでCPUを使う様な処理が入ると全体のパフォーマンスが下がる
・コールバック地獄
・バージョンアップしまくっててドキュメントがすぐ過去になる、安定してないとこもある
・なんか文法エラーがあるとサーバー全体がとまる(小さなミスがクリティカルな問題に)

以下雑なメモ
» 続きを読む

AIRでどのIPから来てもUDP受信

AdobeAIRでUDP受信する時にどのIPから来ても受信出来るようにするには

datagramSocket.bindの第2引数を”0.0.0.0″にすると(省略すると)できる
datagramSocket.bind( 12345/*ポート番号*/ ,”0.0.0.0″);

参考 ≫ DatagramSocket reference bind()

FlashBuilderAIR書き出し時にWindowが出ない

FlashBuilderのFlexプロジェクトAIR書き出しで実行可能なアプリケーションファイルがasの時に、実行しても何も表示されない時は

stage.nativeWindow.activate()

を呼ばないとだめだよという所でハマったのでメモ。

openframeworksでshader

ofのofshaderで、グリッチかっこいいなと思って調べながらshaderプログラミングをやってみた。

» 続きを読む

Draw Visualizer

Draw Visualizer – wonderfl build flash online

音をグラフィックで表現する練習その4。
もうちょっと絵がはっきり見えるようにしたいんだけど、これ以上精度を上げると重いし、線細くするとスカスカになっちゃうし、写真サイズこれ以上小さくできないしでジレンマ。