Skip to content

🎮Django简易2D在线游戏:支持联机模式,通过移动、技能击败敌方,支持聊天室

License

Notifications You must be signed in to change notification settings

DURUII/Homework-Django-ACAPP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于 Django 的多人在线游戏系统

文档: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

任务难点:

  1. 游戏引擎开发:实现逐帧重绘渲染,确保游戏流畅运行。
  2. 联机对战实时性:使用 WebSockets 协议建立双向连接,实现客户端和服务器之间实时数据同步。
  3. 房间匹配机制:设计合理的匹配算法,确保玩家能够快速匹配到合适的对手。
  4. 技能冷却与击中判定:精确控制技能冷却时间,实现准确的击中判定逻辑。

技术亮点:

  1. 游戏引擎:开发了简易的游戏引擎,支持逐帧重绘渲染,确保游戏画面流畅。
  2. 联机对战:使用 WebSockets 协议实现客户端和服务器之间的双向实时通信,支持多人在线对战。
  3. 房间匹配:使用 Thrift 开发了房间匹配系统,根据玩家分数和等待时间进行匹配,确保匹配的公平性和效率。
  4. 技能系统:实现了技能冷却时间和击中判定逻辑,提升了游戏的策略性和趣味性。
  5. 第三方登录:集成了 OAuth 2.0 授权协议,支持第三方免密授权登录,提升了用户体验。
  6. 部署优化:在云服务器环境下开发应用,并使用 Nginx 部署至云端,使他人可以通过域名访问。

注:本README文件由Kimi阅读课程设计文档后总结。

About

🎮Django简易2D在线游戏:支持联机模式,通过移动、技能击败敌方,支持聊天室

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published