查看: 386|回复: 0

【从零开始】什么是MOD&创建一个MOD

[复制链接]
  • TA的每日心情
    开心
    2017-9-11 20:38
  • 签到天数: 22 天

    [LV.4]

    473

    积分

    363

    子弹

    35

    武士刀

    Lv.M 版主

    Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

    积分
    473
    QQ
    发表于 2017-8-25 20:38:42 | 显示全部楼层 |阅读模式
    看到Siu回坑十分感动,特此写出系列教程方便萌新开发MOD。PS:我貌似也是一个萌新&手残
    Part.0 什么是MOD
    首先我们要清楚一点:MOD和二次开发有着本质性的区别MOD是可以开发出来并由原版的服务器来访问的一个服务器,而二次开发呢是 客户端和服务器一一对应的。
    Part.1 如何创建一个MOD
    创建一个MOD存在两种方式,首先当游戏没有设置当前的默认游戏模式的时候我们可以参考我的这篇文章:
    http://www.teeworlds.cn/thread-167-1-1.html
    可以查看到sv_gametype的默认选项。

    然后我们必须要了解到服务器是怎样工作起来的:
    1、各种初始化
    2、创建GameController
    3、开始每一帧进行计算
    其实对于MOD我们要进行修改的也只有GameController的这一部分了。

    这一部分的内容的位置在\src\game\server\gamecontroller .cpp .h 中

    我们如果想要创建一个MOD,那么我们可以
    1、直接对上述文件进行修改 -> 生成一个只用于你的模式的服务器(不能使用dm/ctf)
    2、创建一个新的模式(通过重载函数),gamecontroller 在初始化的时候通过重载 \src\game\server\gamemodes\xxx.h .cpp 来进行一个重新定义游戏的目的。

    一般来说小型的MOD使用第二种开发模式已经足够了,但是涉及到较大型的开发如:AI。。等等那么仅仅重载是不够的,并且如果使用第二种方案还要考虑兼容性的问题,否则容易影响到dm和ctf。

    接下来的文章我们会简述一下第二种开发的方法,简单开发一个瞬杀的服务器。

    评分

    参与人数 1子弹 +32 贡献 +3 收起 理由
    Siu12321 + 32 + 3 好赞QUQ

    查看全部评分

    欢迎来到Teeworlds 中国社区!
    回复

    使用道具 举报

    游客
    请先登录
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    快速回复 返回顶部 返回列表