node.jsなんかでオンラインなゲームを作る(1) 準備編

author potpro(ぼとぷろ)
2015/03/18

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に登録するところまで出来ているのですが、とりあえずここまで。 気が向いたら書きます。