# game_un **Repository Path**: yata818/game_un ## Basic Information - **Project Name**: game_un - **Description**: 基于pygame的2d多人生存游戏。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-08-02 - **Last Updated**: 2024-08-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 《Game UN》策划书 ## 1.游戏基本玩法阐述 玩家在随机生成的无限制的地图上生存,击退怪物。 玩家需要解决基本的生理需求,同时探索地图获得资源,制作强力的武器,获得经验升级。 游戏背景为现代,丧尸病毒爆发同时异次元大门被打开,世界陷入混乱。 游戏为多人联机,并且只支持多人联机,目前不开源。 ## 2.游戏基本玩法逻辑业务分析 对于地图随机生成涉及部分算法,需要学习一下,同时对于无限制地图的服务器交互数据问题也需要仔细考虑。 玩家的各项数据需要结构良好的储存方式,可能MySQL是首选,同时对于网络框架为socket,不打算采用其他开源框架,从头造轮子。 对于客户端和服务器的交互采用**本地处理远程计算,LocalPorecssRemoteDataPorecess,LPRDP**模式。 同时需要对游戏逻辑进行强分类: Player:处理玩家相关内容。 World:处理游戏世界地图相关内容。 Data:处理数据交互和其他数据相关。 GamePrint:处理数据渲染游戏画面内容。 ### 2.1.LPRDP分析 LPRDP是我自己设想的服务器数据交互算法模式,可能没有较好的鲁棒性和抗压性,但是能实现基础的游戏联机即可。 该模式分为Server和Client同时使用Scoket作为网络框架。 Server进行数据处理和储存同时将数据进行广播使得所有Client的数据本地同步(服务器一定是同步的). ### 2.2 基本开发流程 明确开发流程。 完成客户端与服务器的数据交互。 ## 3.数据规范 数据封包进行规范 [用户名][数据类型][内容] 例如: henda233#player_move#up 即玩家henda233操控主角向上移动 可以将数据类型进行分类: data:数据交互,用于同步数据或者上传数据。 player_move:玩家操作。 ban:封禁。