Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

19
NODE.JS なら日曜プログラマーでも 簡単に通信対戦ゲームが作れる 竹内 佑介

description

 

Transcript of Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

Page 1: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

NODE.JSなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

竹内 佑介

Page 2: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

自己紹介

• 竹内 佑介です

• 趣味でゲームを作ってました

• クリック&クリエイト、RPGツクール

HSP、DXライブラリとかやってました

Page 3: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

中学生の頃はツクールや クリック&クリエイトやってました

• こいつらは使いやすいけど、変数とかサブルーチンの機能が弱くて大変だった

• じゃあ、プログラムを書こう

Page 4: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

という訳で入門書を読みましたが

• 入門本読むぞ

• えっ、ウインドウ作るだけで100行

• プログラムとか素人には無理

Page 5: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

そこに救世主が登場

その名もHSP

Page 6: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

HSPは僕の青春でした

• ウインドウ作るのが1 行だけ

• ボールがバウンドするアニメーションも20行くらいで書けちゃう

• しかも無料で使えて、けっこう軽い

Page 7: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

まあその後DXライブラリに鞍替え しますが……

• 当時のHSPにはグローバル変数しかなかった。ー>関数、クラス使いたいよ

• あと、HSPだと途端に敷居があがるものがありました、それは……

Page 8: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

通信対戦と3D

Page 9: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

C++で3D、通信にチャレンジしてみますが……

• 3DはDXライブラリで何とかなったけど、素材用意するのが死ぬ程大変

• ソケット通信プログラムもやってみたけど、初期化するだけで100行近くって

• こんなのツクラーに毛が生えた程度の人間が、趣味で出来ることを超えてますよ

Page 10: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

そこでNODE.JS+SOCKET.IO の出番です

Page 11: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

SOCKET.IOで簡単に 通信プログラムが書けます

• これだけでサーバ、クライアント間での通信プログラムが書けてます

Page 12: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

論より証拠ということで 通信対戦ゲームを作ってみました• ジャンケンゲームです

• http://janken-kaidouji85.herokuapp.com/

Page 13: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

かかった時間、行数とか

• 作成期間は2日間(土日で作りました)

• プロダクトコードの行数は500行くらいです

• socket.io、express、enchant.jsというオーソドックスな組み合わせで作られています

Page 14: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

作ってみた感想

• サーバから自分で書けるフリーダムさがいいですね

->Railsとかは予め決められた枠組みを自分で拡張

する感じ

->node.jsは自分で枠組みを作れる感じ

->こういうところがHSPとかに通じるものが あると思います。

• 堅実さよりもすぐに動かせる機能こそ、ツクラーの望むものです

Page 15: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

手軽さ故にはまったところもあります

• じゃんけんの手を定数にしてました

• が、クライアントと繋げるでスペルミスしてるのに気づきませんでした

• undefineでもイコールは通るので、テストコードにもひっかかりませんでした

• Javaならビルドエラーで一発で気づいたんだろうな

Page 16: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

じゃんけんゲームのソースについて

• 今日さらしたゲームのソースコードは、

githubに公開してます

https://github.com/kaidouji85/janken

Page 17: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

まとめ !

この短期間で通信対戦ゲームを 実装できる使いやすさ

Page 18: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

まったくNODE.JSは最高だぜ (ごめんなさい、これが言いたかっただけです)

Page 19: Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる

ご清聴ありがとうございました