世界、玩家登录、加入广播。

This commit is contained in:
janing
2025-12-14 22:36:05 +08:00
commit 4dc5fc6cca
34 changed files with 2965 additions and 0 deletions

View File

@@ -0,0 +1,98 @@
# 开发任务清单
## 项目概述
Roguelike 游戏服务端开发任务追踪
## 当前项目规划
### 1. 世界系统初始化 ✅
- [x] 服务器启动时初始化游戏世界
- [x] 世界配置参数
- 世界尺寸: 800x800
- 出生区域: 距离中心点 200 范围内
- [x] 世界数据结构设计
- 地图管理
- 坐标系统
### 2. 玩家系统 ✅
- [x] 玩家登录流程(统一接口)
- [x] 查找已有角色
- [x] 若无角色,服务端自动注册
- [x] 服务端自动创建角色
- [x] 服务端自动分配随机出生点(出生区域内)
- [x] 返回角色信息给客户端
- [x] 玩家数据结构
- [x] 角色ID
- [x] 位置坐标
- [x] 生命值(初始10点)
- [x] 出生点记录
### 3. 游戏机制
- [x] 移动系统 ✅
- [x] 移动指令协议
- [x] 位置验证
- [x] 位置同步广播
- [ ] 战斗系统
- [ ] 攻击指令协议
- [ ] 伤害计算
- [ ] 生命值管理
- [ ] 死亡判定
- [ ] 复活系统
- [ ] 死亡处理
- [ ] 出生点复活
- [ ] 生命值重置
### 4. 协议定义
- [x] PtlLogin - 登录协议(服务端自动处理注册和创角) ✅
- [x] PtlMove - 移动协议 ✅
- [x] MsgPlayerJoin - 玩家加入广播 ✅
- [x] MsgPlayerMove - 玩家移动广播 ✅
- [ ] PtlAttack - 攻击协议
- [ ] MsgPlayerDeath - 玩家死亡广播
- [ ] MsgPlayerRespawn - 玩家复活广播
- [ ] MsgPlayerAttack - 玩家攻击广播
## 开发进度
### 已完成
- [x] 项目初始化
- [x] 基础消息发送 (ApiSend.ts)
- [x] **世界系统初始化** (2025-12-14)
- [x] 世界配置文件 (world.config.ts)
- [x] 位置坐标模型 (Position.ts)
- [x] 世界数据模型 (World.ts)
- [x] 数学工具函数 (math.ts)
- [x] 世界管理器 (WorldManager.ts)
- [x] 服务器启动时初始化世界
- [x] **玩家系统** (2025-12-14)
- [x] 玩家数据模型 (Player.ts)
- [x] 玩家管理器 (PlayerManager.ts)
- [x] 登录协议定义 (PtlLogin.ts)
- [x] 登录API实现 (ApiLogin.ts)
- [x] 自动注册和创角流程
- [x] 出生点分配逻辑
- [x] 在线玩家管理
- [x] **移动系统** (2025-12-14)
- [x] 移动协议定义 (PtlMove.ts)
- [x] 移动广播协议 (MsgPlayerMove.ts)
- [x] 玩家加入广播协议 (MsgPlayerJoin.ts)
- [x] 广播工具函数 (broadcast.ts)
- [x] 移动API实现 (ApiMove.ts)
- [x] 位置验证和边界检查
- [x] 登录时广播玩家加入
### 进行中
- 等待下一阶段开发...
### 待办事项
- 按照上述规划顺序实施开发
## 技术栈
- TSRPC 框架
- TypeScript
- Node.js
## 备注
- 本文档由 AI 助手维护
- 更新日期: 2025-12-14
- 开发过程中会根据实际情况调整任务优先级和细节