potpro (ぽとぷろ)
Full-stuck engineer(Not Full-stack)
JS/PHP/Go/Docker/Nginxなど。技術または趣味寄りの発信ブログです。
全 85 記事node.jsなんかでオンラインなゲームを作る(1) 準備編
node.jsなんかでオンラインなゲームを作る(1) 準備編
現在作っているものの記録、その一。タイトルの通りです。 node.jsをいじるのが最近楽しいので、習得のためにも何か一つアプリでも作ります。 この記事は基本的に自分の単なる忘れないためのメモなので、あんまり参考にはならないかもしれないです。ふいんき程度です。
node.js使用モジュール
- サーバーサイドJavaScript環境node.js
- node.jsのフレームワークであるExpress
- Websocketを簡単に使用できるnode.jsモジュールsocket.io
- MongoDBのラッパーであるnode.jsモジュールMongoose
- テンプレートエンジンとして使用するejs
クライアント側で使用するjavascriptライブラリ
- javascriptで動作するゲームフレームワークであるenchant.js
- あと楽なのでjquery
これらを駆使することで全てjavascriptだけでサーバー-クライアントで動作するjavascriptゲームを作ることが出来ます。 使うのは全てjavascriptという点がすごいですね。新しい言語を習得する必要が無いよ!という形で。
どれもまだ新しいので日本語のドキュメントが無く、いろいろと苦労しつつやっていきます。 外部のアプリケーションとしてMongoDBを使用しています。 MongoDBのインストールについてはこの記事に書いてます。
導入編
ちなみに自分はWindows環境なので、使うのは大体Windowsです。
Linuxサーバーでテストするときはあるかもしれないですが、基本的にマルチプラットフォーム環境なので、同じモジュールを入れるだけで動きます。
node.jsはインストール&Pathを通さないといけませんが、Windows公式パッケージは自動的にPathを通してくれると思います。・・・たぶん。
node.jsを公式サイトからインストールします。
Windows版の場合、npm(node.jsパッケージ管理ソフト)も付属してくるようです。
インストール後は、Pathが通ってればコマンドプロンプトで動作するようになります。 node -v
v0.10.33
・・・なんか最新版は最近v0.12になったらしいですね。
v0.12はECMAScript6の機能が入っていろいろ変わってるようなので、まだ使用してません。 なのでバージョンは主にv0.10を使用します。 バージョン上がるの早すぎでついていけない。
そのあとは、npmでモジュールをインストール。 個別にインストールしてもいいのですが、あらかじめpackage.jsonを作ってインストールするのもいいです。 pqckage.jsonパッケージ管理設定ファイルのような、ここにあらかじめ使用する物を書いておくと、 ファイル内でnpm install
とコマンドを打つだけで必要なものを全部取得してきます。 RubyのBundler(Gemfile)とだいたい同じ役割。
{
"name": "test",
"version": "0.0.0",
"private": true,
"dependencies": {
"express": "3.5.2",
"ejs": "\*",
"socket.io": "\*",
"mongoose":"\*"
}
}
こんな感じで・・・ 見てわかるようにモジュールのバージョン管理、あとlicenseやURLなんかも記載できるらしいです。 なんで大体Githubで公開されているnode.js製のアプリケーションなんかはここ見ると大体どういうの使えばいいか、どういうライセンスなのかわかります。 モジュールは全部そのまま直下のnode_modulesディレクトリに入ります。 node.jsのモジュールはローカルにインストールできるのがいい点だと思います。 どうにもうまくいかなくなったらファイルごと消せばいいですし。 書いている時点で、socket.ioの正常動作・MongoDBに登録するところまで出来ているのですが、とりあえずここまで。 気が向いたら書きます。