文档:https://github.com/DURUII/Homework-Django-ACAPP/blob/master/main.pdf
本项目旨在实现一个在线 2D 对战游戏,提供人机模式和联机模式,支持玩家移动、释放技能、聊天等操作,通过击败其他玩家获得胜利。
- 后端:Django 3.2.8、Python 3.8.10、SQLite 3.31.1、Redis 4.5.1、Django-Redis 5.2.0、Channels-Redis 3.4.1
- 前端:HTML5、CSS3、JavaScript、JQuery
- 其他:Thrift、Ajax、OAuth 2.0、Linux Shell、tmux
- 游戏引擎开发:实现逐帧重绘渲染,确保游戏流畅运行。
- 联机对战实时性:使用 WebSockets 协议建立双向连接,实现客户端和服务器之间实时数据同步。
- 房间匹配机制:设计合理的匹配算法,确保玩家能够快速匹配到合适的对手。
- 技能冷却与击中判定:精确控制技能冷却时间,实现准确的击中判定逻辑。
- 游戏引擎:开发了简易的游戏引擎,支持逐帧重绘渲染,确保游戏画面流畅。
- 联机对战:使用 WebSockets 协议实现客户端和服务器之间的双向实时通信,支持多人在线对战。
- 房间匹配:使用 Thrift 开发了房间匹配系统,根据玩家分数和等待时间进行匹配,确保匹配的公平性和效率。
- 技能系统:实现了技能冷却时间和击中判定逻辑,提升了游戏的策略性和趣味性。
- 第三方登录:集成了 OAuth 2.0 授权协议,支持第三方免密授权登录,提升了用户体验。
- 部署优化:在云服务器环境下开发应用,并使用 Nginx 部署至云端,使他人可以通过域名访问。
注:本README文件由Kimi阅读课程设计文档后总结。