格斗女皇吧 关注:2,935贴子:79,881
  • 8回复贴,共1

[FTG Engine]计划重启--完全架构脚本之上, 希望如此

只看楼主收藏回复

(很好,这次我将任务栏截下来了...)
点击放大,
第一张图中Len的站立姿势完全是由所示代码产生的,
包括影子(注意//shadow处)
第二张图通过实时修改"-s 2 2 2"的结果
这个脚本真的很强大...上万行的代码啊...


IP属地:美国1楼2009-03-12 15:59回复
    我在过去的7个月中走了两个极端,
    最开始是希望完全使用文件数据驱动整个游戏,像config一样,做某个特定的游戏还行,
    但是如果是做希望玩家能够自行更改逻辑,而不是只允许玩家更改数据的"引擎"的话,
    这样做灵活性太差,一旦希望加入新的特性和逻辑,特别是比较操作或分支结构,就相当麻烦,
    比如同样的1HIT,打在处于站姿的对手,对方会浮空, 打在处于跳跃的对手,对方会弹飞,
    或者,打在蹲姿的对手,会有伤害加成,
    我不希望这些是由我硬性规定的,而是玩家可以控制和改变的,尤其是AI


    IP属地:美国2楼2009-03-12 16:00
    回复
      2025-07-17 03:53:33
      广告
      所以就是另外一个极端,我决定编写一套脚本系统,
      以为以后我的程序构建一个更为强大和灵活的平台(并不只是眼前的工作),
      当时我的想法就是玩家完全使用脚本控制每一帧的角色数据,
      但问题又来了:
      这样会产生大量的指令,且许多代码是做相同的事而仅仅是所涉及的数据不同而已,
      同时,如果程序希望获取某个文件数据,就是不可能的(因为已经被隐藏于指令当中了),
      同时,如果希望批量修改数据,或者更改编程结构或数据格式,所涉及的修改是数以千计的,
      且如果出现Error,维护起来也很困难。


      IP属地:美国3楼2009-03-12 16:04
      回复
        最终(前几天)我找到了一个平衡点,
        重点是使用类似 Doom3 引擎中的 key - value 文件格式,
        通过这种方式,玩家可以完全自行定义自己的游戏所需要用到的数据名称,数值,甚至是格式,
        而不是由引擎预定义的,而具体怎么解释文件,则由玩家通过脚本系统丰富的编程指令和结构来编定
        ===============================================
        而且现在理论上所绘制的精灵数目完全不受限制,
        且可以使用自由使用各种仿射变换的组合,
        以及各种混合模式(影子就是一个好的例子)
        所以图像效果不用担心的说...


        IP属地:美国4楼2009-03-12 16:08
        回复
          大工程.....


          IP属地:广东5楼2009-03-12 16:52
          回复
            基本上,当N兄当初说到AI时,我就意识到是个大工程了,
            所以我一直回避脚本系统,而想只通过文件来控制人物动作,
            事实上,也的确很有效,我用了一个多月就实现了Len的绝大部分动作,但很显然,很难再进一步...
            现在,至少不用担心这个问题了...


            IP属地:美国6楼2009-03-12 17:00
            回复
              PS : 最近几个月都只是和电脑对面,和人几乎没怎么对过话,
              所以请见谅一下写这么多...


              IP属地:美国7楼2009-03-12 17:11
              回复
                没事没事~ 难得有搞技术创新的吧民, 写得再多也是欢迎的~


                IP属地:广东8楼2009-03-12 17:18
                回复
                  2025-07-17 03:47:33
                  广告
                  n兄捏捏~ ^_^
                  啊,大约这两天就可以将类继承以及虚函数等特性加入到脚本系统中(我已经绞尽脑汁了...)
                  这样就可以建立各个角色对象之间的层次和关系了


                  IP属地:美国9楼2009-03-18 17:33
                  回复