zoukankan      html  css  js  c++  java
  • SLG游戏关卡设计

    业务调研

    1 关卡是游戏中非常重要的游戏内容。也是引导玩家游戏的主线。

    clip_image002

    类设计

    类图/数据结构

    clip_image004

    l HumanMisssionManager玩家身下绑定一个关卡任务管理器。记录玩家创建的场景、当前所属场景的Id、今天击败过的敌人Id。

    l MissionStageInstance为一个关卡地图的抽象实例。MissionStage为一个关卡的实例模板。

    l MissionStageEnenmyInstance为关卡中敌人的抽象。MissionEnemy为关卡中敌人的模板。

    l MissionStageState为存储了关卡的完成状态:

    n UNOPEN:未开启

    n OPNE:已开启,前置关卡通过

    n PASS:已通过,关底Boss击败

    n CLEAR:已全清,全部敌人击败

    n TERMINATE:已终结,全清并领取了奖励;

    实现逻辑

    玩家点击进行关卡地图,切换地图时效性发送。

    CGEnterMissionStage:目标关卡地图Id,来自地图关卡ID

    GCEnterMissionStage:这是一个复杂的数据结构。包含本场景的id名称、完成度等信息还包括前置、后续信息和当前关卡的敌人信息等内容。

    clip_image006

    该模块还涉及到的信令:

    l CG_Attack_enemy客户端请求攻击敌人

    l Cg_show_enemyRecord请求特定敌人的攻略记录

    l Gc_show_enemy_record请求特定敌人的攻略记录

    l Cg_get_mission_bonus 领取关卡过关奖励

    l Gc_get_mission_bonus领取关卡过关奖励

    l Cg_check_force_attack_price请求强攻价格

    l Gc_check_force_attack_price 请求强攻价格

    l Cg_force_attack_enemy 强攻敌人

    l Cg_show_mission_target_panel 显示关卡目标面板

    l Gc_show_mission_target_panel 显示关卡目标面板

    持久化逻辑

    l 战报存储

    数据库t_mission_enemy_info表格。存储了玩家对关卡敌人的完成情况(攻略)

    在MissionService中启动了一个定时事件,在该事件中每间隔一个小时去调用存储一次对某个敌人的战报。

    l 关卡完成度存储

    关卡的完成度存储是对应于数据库t_character_info类中的missionPack字段中。跟随玩家的存储策略进行一并存储。

  • 相关阅读:
    2020年下半年学习进度04
    2020年下半年学习进度03
    2020年下半年学习进度02
    2020年下半年学习进度01
    数据爬取
    个人课程总结
    Syncnavigator V8.6.2在线说明书
    SyncNavigator V8.6.2企业版下载链接
    Syncnavigator V8.6.2帮助文档(说明书)下载
    SQL Server 自动同步到 MySQL
  • 原文地址:https://www.cnblogs.com/xitang/p/2077405.html
Copyright © 2011-2022 走看看