这些VDT游戏也曾在早期的微型机上流行过。一方面由于早期的微型机没有图像显示功能或者功能很弱,另一方面是因为文字类游戏相对容易开发并且容易从书籍杂志上迁移过来。 最早期的一组游戏是众所周知的Trek家族,于1971年推出,玩家驾驶星舰与克林贡人和罗慕伦人以及其他敌人战斗。各个年龄段的Hacker们对此游戏应该都有深刻的印象。 关于Trek游戏的历史总结过于复杂。值得我们注意的是,它及其简陋的界面(甚至不是为VDT显示器而设计,而是为了电传打字机)掩盖了其背后相当复杂的战争游戏,包括积极策略、战术奇袭和严密逻辑。 还有另一组游戏采取了与dungeon-crawling不同的方式,它们更为直观。它们被统称为“roguelikes”,Rogue是这一系列中最早被开发的,那是1980年。它们支持地牢层面的俯瞰视角,玩家可以借此游走对抗怪物和寻找宝贝。 这个系列中最受欢迎的游戏是Hack(1984)和Nethack(1987)。Nethack是最早一批由开发团队借助互联网分布式协作完成的项目之一。在当时,这是一个非常新颖的工作方式,因此用这个想法给游戏冠名。 90年代中期以后,这些游戏逐渐淡出了我们的视野,但直到今天它们仍旧有少数的忠实粉丝。粉丝们任务原始的界面设计使得他们能更专注于情节和故事,留给他们了丰富的想象空间。 ASCll表 ASCII的全称是美国信息交换标准代码(American Standard Code for Information Interchange),是60年代发明的一套基于拉丁字母的电脑编码系统。不像其他早期的字符编码,ASCII一直沿用至今。它与Unicode前127个字符编码相同。如果你知道UTF-8编码,每个ASCII编码的文件也可以看作是UTF-8编码的。 下表是ASCII-1967,也就是今天仍然使用的版本。
它与最初的1963年版ASCII表略有不同。这张表没有包含波浪线和竖线,5E由尖号改为向上的箭头,5F由下划线改为向左的箭头。 如果你在90年代之后才接触计算机,那些控制字符就显得非常神秘,即0~31号字符。也许你知道NUL是C语言的字符串结束标志,还知道LF表示换行,HT表示水平制表,那么剩余的符号都代表什么呢? 其中,大多数的符号都是电传协议留下的遗产,一部分符号早就停用了,另一部分甚至都不为圈内人所知。只有极少数的符号还留存于目前的二进制协议中。 笔者列举了前32个符号的含义: NUL (Null) C语言中字符串结束的标识符。 SOH (Start of Heading) 标题开始标志,某些版本的Unix把它当做收件箱的消息分隔符。 STX (Start of Text), ETX (End of Text) 很少用于数据包和数据流的分隔符。ETX是Ctrl-C,在Unix系统中表示为中断字符,但这与ASCII表示的意义毫无关系,也许是从“Cancel”一词引申而来。 EOT (End of Transmission) 相当于Ctrl+D,Unix终端的传输结束标志。 ENQ (Enquiry) 在硬件串行终端的年代,如果计算机发送ENQ到终端,终端需要做出应答。虽然这种做法并不普遍,它至少给了计算机自动配置终端能力的办法。在更早的电传打字机年代,应答内容是基站ID而不是设备类型。在70年代,人们都记得ENQ在ascii表里的名字是WRU,意为“Who Are You?” ACK (Acknowledge) ENQ/ACK用于通信连接时的握手确认。当时,Hacker们在日常交流中用“ACK”来表示“I hear you”。 BEL (Bell) 让电传机的电铃发出提示声音。通常VDT设备也支持这个功能,但是现在的软件终端模拟器不一定支持。有些设备把它改为标题栏闪烁的提示。 BS (Backspace) 退格,即字面意思。曾经争议过键盘上的Backspace是否应该只支持退格功能,还是要兼顾退格和删除的功能。 HT (Horizontal tab) 水平制表符,如字面意思。曾经用作Unix的文本文件的分隔符。 LF (Line Feed) Unix文本换行符。终端将其解读为“向下滚动一行”。 VT (Vertical Tab) 垂直制表符。在终端打印输出的时代,这个符号可以让纸张向下滚动若干行。有些ANSI编码将VT定义为“向上滚动一行”。大家还记得这个符号的唯一原因是它在Unix系统中定义了空格字符,而在其他系统中早就销声匿迹。 FF (Form Feed) 换页键。许多VDT显示器将它定义为“清屏”的指令。软件终端模拟器有时也保留了这个习惯。 (责任编辑:本港台直播) |