简单的说

Roguelike 是 RPG(角色扮演游戏)的一个分支,也是最重要的一个分支。这个名字源于 1980 年发布的著名电子游戏《Rogue》。按字面上理解,Roguelike 就是指「玩法上类似于《Rogue》的一类游戏」。

那么怎样才能界定一个游戏是否「类似于《Rogue》」呢?曾经这里有一个很官方的定义,在 2008 年国际 Roguelike 开发大会上,(别问我啥时候有的这种会议,我也不知道。)提出了一系列 Roguelike 的定义,这些定义被称为「Berlin Interpretation(柏林准则)」:

  1. 随机生成的环境。
  2. 角色的永久死亡。
  3. 回合制操作。
  4. 统一的操作形式。
  5. 内容机制复杂。
  6. 角色提升与地图探索。

看的有些一头雾水?其实我也不打算再深入地去解释这里面每条都是什么意思了。因为其实这些定义在一定程度上已经被废除了。

早期的 Roguelike 游戏确实严格按照上述原则进行开发制作。诸如《Hack》、《NetHack》等几乎和《Rogue》在形式上如出一辙。后来的作品逐渐融入了一些新元素和想法,便有了《Dwarf Fortress(矮人要塞)》这种比较奇特、极端的作品。再后来这种形式融合的元素越来越多,也就诞生了诸如《CDDA(大灾变)》这类在玩法上已经「不太像」《Rogue》的作品,以及使用图形界面的《Elona》等日系 RPG 作品。

 大灾变

到了多年后的今天,我们见到了《以撒的结合》、《杀戮尖塔》、《死亡细胞》等等这类只是涉及有其中一小部分经典 Roguelike 元素的作品。虽然曾有人试图用「Roguelite」这个词来定义这类游戏,不过实际上就今天玩家们的定义,任何含有一定量 Roguelike 元素的作品大多都能被称作 Roguelike 游戏了。

再多说点

《Rogue》是个怎样的作品?

《Rogue》最早由迈克尔·托依和格伦·韦科曼于 1980 年左右在大学的 Unix 系统上编写制作,后来被移植到 DOS 系统。它开创性的使用过程随机生成地牢迷宫和道具,并因其难度颇高且具有高重复游玩的可能,曾在当时的大学校园内风靡。

《Rogue》使用 ASCII 字符作为画面输出,例如使用字母「Z」来代替僵尸怪物等。这也一度成为 Roguelike 游戏的标志。

《Rogue》开源后,成为了许多经典作品的创作基础,如《Hack》和《Moria》等。Roguelike 作品的演化对整个 RPG 游戏的发展有深远影响。

在 2009 年,《Rogue》被知名国际游戏杂志 PC World 评为「史上十个最伟大的 PC 游戏」之一。

[科普向] Roguelike游戏到底是什么?的更多相关文章

  1. 微信小程序 - 仿南湖微科普小程序游戏环节

    最近看到南湖微科普小程序游戏环节感觉还可以,于是模仿了下 <view class='current' animation="{{animation}}"> {{curr ...

  2. 【白话科普】CDN & 游戏加速器,两者是一个原理吗?

    说起加速,大家可能就会联想到"游戏加速"之类的场景,而说到现在流行的云服务加速,则离不开 CDN 这个词.那么 CDN 和游戏加速器是同一种东西么?从效果上看两者都是为了" ...

  3. Roguelike元素对游戏设计的影响

    Roguelike game自1980年以来,就占据着游戏市场中很大的份额,而现如今的很多游戏中,也加入了Roguelike元素来起到更好的效果.我们知道Roguelike game中有着一些看似任性 ...

  4. [转] [腾讯游戏学院] Roguelike到底是什么?

    如果你是一位资深游戏玩家,那么最近你肯定在哪里看到过 Roguelike 这个词.Roguelike 这个古老的游戏类型现在又变得很潮流,其中各种要素都在不断的被新游戏借鉴.作为一名就是比你有更多空余 ...

  5. 浴室随想——RogueLike随想

    好玩的RogueLike 0 不同的追求 1 从追求中寻找商机 2 更的直接方法 3 我的追求 4 我的方法 5 好玩的RogueLike RogueLike游戏很好玩,因为你永远不知道接下来会发生什 ...

  6. WP老杨解迷:如何营造让人花钱的游戏

    游戏是最好做也是最不好做的项目,游戏的好坏现在都是直接从数据来说话,Windows Phone的游戏应用同样不可能逃出这个行业准则,要说在市场里做的好,那就直接拿数据来说,几乎没人会去在乎游戏到底传达 ...

  7. html5游戏引擎phaser官方示例学习

    首发:个人博客,更新&纠错&回复 phaser官方示例学习进行中,把官方示例调整为简明的目录结构,学习过程中加了点中文注释,代码在这里. 目前把官方的完整游戏示例看了一大半, brea ...

  8. 负载均衡--大型在线系统实现的关键(上篇)(再谈QQ游戏百万人在线的技术实现)

    http://blog.csdn.net/sodme/article/details/393165 —————————————————————————————————————————————— 本文作 ...

  9. 类似于QQ游戏百万人同时在线的服务器架构实现

    http://blog.csdn.net/sodme/article/details/213995 —————————————————————————————————————————————————— ...

随机推荐

  1. 信号与系统实验序章0——MATLAB基础命令入门

    本次开启新的系列,关于用Matlab实现常见信号和函数的生成和变换. 同时如果没有MATLAB基础,那么可以跟着本文一步一步学习Matlab的相关操作,本文旨在记录在信号与系统课程中MATLAB的学习 ...

  2. mybatis入门详解

    一.mybatis-config.xml文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYP ...

  3. 内置函数---filter和map

    filter filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回 ...

  4. C# 基础知识系列- 3 集合数组

    简单的介绍一下集合,通俗来讲就是用来保管多个数据的方案.比如说我们是一个公司的仓库管理,公司有一堆货物需要管理,有同类的,有不同类的,总而言之就是很多.很乱.我们对照集合的概念对仓库进行管理的话,那么 ...

  5. [ICRA 2019]Multi-Task Template Matching for Object Detection, Segmentation and Pose Estimation Using Depth Images

    简介         本文作者提出新的框架(MTTM),使用模板匹配来完成多个任务,从深度图的模板上找到目标物体,通过比较模板特征图与场景特征图来预测分割mask和模板与检测物体之间的位姿变换.作者提 ...

  6. EFCore DbContext 报SqlException: Incorrect syntax near 'OFFSET'.

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSq ...

  7. shell脚本中的case条件语句介绍和使用案例

    #前言:这篇我们接着写shell的另外一个条件语句case,上篇讲解了if条件语句.case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,ca ...

  8. CNN更新换代!性能提升算力减半,还即插即用

    传统的卷积运算,要成为过去时了. Facebook和新加坡国立大学联手提出了新一代替代品:OctConv(Octave Convolution),效果惊艳,用起来还非常方便. OctConv就如同卷积 ...

  9. Node.js安装过程

    今天电脑的node用不了了,于是决定重新安装一下 一.安装Node.js 1.首先,可以直接去Node的官网寻找适合自己电脑系统的版本 官网地址:https://nodejs.org/en/downl ...

  10. JVM 常见参数配置

    -XX:+PrintGC  每次触发GC的时候打印相关日志 -XX:+PrintGCDetails 每次触发GC的时候更详细的相关日志 -XX:+UseSerialGC 串行回收 -Xms 堆初始值( ...