dxtst
弹幕&三角函数基础
适配版本 (1.4.4ver) 本章我们将会继续学… 阅读更多 »弹幕&三角函数基础
向量基础
适配版本 (1.4.4ver) 向量(Vector… 阅读更多 »向量基础
教程编写注意事项
近期收到了不少裙友的编写教程的意愿,我非常开心有越来越多的人希望加入维护裙中世界这个MOD社区。在此,我也对编写教程的各位提出一点小要求,以此来确保裙中世界教程的高质量和整体风格的统一性。满足这些要求的投稿才会通过审核哦。
如果对此有疑问,欢迎找我咨询。如果对其他教程有修改或者更新建议也欢迎进行重写。
阅读更多 »教程编写注意事项联机同步(一)基本概念
之前写弹幕AI的时候我们提到了神奇的AI数组,我曾经说过是因为它能更好的进行变量存储和联机同步。具体来说就是,AI数组的内容会在需要同步的时候与服务器端、客户端进行同步,确保在两个终端里面AI数组的值都一致。同时,TR内部也会同步弹幕的位置,速度等基础属性。在自动机的AI模式下,如果AI数组里面的值一致,我们就可以认为这个物体它在行为上基本是一致的。但是只同步ai值就足够吗?事情远没有那么简单。
根据NPC行为的不同,我们很可能需要用不同的手段去进行联机同步。此外,为了妥协正确性和流畅性,我们经常要进行取舍。而本系列教程将会讨论如何正确的进行联机同步,包括基础概念、游戏机制和实现方案。由于内容较多,本系列教程会分为很多个章节。本章我会介绍联机同步的基本概念以及背后的原理,同时还会介绍一部分TML提供的联机同步API。提醒一下,联机同步的代码其实不是很容易debug,因为你需要一个客户端和一个服务器端同时运行代码,错会出在哪一个终端上不好判断。而且有些时候甚至需要不止一个客户端来观察行为,所以这部分代码编写的时候难度是比较大的,需要仔细思考以及对原版联机模式的深入理解。
本章还是使用1.3的TML而不是1.4,如有差异请麻烦告知一下(懒)。
阅读更多 »联机同步(一)基本概念整数和浮点数的表示
本篇教程不像个教程,更像是随手写的博客文章。不过目的都是一样的,就是向你们科普一些计算机领域的知识。至于它如何被应用到泰拉瑞亚里,很难说,不过了解它有助于以后的代码编写。
阅读更多 »整数和浮点数的表示游戏AI运动指南
前置知识:向量,三角函数,线性代数 如果你处于1.… 阅读更多 »游戏AI运动指南
魔改进阶——Mod联动
主流方法
我们说几个Mod之间有联动,一般是指Mod之间可以互相引用对方的内容。要实现这个功能,我们一般可以通过:
- 强弱引用/依赖:也就是在build.txt中标记依赖哪些Mod,然后通过引用这些Mod的程序集来修改内容。这种方法可以享受到代码高亮以及自动补全,是比较推荐的做法。
- 反射:利用.Net提供的反射方法去动态获取需要修改的属性,好处是比较自由,而且能访问第一种方法无法访问的一些属性。坏处就是代码量大,而且性能差,可读性差。
- Call接口:有些Mod会显式提供Call接口给其他Mod传参数,具体用法要看各个Mod的实现(比如BossChecklist)。优点是基本不会受到版本更新的影响,缺点是局限性大,没法自由的更改。
当然,也可以把几种方法结合起来,但是无论你用的是哪种方法,一定要先获取目标Mod的源码,你才能知道具体有哪些属性是你需要修改的。此外,在进行Mod联动的时候,一定要知道对方的Mod有没有被加载,如果没有加载那么你进行的操作其实是无效的,而且还会报错。
阅读更多 »魔改进阶——Mod联动Shader简介
前置知识:向量,三角函数,线性代数
题目名叫Shader简介,其实这也只是个简介而已,对于Shader在TR以外的用途我仍然知之甚少。所以本次教程我会教一下着色器在TR的基本使用方法,遗憾的是,由于XNA这方面的资料不全,所以可能会出现一些疏漏,请大家帮助指出。
阅读更多 »Shader简介生成树研究
问题简述 这篇文章会讨论一下利用递归实现树状结构的… 阅读更多 »生成树研究