yoka韩旭吧 关注:9,059贴子:574,567

【重铸】重新梳理的三国杀——开源三国杀

只看楼主收藏回复

基于对三国杀游戏的认知,重新梳理三国杀游戏的规则,选择其中比较深层次的抽象进行一些定义。


IP属地:上海1楼2017-11-11 19:49回复
    开源三国杀标准规范
    1.基本框架
    核心架构:游戏代理,用户代理
    核心模型:回合、卡牌、牌堆与弃牌堆、卡牌区域
    核心系统:阵营系统,角色系统,技能系统
    核心流程:距离计算流程,体力变化结算流程,死亡结算流程
    ①游戏代理
    游戏代理是一切系统的核心,是一切流程的结算者,是一切事件的观察者和接受者。
    A.执行回合
    游戏开始时,游戏代理从一号位,逆时针开始执行回合。
    关于位次:根据实现模式分配位次,如身份局一般以主公身份为一号位次;1V1模式以先手为一号位次。
    B.流程结算
    按照下文提到的,满足某一条件后进入相应的流程结算,在流程结算中可能会触发其他条件插入其他结算,如:当A角色使用AOE时,B角色受到此AOE伤害,体力值-1,变为0,此时,在此AOE结算中插入濒死结算。
    上述结算由游戏代理执行,代理在满足某一结算条件时把需要的结算推入结算栈,结算总是从栈顶开始,至栈尾结束。每一个结算过程必须有明确唯一地进入条件与退出条件;一旦进入结算,必须提供任何情况下退出结算的方案。
    C.事件系统
    游戏代理在满足某一条件后,发射相应事件,在事件中,游戏代理必须提供必要的参数供事件代理获取,如“当一名角色受到伤害时”,游戏代理必须在发射的事件中描述伤害来源、目标角色、伤害点数、伤害属性等。
    用户代理是所有事件的监听者之一,除非某些事件规定了更好级别的权限。
    ②用户代理
    用户代理负责接收来自游戏代理的事件信息,响应游戏代理的要求并为用户提供交互。
    2.核心模型
    ①回合模型
    每名用户回合都包含相同的几个阶段,默认地,一个回合应该包含准备、判定、摸牌、出牌、弃牌、结束六个阶段;牌的效果或技能效果允许插入或跳过新的阶段,也允许新建一个不同的回合模型,包含不同的阶段。
    每个阶段都规定了默认行为,如摸牌阶段进行摸牌。一般地,在此阶段的默认行为结束后即进行下一个阶段,当一个阶段不包括任何默认行为时,什么也不做就结束了,但没有特殊规定,此阶段不能视为被跳过,如准备阶段。
    出牌阶段被视为一个特殊的阶段,它没有默认行为,但除非用户代理发送结束此阶段的消息,游戏代理将一直处在等待状态,直到用户代理做出响应。游戏代理必须检测此阶段空闲时间点可主动使用的牌并告知用户代理。
    游戏代理总是根据用户代理的数量和顺序构造一个回合栈,每一个回合属于一名指定的用户代理,然后依次执行出栈,当一个回合执行结束后便取出下一个回合执行,当回合栈中没有了回合,则视为一轮结束,如果游戏没有结束,进行下一轮,如此循环。角色的技能可以影响回合执行的顺序,例如角色“刘禅”的【放权】,即直接入栈一个新的回合来达到额外回合的效果。
    ②卡牌模型
    一张牌必须具备以下属性:
    牌类型(type)
    牌类(class)
    牌(instance)
    可用时机 [{
    默认目标
    目标可选范围
    目标可选数量
    目标角色须响应
    使用者须响应
    是否须重复响应
    响应与未响应者结算
    结算完成回收
    结算效果
    装备区距离
    装备区效果
    判定区效果
    判定区结算完成回收
    },…
    ]
    3.角色技能
    ①技能规范
    - 所有技能都必须有一个明确的触发时机,或隐含一个明确的触发时机。如【武圣】,虽然没有指定明确时机,但使用或打出“杀”的时机是明确的。
    - 所有技能均需要避免循环发动,如初版【激将】,没有规范发动限制的条件下可能会出现无限激将的情况。
    - 1体力 = 2张未知的牌 = 1张武器牌;
    ②技能涉及范围
    - 转化牌,即将X张A牌当一张B牌使用。
    - 视为结算X牌,如夏侯渊跳过出牌阶段视为使用【杀】;“视为”结算必须有明确的目标,除非这张牌存在默认的目标,在没有明确说明时,目标选择不必遵循此牌选择目标的限制。如“你视为对该角色使用一张【杀】”。这里的“该角色”不必须处于攻击范围内。再如“你视为使用一张【南蛮入侵】”,因为【南蛮入侵】存在默认目标(场上出你以外所有存活的角色),不必明确描述。如你希望一张“视为”使用的牌按照默认的目标选择规则可以如此描述:“你视为对一名合理的目标使用一张基本牌。”。“视为使用”与“不能使用”并不冲突,因为不能使用的防止时机是此牌合理的使用时机,但“视为使用”不受这个时机的限制。
    - 距离计算的加成,如【马术】、【天义】等。
    - 造成伤害。不太推荐直接通过技能造成伤害的设计,可以改为“视为”使用一张可造成伤害的牌,如【离间】(视为使用“决斗”)。因为直接造成伤害往往会跳过游戏的核心——卡牌管理,当这类技能泛滥后,将影响游戏体验。
    - 防止伤害。
    - (某类的、某颜色的、某花色的)牌对你无效。
    - 不能被指定为目标。
    - 摸牌,弃牌,令X名角色摸牌,令X名角色弃牌。
    - 流失体力。
    - 将一张牌移出游戏。
    - 本回合内存在X效果。
    - 伤害转化,如改变伤害属性、点数、目标、来源等。
    - 获得技能,失去技能,如【化身】、【豹变】。
    - 改变自己的体力上限。但不推荐永久改变其他角色的体力上限,这将会造成一些不平衡。
    - 翻面。
    - 进行判定。
    - 要求使用一张你指定的牌。
    - 在一个判定生效前改变判定。
    - 发起、要求发起、被发起拼点。
    - 暗置一张牌,询问它的种类、颜色、花色、点数等。
    - 观看、展示、重新排列牌堆、弃牌堆,将牌堆的一张牌(在合理的时机)直接使用。
    - 请求其他角色替你使用、打出一张牌。
    - 为一张牌增加或减少使用的目标。
    - 改变一张牌指定的目标,将一张牌的使用者视为另一名角色。
    - 将X牌视为Y,可以是花色、牌别、点数等。
    - 改变角色势力、性别。
    - 跳过一名角色的回合(阶段),为一名角色增加一个额外的回合(阶段)。
    禁止的设计:
    - 改变场上座次。
    - 改变击杀奖惩规则。
    - 改变身份、阵营。
    - 移除场上的一个区域,可改为禁止使用某一类牌,禁止成为某一类牌的目标等达到类似的效果。
    - 把一种结算改为另一种结算。
    - 禁止失去X牌,禁止跳过阶段/回合。可以使用令X无效等类似的描述来达到类似的效果。
    设计的注意事项:
    - 发动时机。
    - 结算嵌套。
    - 与已有技能冲突。
    ———— 以上是规范节选。


    IP属地:上海2楼2017-11-11 20:18
    回复
      身份局


      IP属地:上海3楼2017-11-11 20:19
      收起回复
        身份局全卡牌与牌堆是这样的:



        IP属地:上海4楼2017-11-11 20:26
        回复
          @yoka韩旭 你可以看看吗?


          IP属地:上海5楼2017-11-11 20:59
          回复
            身份局规则修改:
            游戏人数 - 8人
            主公 1
            忠臣 2
            反贼 4
            内奸 1
            身份与选将规则
            1.游戏代理随机决定一名玩家的身份为主公,其亮出身份,为一号位,然后进行选将。
            2.游戏代理随机决定一名玩家的身份为内奸,其不亮出身份,其余角色不决定身份,然后其余所有角色随机分配位置,并进行选将。
            3.游戏从1号位至8号位每名玩家一个回合依次执行。
            4.玩家首轮游戏开始时,该玩家的回合开始前,若其没有分配身份,游戏代理为其随机分配身份。如该玩家之前两次位身份相同,该玩家不得获得与其身份相同的身份。
            5.除非内奸率先亮出身份,其余角色不得主动亮出身份。
            6.从第二轮开始,一名角色的回合开始前,如果其没有亮出身份,其可以选择主动亮出身份。


            IP属地:上海7楼2017-11-11 21:15
            回复
              天时系统
              这是一个可选的加入游戏的系统,若使用天时,如此加入游戏。
              游戏开始时混洗天时牌,每轮开始或有角色死亡时,从天时牌堆顶亮出一张牌,然后本轮执行这个效果。
              以下为【天时】牌,共32张牌:
              太平:
              【平安】5张
              无效果
              【凤翔】2张
              每名角色出牌阶段结束时,进行一次判定,若为♥回复一点体力。
              【丰收】2张
              一名角色的结束阶段开始时,摸一张牌。
              灾害:
              【闪电】2张
              每名角色的判定阶段执行一次判定,若为♠牌点数2-9,当前回合角色受到3点雷电伤害。
              【大雨】3张
              场上的火属性伤害一律视为普通属性伤害。
              【大风】3张
              一名角色受到火焰伤害时,其下次位角色受到一点火焰伤害。
              【大旱】2张
              雷电伤害无效,火焰伤害+1。
              【大雾】2张
              所有角色默认距离+1。
              【大雪】2张
              装备区牌除宝物外均无效,所有角色距离为1。
              【地震】2张
              所有角色手牌上限-1。
              【蝗灾】2张
              摸牌阶段默认摸牌数-1。
              【洪水】2张
              弃置场上未“铁索连环”状态角色装备区判定区牌,且对其使用装备与延时类锦囊均无效。
              【瘟疫】2张
              一名角色的判定阶段开始时,执行一次判定,若为♠牌,失去一点体力。
              天时系统参与游戏时,部分武将拥有影响或免疫天时的技能,称为武将拥有一种“天聪”。每一名武将至多只能拥有一个天聪。
              ★每一种天聪作为一个标记,游戏开始时,拥有天聪的武将获得其相应的标记。
              “天聪”与武将:
              【人神】
              回合开始前,跳过本回合,从天时牌堆里选择一张替换当前天时。
              拥有武将:
              管辂
              【天机】
              回合开始时,你可以弃2张红色手牌,观看天机牌堆顶两张未亮出的天机,以任意顺序把他们放在天机牌堆顶或牌堆底。
              拥有武将:
              诸葛亮,SP诸葛亮,于吉
              【改命】
              回合结束时,你可以失去一点体力并弃置一张红色手牌亮出三张天时牌并指定其中一个作为当前天时。
              拥有武将:
              司马懿,张角,左慈,SP司马懿,王蕃陈卓
              【魔王】
              锁定技,有角色死亡时,若当前天时为灾害,保持当前天时不再亮出新的天时。
              拥有武将:董卓,孙皓,袁术,木鹿大王
              【天命】
              锁定技,你的回合开始时,若你已受伤,你亮出一张新的天时牌,若为灾害,你受到一点雷电伤害;若为太平,你回复一点体力。
              拥有武将:郭嘉,SP曹操,吕蒙,庞统,SP庞统
              【祈愿】
              锁定技,新的一轮开始时,若当前天时为太平,保持当前天时不再亮出新的天时。
              拥有武将:甘夫人,黄月英,SP黄月英,诸葛果,敬哀张皇后,孙鲁育,步练师
              【风水】
              锁定技,免疫灾害的效果。
              拥有武将:田畴,虞翻,董奉,陆绩,吴国太
              【神医】
              锁定技,【瘟疫】效果对你均视为【凤翔】。
              拥有武将:华佗,张仲景
              【天理】
              锁定技,天时改变时,若为太平,立刻摸2张牌。
              拥有武将:曹操,张鲁,张温,秦宓,谯周
              【天顺】
              锁定技,天时改变时,立刻进行一次判定,若为红色,摸1张牌。
              拥有武将:刘备,周瑜,士燮,于吉
              【天佑】
              锁定技,你死亡时,将全部天时牌洗混并任意排列前5张。
              拥有武将:关羽,孙坚,孙策,吴太夫人


              IP属地:上海8楼2017-11-11 22:26
              收起回复
                默认武将包1 - 烽火狼烟
                “天下大势,合久必分,分久必合。东汉末年,自董卓乱政,汉室不祚,社稷将倾,群雄并起。”
                ①曹势力
                D1C01 曹操
                称号 - 乱世之奸雄
                势力:曹
                体力:4
                性别:男
                【技能】
                奸雄:每当你受到1点伤害,你可以立刻获得对你造成伤害的牌或摸一张牌。出牌阶段限一次,你对一名角色造成伤害时,可以重铸一张非锦囊牌。
                护驾:主公技,当你需要使用或打出一张【闪】时,你可以令所有曹势力角色按依次选择是否打出一张【闪】(视为由你使用或打出),直到有一名角色或没有任何角色决定如此做时为止。


                IP属地:上海9楼2017-11-11 22:28
                回复
                  D1C02 荀彧
                  称号:王佐之才
                  势力:曹
                  体力:3
                  性别:男
                  【技能】
                  驱虎:出牌阶段限一次,你可以与一名体力值不小于你的角色拼点,若你赢,视为该角色对其攻击范围内由你指定的另一名角色使用一张【杀】,否则视为其对你使用一张杀。
                  节命:每当你受到一点伤害,你可以令一名角色把手牌补至X张。(X为其体力上限且至多为5。)


                  IP属地:上海10楼2017-11-11 22:29
                  回复
                    D1C03 卞夫人
                    称号:武宣皇后
                    势力:曹
                    体力:3
                    性别:女
                    【技能】
                    识断:你的回合外,每当有延时类锦囊进入其他角色判定区或你受到其他角色的1点伤害时,你可以暗置一张手牌令该角色猜色,若猜对,其摸X张牌并翻面;否则你弃置场上的一张牌。(X为你已损失的体力值。)
                    持俭:其他角色弃牌阶段结束时,你可以将此阶段弃置的一种花色的至多两张牌收入你的手牌。


                    IP属地:上海11楼2017-11-11 22:34
                    回复
                      D1C04 程昱
                      称号:贲育奇士
                      势力:曹
                      体力:3
                      性别:男
                      【技能】
                      胆谋:出牌阶段开始时,你可以弃置一名其他角色至多X张手牌,X为你与其手牌数之差,出牌阶段结束时,该角色摸等量的牌。
                      断守:你的回合外,当你需要使用或打出一张【闪】时,你可以弃置所有手牌(至少一张),视为你使用或打出了一张【闪】。该回合结束时,你摸2张牌。


                      IP属地:上海12楼2017-11-11 22:37
                      回复
                        D1C05 夏侯惇
                        势力:曹
                        称号:魏氏勋佐
                        体力:4
                        性别:男
                        【技能】
                        刚烈:每当你受到一点伤害时,你可以进行一次判定,若为红色,你弃置伤害来源两张牌;若为黑色,你对伤害来源造成1点伤害。
                        愤勇:其他在你攻击范围内的角色即将受到“杀”造成的伤害时,你可以弃置该角色一张牌,若如此做,该角色防止此伤害,然后你受到同样点数的伤害。


                        IP属地:上海13楼2017-11-11 22:44
                        回复
                          D1C06 夏侯渊
                          势力:曹
                          称号:白地将军
                          体力:4
                          性别:男
                          【技能】
                          疾掣:你可以选择至多三项:1.跳过判定阶段和摸牌阶段;2.跳过出牌阶段;3.跳过弃牌阶段并翻面。你每选择一项,视为你使用一张无距离限制的【杀】。


                          IP属地:上海14楼2017-11-11 22:53
                          回复
                            D1C07 乐进
                            势力:曹
                            称号:先登督率
                            体力:4
                            性别:男
                            【技能】
                            骁果:出牌阶段开始时,你可以弃置一张基本牌,然后令一名角色选择一项:弃一张装备区里的牌,或受到你造成的1点伤害。


                            IP属地:上海15楼2017-11-11 23:00
                            回复
                              D1C08 李典 4
                              势力:曹
                              称号:义忘私隙
                              体力:4
                              性别:男
                              【技能】
                              恂恂:你可以跳过你的摸牌阶段,令一名其他角色执行一个额外的摸牌阶段,若如此做,在此阶段结束时,该角色须交给你两张牌。
                              谦功:当你杀死一名角色时,你可以指定一名其他角色,视为由该角色杀死。


                              IP属地:上海16楼2017-11-11 23:03
                              回复