博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
emacs 剪切板_将Emacs用作RPG仪表板的5种方法
阅读量:2526 次
发布时间:2019-05-11

本文共 4963 字,大约阅读时间需要 16 分钟。

emacs 剪切板

玩桌上型角色扮演游戏(RPG)有两种方法:您可以玩由游戏的发行者或独立作者撰写的冒险游戏,也可以玩自己制作的冒险游戏。 无论选择哪种方式,都可能需要做准备工作。 一个玩家(通常称为游戏管理员 )必须收集怪物或敌人的统计数据,战利品表和规则参考,而其他玩家则必须构建角色和分配(假装)装备。 没有什么可以消除复杂RPG中的准备工作,但是,如果您是用户,则可能会发现Emacs是一个很好的仪表板,可以使所有内容保持完整。

整理规则

不幸的是,许多RPG的数字版本都以PDF形式分发,因为这是RPG发行者发送给打印机的物理版本。 PDF擅长保留布局,但与理想的电子书格式相去甚远。 如果您播放以开放许可证发布的RPG,则通常可以获取其他格式的规则(例如HTML),从而获得更多控制和灵活性。 即使是世界上第一个也是最著名的RPG,Dungeons&Dragons也以数字格式免费下载提供其规则(许多网站已将其翻译为HTML和Markdown)。

我在Emacs中以Markdown的形式打开规则,以便可以随时使用可搜索的参考。 在PDF阅读器中以PDF格式打开规则时,您可以搜索嵌入的文本,而使用文本文件可带来许多好处。 首先,文本文件比PDF小得多,因此加载和搜索速度更快。 其次,文本文件易于编辑,因此,如果您找到一条规则来澄清您的问题,则可以将学习到的内容(或所组成的内容)直接添加到主文档中。 您还可以添加内部规则和其他资源。 我的目标是拥有一个包含我在运行的游戏中使用的所有规则和资源的文件,并且所有内容都可以快速按Ctrl + s (Emacs表示法中的Cs )。

管理计划

大多数RPG系统都具有一种确定战斗中比赛顺序的方法。 这通常被称为主动性 ,它起了很大作用,因为游戏中的冲突源通常涉及战斗或某种相反的竞争行为。 用铅笔和纸来追踪战斗并不难,但是在无论如何我都在使用数字资产的游戏中,我发现保持所有内容的数字化更加容易。 幸运的是,古老的提供了出色的解决方案。

当玩家主动出击时,我在Emacs的暂存缓冲区中输入他们的名字。 然后,我输入每个怪物或敌人,以及每个怪物的生命值或生命值(HP),然后输入两列0:

brad     
emily
zombie 22 0 0
zombie 22 0 0
flesh-golem 93 0 0

然后,我选择玩家角色(PC)和怪物块,并使用org-table-create-or-convert-from-region功能在其周围创建组织模式表。 使用Alt + Down箭头 (Emacs表示法中的M-down ),将每个PC或怪物移动到正确的主动顺序。

| emily       |    |   |   |     
| flesh-golem | 93 | 0 | 0 |
| zombie      | 22 | 0 | 0 |
| brad        |    |   |   |
| zombie      | 22 | 0 | 0 |

在战斗中,我只需要记录怪物的伤害,因为玩家可以管理自己的生命值。 对于我在战斗中控制的敌人,第二列是它的HP(起始编号来自RPG系统的规则),第三列是当前回合中造成的伤害。

在组织模式下的表公式在表末尾的特殊TBLFM行上定义。 如果您使用任何计算机化的电子表格进行处理, 将非常直观。 对于战斗跟踪,我希望从第二列减去第三列。 从左到右对列进行索引(第一个索引为$ 1 ,第二个索引为$ 2 ,第三个索引为$ 3 ),因此用$ 2和$ 3列的总和替换$ 2的内容,我将这行添加到桌子:

#+TBLFM: $2=vsum($2 - $3)

实际上,并不是每次游戏进入战斗模式时都将其输入Emacs。 相反,我使用Emacs的定义了自动触发器,该系统允许您输入所选的特殊字符串,Emacs会扩展为更复杂的字符串。 我在一个名为〜/ .emacs.d / abbrev_defs的文件中定义缩写,使用rpgi后跟一个空格作为Emacs的触发器,以将行更改为我的主动表公式:

(define-abbrev-table 'global-abbrev-table     
  '(
    ("rpgi" "#+TBLFM: $2=vsum($2 - $3)" nil 0)
   ))

玩家每次对怪物造成伤害时,我都会在伤害栏中输入伤害量。 要触发表重新计算,如果碰巧出现在公式行中,请按Ctrl + u Ctrl + c (即Emacs中的Cu Cc )或Ctrl + c Ctrl + c (即Cc Cc ):

| brad        |    |    |     
| emily       |    |    |
| zombie      | 12 | 10 |
| zombie      | 15 |  7 |
| flesh-golem | 91 |  2 |
#+TBLFM: $2=vsum($2 - $3)

这个系统并不完美。 字符名称不能包含任何空格,因为组织表会按空格将单元格拆分。 忘记处理一条线并在回合结束时意外地重新处理它是相对容易的。 要将HP加回到某个生物的总数中,必须使用负数。 (我认为这是负面损害,表明健康。)然后,许多计算机主动追踪器也会遇到相同的问题,因此这并不是一个特别糟糕的解决方案。 对我来说,这是我发现的更快的方法之一(我很高兴承认是最好的方法,但是当我不使用数字共享地图时,我会使用Emacs工作流程)。

在DocView中查看PDF

软件包可以提供帮助。 DocView是一种加载PDF数据并生成供您查看的PNG文件的模式(Emacs也可以查看JPEG文件)。 我发现大型PDF既麻烦又缓慢,但是,如果它是只有一两页的低分辨率PDF,则DocView是引用文档而无需离开Emacs的简便方法。

我仅将此模式用于地图,表格和列表。 对于无法进行搜索的任何内容,它都没有用,因为文本数据不可访问,但是对于只需要浏览一下的文档来说,这是一个非常有用的功能。

Emacs for RPG

大多数Linux发行版附带的套件(或者肯定在您的存储库中提供)允许您处理PDF,通过将图像的分辨率从打印质量降低到屏幕质量来大大简化PDF。 该命令主要包含PostScript命令和属性,但是您无需成为PostScript专家即可执行快速缩减功能:

$ gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 \     
-dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH \
-sOutputFile=adventure.pdf \
-dDownsampleColorImages=true \
-dColorImageResolution=72 big-adventure-module.pdf

在Emacs中打开PDF听起来并不那么令人兴奋。 它绝不是一流的PDF查看器,但是对于某些资源而言,它是一种将所有信息保持在一个屏幕上的便捷方法。

创建冒险说唱表

出版的冒险作品通常散文丰富。 从理论上讲,您已经为准备好的冒险活动支付了很多钱,因此您显然希望购买的价值。 我确实很重视作者在冒险中所投入的知识和世界建设,但是在游戏过程中,我希望快速参考一下游戏机制正常工作所需的信息。 换句话说,我不需要讲述为什么当流氓触发陷阱时将陷阱放置在地牢中的故事。 我只需要知道陷阱的存在以及流氓为了生存而需要滚动的范围。

我还没有找到任何一种现代冒险格式可以为我提供这些信息,因此我最终创建了自己的“说唱表”:冒险的最小轮廓,仅包含每个位置所需的游戏机制信息。 再一次,组织模式是使我方便获取此信息的最佳方法。

在组织模式下,您可以使用星号作为项目符号点来创建列表。 对于子项目,请添加星号。 更好的是,按Cc t (按Ctrl + c ,然后按t键),将该项目标记为TODO项目。 当您的玩家清除游戏中的某个区域时,再次按Cc t标记位置“ 完成”

* DONE 1 Entrance     
** Zombie
AC 9 | HP 22
* TODO 2 Necromancer's chambers
** Flesh golem
AC 16 | HP 93
** Treasure
- Gold ring (200 gp)
- Rusty nail (1 cp)
  Cursed (roll on curse table)
** Secret door (DC 20)
- to area 11

每个星号都是可折叠的,因此您可以通过将列表折叠到最顶层来获得全局区域的摘要:

* DONE 1 Entrance     
* TODO 2 Necromancer's chambers
* TODO 3 Wyrmling nursery
* TODO 4 Caretaker's chambers
* TODO 5 Caretaker's laboratory

另外一个好处是:我发现自己制作说唱表可以帮助我了解正在准备的冒险的机制和知识,因此这种方法的好处很多。 因为我管理着与Git一起在Emacs中进行的所有冒险活动,所以一旦我为冒险做准备工作,就可以拥有我所有资产的新副本,以防与另一个团队或一组新角色一起进行冒险活动。

制作自己的冒险日记

通常,我让我的玩家对冒险记下自己的笔记,因为我想鼓励玩家自己解释冒险中发生的事件。 但是,游戏主管需要私人笔记以保持所有即兴创作的数据井井有条。 例如,如果已发布的冒险活动没有铁匠铺,但玩家决定去拜访铁匠,那么此刻就需要发明铁匠。 如果玩家在六周后重新访问铁匠,那么他们希望它是同一位铁匠,这取决于游戏管理员来跟踪已发布设置中的此类添加。 我会根据可用的内容以两种不同的方式来管理有关冒险的个人笔记。

如果我的冒险文本具有可编辑的格式(例如HTML或Markdown),那么我会将自己的添加内容添加到冒险中,就好像发布者从一开始就将它们包括在内。 这意味着对于设置和重大事件始终有一个真理来源。

如果我无法获得冒险的可编辑副本,因为它是纸质副本或不容易修改的PDF,那么我可以在组织模式下将自己的补充内容写到我的说唱表中。 从功能上来说,这仍然是一个真实的来源,因为我的说唱表是我寻求信息的第一位,而在出版的文字上,我只保留了我忘记的细节。 有时候,我喜欢自己的添加物,足以将它们重新合并到我的Git大师中进行冒险,但是通常,我相信即兴创作,并让参与冒险的每个组动态地进行添加。

为什么Emacs是我最喜欢的RPG仪表板

我喜欢将Emacs用于RPG,因为它可以平视我的梦想。 “正确”的答案可能是一个不错的 ,但是在实现之前,我对Emacs感到满意。 一切都与专为特定性和速度而设计的键盘快捷键有关,并且有足够的简单自定义功能,使我可以找到足够好的解决方案-有时甚至当玩家彼此争论下一步该怎么做时。

我已经尝试过处理多个桌面,几个PDF阅读器窗口和一个用于计划的电子表格。 虽然这是一种很好的体验,但没有什么比我的RPG仪表板更适合Emacs的流畅性了。


嘿! 你爱埃马克斯吗? 有关如何使用Emacs(GNU或其他方式)以包含在我们即将推出的Emacs系列中的文章!

翻译自:

emacs 剪切板

转载地址:http://boczd.baihongyu.com/

你可能感兴趣的文章
小D课堂 - 新版本微服务springcloud+Docker教程_3-07 Eureka服务注册中心配置控制台问题处理...
查看>>
小马哥-Java 微服务实践 - Spring Boot 系列-01Java 微服务实践 - Spring Boot 系列(一)初体验...
查看>>
小马哥_汇总
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-01 常用的服务间调用方式讲解
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-02 微服务调用方式之ribbon实战 订单调用商品服务...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-03 高级篇幅之Ribbon负载均衡源码分析实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-06 Feign核心源码解读和服务调用方式ribbon和Feign选择...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-05 微服务调用方式之feign 实战 订单调用商品服务...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-02 Netflix开源组件断路器
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-01分布式核心知识之熔断、降级
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-04 feign结合hystrix断路器开发实战下...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-03 feign结合hystrix断路器开发实战上...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-01 微服务网关介绍和使用场景
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-05熔断降级服务异常报警通知
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-03 高级篇幅之zuul常用问题分析
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-08 断路器监控仪表参数
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-05 高级篇幅之高并发情况下
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-02 springcloud网关组件zuul
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-06 高级篇幅之深入源码
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-04 自定义Zuul过滤器实现登录
查看>>