https://github.com/duruii/homework-django-acapp
🎮Django简易2D在线游戏:支持联机模式,通过移动、技能击败敌方,支持聊天室
https://github.com/duruii/homework-django-acapp
django game javascript oauth2
Last synced: 2 months ago
JSON representation
🎮Django简易2D在线游戏:支持联机模式,通过移动、技能击败敌方,支持聊天室
- Host: GitHub
- URL: https://github.com/duruii/homework-django-acapp
- Owner: DURUII
- License: mit
- Created: 2023-03-09T05:34:40.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2025-02-28T19:02:47.000Z (3 months ago)
- Last Synced: 2025-02-28T22:53:07.671Z (3 months ago)
- Topics: django, game, javascript, oauth2
- Language: JavaScript
- Homepage: https://app4986.acapp.acwing.com.cn
- Size: 8.67 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 基于 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阅读课程设计文档后总结。