使用Node Express SocketIO创建实时游戏

banq 14-11-23
              

https://github.com/benas/chesshub.io是一个开源多人Web实时(象棋)游戏项目,ChessHub的目标并不只提供一个功能齐全的web下棋应用程序,而是提供一个作为一个现代web应用程序使用上述技术的整合在一起的应用程序的例子。

除了象棋逻辑,下面有一组可重用的特点:
1. 应用程序结构和设置
2. 用户身份验证和注册过程(/ &登录/注册)
3. 实时多人游戏逻辑(见游戏逻辑部分)
4. RESTful API(/ API)
5. 实时监视仪表板(/监控)
6. “电视”页面播放任何实时内容(/电视)

尽管应用程序相关的国际象棋,很容易在保持/适应应用程序的结构不变情况下改变领域模型和应用程序逻辑。

它使用以下技术:

客户端:
1. HTML5 CSS 3, Twitter bootstrap 和字体组成好看的UI。
2.结合JQuery 的Javascript工具(Lodash, Moment.js, Messenger.js 和 Highcharts) 实现客户端逻辑
3.Socket.io 客户端使实时游戏成为可能。
4.Chess.js 和 Chessboard.js 是有关象棋包

后端:
1. Node.js web服务器
2.Express JS as Web framework
4.Passport JS 作为授权中间件
5. Socket.io服务端用于实时游戏。
6.Handlebars.js易于渲染HTML模板。
7.Mongo DB 与 Mongoose

游戏逻辑如下:



游戏界面如下: