关于游戏中的地牢或者迷宫问题思路编程代码思路是怎样的?

血源诅咒圣杯地牢迷宫代码有什么用 迷宫代码怎么用_百度知道
血源诅咒圣杯地牢迷宫代码有什么用 迷宫代码怎么用
我有更好的答案
不用通关就能开击败旧雅南的渴血兽、噩梦边境的亚弥达拉以及教会上层的宇宙之女就能分别获得3只金杯基础献祭材料在流程以及商店中可以获得其他金杯以及材料则在初始的这3个杯开启的迷宫中获得
其他类似问题
为您推荐:
圣杯的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁头像纯属意外╰( ̄▽ ̄)╭
1、深度1到三仪式伊兹
2、Lower Loran, Defiled, Ihyll
视频地址复制
Flash地址复制
Html地址复制
离线看更方便
用或其他应用扫描二维码
转载youtube Bloodborne- Chalice speedrun to Cursed Rotted Foetid Isz 如何能最快开三仪式伊兹迷宫
/watch?v=uMkznHPuGY4
开诅咒条件
1.主金杯苏美鲁打至能开半血的玷污金杯,
2.【始源金杯~深度5】金杯 (深度5最容易的是标准金杯伊兹打三只Boss only
3. 有罗伦城死胎。
广播电视节目制作经营许可证:(沪)字第1248号
网络文化经营许可证:沪网文[6号
信息网络传播视听节目许可证:0910417
互联网ICP备案:沪ICP备号-3
沪ICP证:沪B2-
违法不良信息举报邮箱:
违法不良信息举报电话: 转 3C++实现随机生成迷宫地牢
投稿:hebedich
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了C++实现随机生成迷宫地牢的相关资料及代码分享,推荐给大家,有需要的小伙伴可以参考下。
可以用这个地图核心做成一个无限迷宫类的游戏
// Author: FreeKnight
#include "stdafx.h"
#include &iostream&
#include &string&
#include &random&
#include &cassert&
简单逻辑流程描述:
将整个地图填满土
在地图中间挖一个房间出来
选中某一房间(如果有多个的话)的墙壁
确定要修建某种新元素
查看从选中的墙延伸出去是否有足够的空间承载新的元素
如果有的话继续,不然就返回第 3 步
从选中的墙处增加新的元素
返回第 3 步,直到地牢建设完成
在地图的随机点上安排上楼和下楼的楼梯
最后,放进去怪兽和物品
//-------------------------------------------------------------------------------
// 暂时支持的最大的地图块个数
#define MAX_TILES_NUM
// 房间的大小
#define MAX_ROOM_WIDTH
#define MAX_ROOM_HEIGHT 8
#define MIN_ROOM_WIDTH
#define MIN_ROOM_HEIGHT 4
// 房间和走廊的合计最大个数
#define DEFAULT_FEATURE_NUM 1000
// 尝试生成房间和走廊的测试次数(即步长)
#define MAX_TRY_TIMES
// 默认创建房间的概率(100-该值则为创建走廊的概率)
#define DEFAULT_CREATE_ROOM_CHANCE
// 走廊长度
#define MIN_CORRIDOR_LEN
#define MAX_CORRIDOR_LEN
//-------------------------------------------------------------------------------
enum class Tile
Unused, // 没用的格子(土块)
DirtFloor,
// 房间地板
DownStairs // 出口
//-------------------------------------------------------------------------------
enum class Direction
//-------------------------------------------------------------------------------
xSize(0), ySize(0),
data() { }
// 构造函数,全屏填土
Map(int x, int y, Tile value = Tile::Unused):
xSize(x), ySize(y),
data(x * y, value) { }
// 填充某块类型
void SetCell(int x, int y, Tile celltype)
assert(IsXInBounds(x));
assert(IsYInBounds(y));
data[x + xSize * y] =
// 获取某块类型
Tile GetCell(int x, int y) const
assert(IsXInBounds(x));
assert(IsYInBounds(y));
return data[x + xSize * y];
// 设置一块区域为指定类型块
void SetCells(int xStart, int yStart, int xEnd, int yEnd, Tile cellType)
assert(IsXInBounds(xStart) && IsXInBounds(xEnd));
assert(IsYInBounds(yStart) && IsYInBounds(yEnd));
assert(xStart &= xEnd);
assert(yStart &= yEnd);
for (auto y = yS y != yEnd + 1; ++y)
for (auto x = xS x != xEnd + 1; ++x)
SetCell(x, y, cellType);
// 判断一块是否在有效范围内
bool IsXInBounds(int x) const
return x &= 0 && x & xS
// 判断一块是否在有效范围内
bool IsYInBounds(int y) const
return y &= 0 && y & yS
// 判断一个区域是否已被使用过
bool IsAreaUnused(int xStart, int yStart, int xEnd, int yEnd)
assert(IsXInBounds(xStart) && IsXInBounds(xEnd));
assert(IsYInBounds(yStart) && IsYInBounds(yEnd));
assert(xStart &= xEnd);
assert(yStart &= yEnd);
for (auto y = yS y != yEnd + 1; ++y)
for (auto x = xS x != xEnd + 1; ++x)
if (GetCell(x, y) != Tile::Unused)
// 判断一个地图块周围是否临接某种地图块
bool IsAdjacent(int x, int y, Tile tile)
assert(IsXInBounds(x - 1) && IsXInBounds(x + 1));
assert(IsYInBounds(y - 1) && IsYInBounds(y + 1));
return (GetCell(x - 1, y) == tile || GetCell(x + 1, y) == tile ||
GetCell(x, y - 1) == tile || GetCell(x, y + 1) == tile);
// 输出地图
void Print() const
for (auto y = 0; y != yS y++)
for (auto x = 0; x != xS x++)
switch(GetCell(x, y))
case Tile::Unused:
std::cout && " ";
case Tile::DirtWall:
std::cout && "#";
case Tile::DirtFloor:
std::cout && "_";
case Tile::Corridor:
std::cout && ".";
case Tile::Door:
std::cout && "+";
case Tile::UpStairs:
std::cout && "&";
case Tile::DownStairs:
std::cout && "&";
std::cout && std::
std::cout && std::
// 地图总宽高
int xSize, yS
// 全部地图块数据
std::vector&Tile&
//-------------------------------------------------------------------------------
class DungeonGenerator
// 随机数种子
int m_nXSize, m_nYS // 地图最大宽高
int m_nMaxF // 房间和走廊的最大个数
int m_nChanceR
// 创建房间的概率【0,100】
int m_nChanceC
// 创建走廊的概率【0,100】 该概率+创建房间的概率应当 = 100
typedef std::mt19937 RngT;
DungeonGenerator( int XSize, int YSize ):
m_nSeed(std::random_device()()),
m_nXSize( XSize ), m_nYSize( YSize ),
m_nMaxFeatures( DEFAULT_FEATURE_NUM ),
m_nChanceRoom( DEFAULT_CREATE_ROOM_CHANCE )
m_nChanceCorridor = 100 - m_nChanceR
Map Generate()
assert( m_nMaxFeatures & 0 && m_nMaxFeatures &= DEFAULT_FEATURE_NUM);
assert( m_nXSize & 3 );
assert( m_nYSize & 3 );
auto rng = RngT(m_nSeed);
// step1: 满地图填土
auto map = Map(m_nXSize, m_nYSize, Tile::Unused);
MakeDungeon(map, rng);
// 获取随机int
int GetRandomInt(RngT& rng, int min, int max) const
return std::uniform_int_distribution&int&(min, max)(rng);
// 获取随机方向
Direction GetRandomDirection(RngT& rng) const
return Direction(std::uniform_int_distribution&int&( static_cast&int&(Direction::North), static_cast&int&(Direction::West) )(rng));
// 创建走廊
bool MakeCorridor(Map& map, RngT& rng, int x, int y, int maxLength, Direction direction) const
assert(x &= 0 && x & m_nXSize);
assert(y &= 0 && y & m_nYSize);
assert(maxLength & 0 && maxLength &= std::max(m_nXSize, m_nYSize));
// 设置走廊长度
auto length = GetRandomInt(rng, MIN_CORRIDOR_LEN, maxLength);
auto xStart =
auto yStart =
auto xEnd =
auto yEnd =
if (direction == Direction::North)
yStart = y -
else if (direction == Direction::East)
xEnd = x +
else if (direction == Direction::South)
yEnd = y +
else if (direction == Direction::West)
xStart = x -
// 检查整个走廊是否在地图内
if (!map.IsXInBounds(xStart) || !map.IsXInBounds(xEnd) || !map.IsYInBounds(yStart) || !map.IsYInBounds(yEnd))
// 检查走廊区域是否有被占用
if (!map.IsAreaUnused(xStart, yStart, xEnd, yEnd))
map.SetCells(xStart, yStart, xEnd, yEnd, Tile::Corridor);
// 创造房间
bool MakeRoom(Map& map, RngT& rng, int x, int y, int xMaxLength, int yMaxLength, Direction direction) const
assert( xMaxLength &= MIN_ROOM_WIDTH );
assert( yMaxLength &= MIN_ROOM_HEIGHT );
// 创建的房间最小是4 * 4,随机出房间大小
auto xLength = GetRandomInt(rng, MIN_ROOM_WIDTH, xMaxLength);
auto yLength = GetRandomInt(rng, MIN_ROOM_HEIGHT, yMaxLength);
auto xStart =
auto yStart =
auto xEnd =
auto yEnd =
// 根据房间朝向随机出房间起始和终结位置
if (direction == Direction::North)
yStart = y - yL
xStart = x - xLength / 2;
xEnd = x + (xLength + 1) / 2;
else if (direction == Direction::East)
yStart = y - yLength / 2;
yEnd = y + (yLength + 1) / 2;
xEnd = x + xL
else if (direction == Direction::South)
yEnd = y + yL
xStart = x - xLength / 2;
xEnd = x + (xLength + 1) / 2;
else if (direction == Direction::West)
yStart = y - yLength / 2;
yEnd = y + (yLength + 1) / 2;
xStart = x - xL
// 要保证生成的房间一定四个点都在地图中
if (!map.IsXInBounds(xStart) || !map.IsXInBounds(xEnd) || !map.IsYInBounds(yStart) || !map.IsYInBounds(yEnd))
// 要保证房间所占用土地未被其他地占用
if (!map.IsAreaUnused(xStart, yStart, xEnd, yEnd))
// 周围种墙
map.SetCells(xStart, yStart, xEnd, yEnd, Tile::DirtWall);
// 房间内铺地板
map.SetCells(xStart + 1, yStart + 1, xEnd - 1, yEnd - 1, Tile::DirtFloor);
// 创建一个房间或者走廊
bool MakeRoomOrCorridor(Map& map, RngT& rng, int x, int y, int xmod, int ymod, Direction direction) const
// 随机选择创建类型(房间或者走廊)
auto chance = GetRandomInt(rng, 0, 100);
if (chance &= m_nChanceRoom)
// 创建房间
if (MakeRoom(map, rng, x + xmod, y + ymod, MAX_ROOM_WIDTH, MAX_ROOM_HEIGHT, direction))
// 当前位置设置门
map.SetCell(x, y, Tile::Door);
// 删除门旁边的墙壁,改建为墙壁
map.SetCell(x + xmod, y + ymod, Tile::DirtFloor);
// 创建走廊
if (MakeCorridor(map, rng, x + xmod, y + ymod, MAX_CORRIDOR_LEN, direction))
// 当前位置设置门
map.SetCell(x, y, Tile::Door);
// 对全地图进行随机处理生成房间和走廊
bool MakeRandomFeature(Map& map, RngT& rng) const
for( auto tries = 0 ; tries != MAX_TRY_TIMES; ++tries)
// 获取一个有意义的地形格
int x = GetRandomInt(rng, 1, m_nXSize - 2);
int y = GetRandomInt(rng, 1, m_nYSize - 2);
// 获取一个随机墙壁 或者 走廊
if (map.GetCell(x, y) != Tile::DirtWall && map.GetCell(x, y) != Tile::Corridor)
// 保证该墙壁和走廊不临接门
if (map.IsAdjacent(x, y, Tile::Door))
// 找个临接墙壁或者走廊的格子 创建新房间或者走廊
if (map.GetCell(x, y+1) == Tile::DirtFloor || map.GetCell(x, y+1) == Tile::Corridor)
if (MakeRoomOrCorridor(map, rng, x, y, 0, -1, Direction::North))
else if (map.GetCell(x-1, y) == Tile::DirtFloor || map.GetCell(x-1, y) == Tile::Corridor)
if (MakeRoomOrCorridor(map, rng, x, y, 1, 0, Direction::East))
else if (map.GetCell(x, y-1) == Tile::DirtFloor || map.GetCell(x, y-1) == Tile::Corridor)
if (MakeRoomOrCorridor(map, rng, x, y, 0, 1, Direction::South))
else if (map.GetCell(x+1, y) == Tile::DirtFloor || map.GetCell(x+1, y) == Tile::Corridor)
if (MakeRoomOrCorridor(map, rng, x, y, -1, 0, Direction::West))
// 随机制作出入口
bool MakeRandomStairs(Map& map, RngT& rng, Tile tile) const
auto tries = 0;
auto maxTries = MAX_TILES_NUM;
for ( ; tries != maxT ++tries)
// 随机获取一个非边缘的点
int x = GetRandomInt(rng, 1, m_nXSize - 2);
int y = GetRandomInt(rng, 1, m_nYSize - 2);
// 如果周围没有地板并且没有走廊(通路)的话,直接放弃
if (!map.IsAdjacent(x, y, Tile::DirtFloor) && !map.IsAdjacent(x, y, Tile::Corridor))
// 周围不允许有门
if (map.IsAdjacent(x, y, Tile::Door))
map.SetCell(x, y, tile);
// 随机生成地牢
bool MakeDungeon(Map& map, RngT& rng) const
// step2 : 在正中间创建一个房间
MakeRoom(map, rng, m_nXSize / 2, m_nYSize / 2, MAX_ROOM_WIDTH, MAX_ROOM_HEIGHT, GetRandomDirection(rng));
for (auto features = 1; features != m_nMaxF ++features)
if (!MakeRandomFeature(map, rng))
std::cout && "生成地牢已满。(当前房间和走廊个数为: " && features && ")." && std::
// 创建随机入口点
if (!MakeRandomStairs(map, rng, Tile::UpStairs))
std::cout && "创建入口点失败!" && std::
// 创建随机出口点
if (!MakeRandomStairs(map, rng, Tile::DownStairs))
std::cout && "创建出口点失败!" && std::
#include &windows.h&
void ResetConsoleSize()
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
// 获取标准输出设备句柄
CONSOLE_SCREEN_BUFFER_INFO bI
// 窗口缓冲区信息
GetConsoleScreenBufferInfo(hOut, &bInfo );
COORD size = {};
SetConsoleScreenBufferSize(hOut,size); // 重新设置缓冲区大小
SMALL_RECT rc = {0,0, 0-1};
// 重置窗口位置和大小
SetConsoleWindowInfo(hOut,true ,&rc);
void FlushReadme()
std::cout&& "=================================" && std::
std::cout&& " & 表示入口 " && std::
std::cout&& " & 表示出口 " && std::
std::cout&& " _ 下划线表示地板 " && std::
std::cout&& " # 表示墙壁 " && std::
std::cout&& " . 点表示走廊 " && std::
std::cout&& " + 表示门 " && std::
std::cout&& "纯黑表示啥都没有,是障碍" && std::
std::cout&& "=================================" && std::
int main()
ResetConsoleSize();
FlushReadme();
DungeonGenerator* pGenerator = new DungeonGenerator( 150, 50 );
if( pGenerator == NULL )
return -1;
auto map = pGenerator-&Generate();
map.Print();
std::cin &&
以上所述就是本文的全部内容了,希望大家能够喜欢。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具当前位置:
→ 血源诅咒圣杯地牢迷宫代码有什么用 迷宫代码怎么用
血源诅咒圣杯地牢迷宫代码有什么用 迷宫代码怎么用
血源诅咒圣杯地牢迷宫代码有什么用 迷宫代码怎么用?最近网上涌现了很多血源诅咒圣杯地牢迷宫代码,基本上都是小伙伴们在打过圣杯地牢迷宫之后分享的,然而令人尴尬的是,很多玩家却不知道该怎么使用这些圣杯地牢迷宫代码,也不知道这些代码有什么用,所以今天小编专门来给大家讲解一下这两个问题。
血源诅咒圣杯地牢迷宫代码有什么用 迷宫代码怎么用?最近网上涌现了很多血源诅咒圣杯地牢迷宫代码,基本上都是小伙伴们在打过圣杯地牢迷宫之后分享的,然而令人尴尬的是,很多玩家却不知道该怎么使用这些圣杯地牢迷宫代码,也不知道这些代码有什么用,所以今天小编专门来给大家讲解一下这两个问题。 血源诅咒圣杯地牢迷宫代码有什么用:别人给出的代码,就是他已经打过的迷宫,只要你使用这些代码,就可以拿别人在迷宫里面拿到的东西,算是一种偷懒吧!血源诅咒圣杯地牢迷宫代码有怎么用:你进游戏的时候选择在线模式,在建立金杯的墓碑那里,就可以通过输入代码搜索到对方的迷宫,就可以进入里边搜刮财宝了备注:你必须是PS+付费会员才能使用代码功能。
读完这篇文章后,您心情如何?
类型: 射击游戏
大小: 2.88G
语言: 中文
游戏心得推荐
游戏心得排行榜
单机游戏排行榜
1 7.3类型: 模拟经营语言: 中文大小: 34.3M
2 7.7类型: 射击游戏语言: 中文大小: 414.2M
3 7.9类型: 即时战略语言: 中文大小: 1.08G
4 6.9类型: 动作冒险语言: 中文大小: 837.8M
5 7.7类型: 赛车游戏语言: 中文大小: 439.6M
6 7.6类型: 动作冒险语言: 中文大小: 58.40G
7 7.2类型: 休闲益智语言: 中文大小: 54.0M
8 7.9类型: 模拟经营语言: 中文大小: 199.7M
9 5.4类型: 桌面棋牌语言: 中文大小: 70.2M
10 7.3类型: 休闲益智语言: 中文大小: 91.1M
1 7.3类型: 模拟经营语言: 中文大小: 34.3M
2 7.2类型: 休闲益智语言: 中文大小: 54.0M
3 7.1类型: 休闲益智语言: 中文大小: 103.0M
4 7.9类型: 即时战略语言: 中文大小: 1.08G
5 7.7类型: 赛车游戏语言: 中文大小: 439.6M
6 7.6类型: 动作冒险语言: 中文大小: 58.40G
7 7.7类型: 射击游戏语言: 中文大小: 414.2M
8 7.4类型: 射击游戏语言: 英文大小: 45.4M
9 1.9类型: 策略游戏语言: 中文大小: 92.9M
10 5.4类型: 桌面棋牌语言: 中文大小: 70.2M
1 7.2类型: 休闲益智语言: 中文大小: 54.0M
2 7.3类型: 模拟经营语言: 中文大小: 34.3M
3 5.5类型: 动作冒险语言: 中文大小: 2.53G
4 5.1类型: 动作冒险语言: 中文大小: 1.03G
5 7.7类型: 赛车游戏语言: 中文大小: 439.6M
6 7.8类型: 射击游戏语言: 中文大小: 6.61G
7 8.5类型: 角色扮演语言: 繁体中文大小: 9.63G
8 7.1类型: 休闲益智语言: 中文大小: 45.3M
9 7.8类型: 动作冒险语言: 中文大小: 189.4M
10 3.3类型: 休闲益智语言: 中文大小: 44.4M
超多下载基地 当游网()
越当越快乐
版权所有 浙ICP备号为什么日式RPG游戏里会有那么多迷宫?
纯粹为了增加游戏时间吗?走迷宫的游戏性很强吗?是否有足够乐趣的玩法来代替走迷宫?
按投票排序
知乎初答,默默找了个没人答的题目来试水。欢迎讨论、批评以及打脸。-------------------------------------------------Short Version:1. 当然不是。2. 当然是。3. 如果你有本事的话。没本事还是老老实实做迷宫。举个栗子。FFXIII 几乎不走迷宫,恶评如潮,世人称其为“一本道”,极尽戏谑之意。于是,FFXV 就改成了“带有丰富内容的开放世界”。参考链接:[del]手游大厂:你。们。这。群。死。傲。娇。[/del]当然,FFXIII 的恶评并不是简单的因为删了迷宫,而是因为删了迷宫又无所弥补导致的游戏内容匮乏。那么,为何迷宫成为了日式 RPG 中的重要内容呢?很简单,因为它曾经就是 RPG 的半边天。迷宫是游戏内容,迷宫是游戏过程,迷宫是游戏性的保证;迷宫可以被替代,但迷宫在可预见的未来仍然会是 RPG 必不可少的一部分。-------------------------------------------------Long Version:要研究迷宫这一日式 RPG 要素,必须从它的起源讲起。为什么要从那么远开始讲?不想听历史课?好吧。迷宫这个东西,日语怎么说?迷路(めいろ)?迷宮(めいきゅう)?ラビリンス(Labyrinth)?是ダンジョン(Dungeon)。为什么会是它,懂历史的人都知道。RPG 诞生于美国,于日本,那也是舶来品。先回到 RPG 诞生之时,当时一款叫做《龙与地下城》的桌游在北美十分流行,流行到什么程度呢?我国十几年前曾经称电子游戏为“电子海洛因”,当年北美也把《龙与地下城》视作洪水猛兽。一些教育学家与专栏作者出来扮演几年前杨教授的角色,也掀起过反《龙与地下城》浪潮。参考链接:从名字上就能知道,这个游戏主要就是两个关键要素——地下城(Dungeons)代表着神秘危险的环境,也就是探索;龙(Dragons)代表着形形色色的怪物,也就是战斗。《龙与地下城》当然不只这个桌游本身,这个桌游只能说是 D&D 体系的一种“实现”,而这个体系中的优秀作品还有很多,比如大家熟悉的《龙枪编年史》系列,而美式魔幻 RPG 几乎就全都是 D&D 体系,想必是个玩家闭上眼就能想起三五个。1981 年,一款电子游戏横空出世,在 Apple II 上定义了电子游戏中的 RPG。世界三大 RPG 之一的《巫术》(Wizardry)系列首作,《巫术:狂王的试炼场》(Wizardry: Proving Grounds of the Mad Overload)以在当时看来属于 Stunning Graphic 的图形,忠实于《龙与地下城》的游戏设定与构架,完成度相当高的游戏设计征服了所有有钱买 Apple II 的玩家。这游戏长这个样子:(图片来源:英文维基百科)对了,我们谈的是迷宫,应该把迷宫拉出来遛遛:(图片来源:对了,我们谈的是迷宫,应该把迷宫拉出来遛遛:(图片来源:)是的,第一人称视角。是的,线框图。它的全部意义就是告诉你,前面和两边是不是障碍物。是的,第一人称视角。是的,线框图。它的全部意义就是告诉你,前面和两边是不是障碍物。我怎么知道在哪?!有个法术,使用一下,能告诉你你现在正前方的方向。不够?想要地图?对不起,没有地图,您自己画吧。怎么画?手绘啊亲。拿根笔,撕张纸去。画不出?正常。《巫术》的迷宫充满了不可视部分、旋转门、传送床等干扰玩家画地图的迷宫元素,加上各种落石、爆炸、尖刺地板等地图陷阱还有本身就难度极高回报相对很低的战斗,能把《巫术》啃下来,在今天看来,绝对是核心玩家中的核心玩家。投降了?想知道地图究竟长什么样?这是《巫术:狂王的试炼场》的迷宫第一层。是的,就是如今的游戏应该是新手教学的那层。(图片来源:,下同)等到了第七层,地图就变成了这样。看到中间的四个路口了么?其中一个过不去,另外两个是互相传送的传送点。然后你再看看传送点边上的小迷宫布局是多么惊人地相似。然后,我们来重温一下刚刚写过的《巫术》迷宫的设定:……有个法术看到中间的四个路口了么?其中一个过不去,另外两个是互相传送的传送点。然后你再看看传送点边上的小迷宫布局是多么惊人地相似。然后,我们来重温一下刚刚写过的《巫术》迷宫的设定:……有个法术告诉你你现在正前方的方向……没有地图……手绘……《巫术》的迷宫充满了不可视部分、旋转门、传送床……落石、爆炸、尖刺地板等……难度极高回报相对很低的战斗……你能体会到把这地图画出来是一种什么感受了么?附带一提,地图绘制者在大学学的是地理,做过职业的地图绘制员。也就因此,从本作开始,《巫术》就定下了著名的 Dungeon Crawler 的名号——此处的 Crawler 不只是形容每次只能挪动一个格子的慢节奏,更是体现了《巫术》本身的难度,对新手极度不友好,序盘开始敌人就动不动秒杀玩家角色,后世难以逾越的疯狂 debuff——掉等级,从创建角色到升级加点到开宝箱开门都需要掷色子看脸,动不动来个陷阱让玩家所有角色集体阵亡,复活需要一般玩家根本负担不起的海量金钱——这种种足以说明这个游戏的硬核程度,美国玩家对此的评论是,A game for real man。至于它的其他特色,就不在这里占行数了。但尤其值得一提的是它的职业系统,属性点和转职设定深深地影响了日后的日式 RPG。受《巫术》大成功的影响,大量的优秀 RPG 在 Apple II 这个平台涌现出来。世界三大 RPG 中的另外一作《魔法门》(Might & Magic),与来自大厂 Atari 的后来者《地下城大师》(Dungeon Master)就是其中的代表作。它们吸收了不少《巫术》中的优点,改掉了一些缺陷,但无一例外继承了巫术作为 Dungeon Crawler 的基本游戏设计。其中最主要的,当然是 Dungeon,迷宫。在《巫术》发表一年之后,太平洋的另外一边,一家后世专做各种无双的公司做了世界上最早的两个日式 RPG,其一是《龙与公主》(「ドラゴンアンドプリンセス」),发表于 PC-88, FM-7 这两个日本的本土电脑平台,它可以说是 TBG 和某种全屏幕大乱斗的结合,语言叙述不如图片形象,上图。(图片来源:)还有一作是《家庭妇女的诱惑》(「団地妻の誘惑」),发表于 PC-88,PC-98,FM-7 三平台。它的场景设计已经明显受到了《巫术》的影响。这里只贴一张图,因为这游戏是个エロゲー。(图片来源:还有一作是《家庭妇女的诱惑》(「団地妻の誘惑」),发表于 PC-88,PC-98,FM-7 三平台。它的场景设计已经明显受到了《巫术》的影响。这里只贴一张图,因为这游戏是个エロゲー。(图片来源:)显而易见,我们现在说的日式 RPG 不是这样的。虽然日式 RPG在 1982 年就诞生了,定义其究竟为何物的作品则直到 1986 年才出现,那就是著名的《勇者斗恶龙》(「ドラゴンクエスト」)。(图片来源:中文维基百科)堀井雄二在堀井雄二在参考《巫术》、《创世纪》(Ultima)之后,决心创作一款不那么硬核的,适合不熟悉 RPG 的大众玩家的 RPG。适合不熟悉 RPG 的大众玩家的 RPG!适合不熟悉 RPG 的大众玩家的 RPG!重要的话要说三遍。如果没有《勇者斗恶龙》,以及后世把“适合不熟悉 RPG 的大众玩家的 RPG”理念发扬光大名满世界的《最终幻想》,RPG 到今天都恐怕是一个像 STG 一样让人望而却步的游戏类型。从《勇者斗恶龙》之后,JRPG 脱离出 CRPG 艰繁苦重的 Dungeon Crawler 游戏模式,给广大玩家带来了在美丽的广袤世界中探索打怪升级拯救世界的乐趣。实际上,从《勇者斗恶龙》开始,JRPG 的叙事方式已经发生了根本性的改变,然而这又是另外一个展开能说一大篇的内容,在此不表。值得关注的是,从巫术继承来的最重要的概念,从《龙与地下城》就已经奠定下的游戏核心要素——战斗与探索,除了难度之外都保留下来了。因此,我们在《勇者斗恶龙》中依然可以看到类目繁多形形色色的怪物,以及错综复杂神秘未知的迷宫。总算把话题又拉回了迷宫,那么,“适合不熟悉 RPG 的大众玩家的 RPG”的迷宫会是什么样子呢?首先让我们来看看《勇者斗恶龙》的迷宫表现方式。(图片来源:英文维基百科。原图是用来展现初代日版美版的不同的,图中左边的是日版,右边的是美版)抛弃了《巫术》的第一人称,使用了类《创世纪》的上帝视角。人物安安分分呆在格子里。抛弃了《巫术》的第一人称,使用了类《创世纪》的上帝视角。人物安安分分呆在格子里。别说四周是什么,隔墙的宝箱你都能看见。那么,在如此简单的视觉呈现下,迷宫的难度又如何呢?(图片来源:)最终 Boss 的迷宫——龙王城堡。最终 Boss 的迷宫——龙王城堡。没有不可视部分、旋转门、传送床;没有落石、爆炸、尖刺地板;当然更不会有难度极高回报相对很低的战斗。对于一个《巫术》玩家来说,这是迷宫?宫而不迷吧!啥,你告诉我你玩这个也要看别人画好的全地图?但是,让这些核心玩家大跌眼镜的是,大众玩家大概真的还是觉得这个迷宫很难。因为随着时间过去,迷宫的复杂度(都不能说难度了)真的是越来越低。整个 FC 与 SFC 时代,日本人在享受各式各样的优秀 RPG。而美国人在 PC 上艰难苦涩地爬 Dungeon Crawler——才怪嘞。大部分美国人才不会那么硬核到去玩 RPG,当时北美大行其道的游戏我们在几年之后也玩到了,大家可以回想一下我们在小霸王上的经典回忆。RPG 消沉几年后,新一代主机 PlayStation 带着一款 JRPG 攻陷了北美。美国人才意识到——原来 RPG 可以这么做,可以这么玩。然后,从北美开始,JRPG 影响了全世界。欢迎来到 FFVII。(图片来源:)《巫术》玩家:……十几年过去。欢迎来到 FFXIII。(图片来源:)《巫术》玩家:。啊,FFXIII 是个不好的例子。有的游戏还是保留了复杂设计的迷宫的,比如《薄暮传说》(「テイルズ オブ ヴェスペリア」):(图片来源:)自然,迷宫被一再弱化是事实。但这并不是说,我们能玩的内容就只减不增了。比如,飙车:(《时间之轮》(Chrono Trigger),图片来源:)比如,钓鱼:(《零之轨迹》(「零の軌跡」),图片来源:比如,钓鱼:(《零之轨迹》(「零の軌跡」),图片来源:)Mini games 就开始出现了,越来越多。多乎哉?多矣。Mini games 就开始出现了,越来越多。多乎哉?多矣。然而,它们终究只是 MINI GAMES,说破大天,SIDE MISSION,COLLECTABLES。形如《召唤之夜 铸剑物语》或是工作室系列,也不敢把做出全部武器当做通关目标。它们终究不是 JRPG 的主体。直到今天,从《龙与地下城》继承来的而战斗与探索,依旧是 RPG 的绝对主流要素。PS4 今年的两个扛鼎之作都是 RPG。其一为日本的《血源诅咒》(Bloodborn),其二为波兰的《巫师 3:狂猎》(Witcher 3: Wild Hunt)。可以说,《血源诅咒》的全部内容就是探索与战斗,剧情的成分被巧妙地弱化而不失存在感。特别是加入了一点点 Roguelike 感觉的探索系统——每次从梦境醒来所有敌人重生,更是让背地图跑路成为了每个新手猎人必须经过的学习阶段。而《巫师 3:狂猎》则是一个大量地增加游戏内容,削弱迷宫重要性的典型例子。什么?你不想跑图?帮我杀个怪呗。什么?你不想杀怪?杀伙强盗也行。什么?你连杀强盗都懒得做?那就来盘昆特牌吧。什么?你连打牌都懒得打?好吧……好吧……你给我钱我把剧情道具卖给你,使用亚克席法印可以打折哟。以上。花了半天断断续续写完,感觉题目让我回答成了日美 RPG 的兴衰史……不过就算跑偏了也应该能 cover 到题目中所有的疑惑了。-------------------------------------------------Summary, Refining and Rethinking:这部分的诞生归功于
老师,如果没有
老师提出的疑问与补充的内容,想必我此刻还意识不到我的答案并没有正面回答问题,而读者看了我的答案,除了了解一些豆知识之外也没有任何收获的现状。 老师认为我“没有说明‘为什么 RPG 要有迷宫’”。确实,我在文中没有正面回答这个理所当然应该正面回答的问题,因此,我讲我揉碎摊开在全文中的观点总结于下:迷宫——Dungeon,是“探索”在空间上的表现的一种主要形式。而探索是 RPG 的核心要素之一,RPG 的实质是以扮演游戏中的人物,在特定的时间、空间及事件中进行探索,因而要有迷宫。当然,探索并不是只有迷宫,正如
老师所说,在上古时期由于技术所限,以《巫术》为代表的游戏将探索与走迷宫划了等号。而现在的探索则有了多种形式,例如:时间上的探索:例如《时空之轮》与《幻想传说》(「テイルズオブファンタジア」);事件上的探索:这可能不太容易理解,多见于对话,比如说《辐射》(Fallout)中对话树的建设。跳出 RPG 这个框框,广大视觉小说,比如说人民群众喜闻乐见的 Galgame,大多全然没有空间上的探索——迷宫,但是往往有丰富的事件上的探索——选择肢与 Flag。当然, RPG 多以冒险为主线(至于为什么,我会在相关知乎的相关问题中仔细探讨),由于空间上的探索依然让大家非常着迷——身为冒险者,谁不喜欢未知神秘的领域呢——迷宫仍旧是 RPG 最为主要的探索方式。在此再次对那些花费大量事件阅读我的答案但堕入云里雾中的读者再次致歉。当然,由于这是我的第一次答题,出现这样的问题某种程度也是可以预料的,我还是个学生,请大家千万不要饶了我。有任何想要反馈的,烦请不吝赐教。其余部分应读者需求放在全文最末。-------------------------------------------------Bonus Content:可能有人要疑惑,为什么日本人没有拐回核心向的老路上?原因是 FC 版本的《魔法门》。1990年,FC 版本的《魔法门》被《儿童学习志》以“多年的科学”“多年的学习”作为口号大肆宣传,卖给相当多的小学生。而不巧的是,《魔法门》初代可以说是这些 Dungeon Crawler 里最难最变态的一个,可想而知,小学生玩家在开场之后走两步就被秒杀,一个门都打不开的状况下的错愕之情。以至于直到今天,日本的糞ゲー玩家都将 FC 版本的《魔法门》奉为糞ゲー名作。糞ゲー。参考链接:至此之后,没人再敢把核心向 RPG 提到主流里。不过就算如此,日本也是至今仍在制作核心向 RPG 的唯一一个国家。Atlus 是这方面的大家,著名的《真女神转生》系列就是他们的名作。除此之外,《世界树迷宫》也是从“萌”的方向重构核心向 RPG 的优秀尝试。《巫术》这个老 IP 在美国那边偃旗息鼓之后也跑到了日本,并且制作了大量的基于《巫术》老三代体系,从原故事背景、以及和风故事背景描摹的《外传》,形成了一套《巫术复兴计划》。耐人寻味的是,当 PS3 上的《巫术》新作被代理发行,回到自己的故土的时候,却只招致了恶评。参考链接:-------------------------------------------------Update Log:Aug. 16, ver 0.1最初发布版本Aug. 16, ver 0.1b增加了 Bonus Content增加了参考链接修改了部分用词以及标点(或许应该简单写作 Bug fixed?)Aug. 17, ver 0.2增加了 Update Log增加了 CRPG 与 JRPG 的迷宫地图对比增加了 JRPG 的迷宫演进史修改了部分用词以及标点Aug. 18, ver 0.2 Hotfix No. 1根据
的反馈,将 Dungeon Crawler 中不恰当的例子《创世纪》换成了《地下城大师》(Dungeon Master)。在此感谢
同学。(话说我第一次 @ 人,没 @ 对的话恐怕要发 Hotfix No. 2 了……)改了一个很隐蔽的错别字Aug. 18, ver 0.2b根据
的反馈,将经典 RPG 与 STG 的对比调整了语气根据
的反馈,将开头关于《龙与地下城》部分进行了调整,分清了前面的实体性(桌游),与后面的虚拟性(系统与设定)根据
的反馈,重写了 Bouns Content 中草率行文的最后一段。Aug. 18, ver 0.2b Hotfix No. 1根据
的反馈,将 Short Version 中关于“FFXV 加回了迷宫”的叙述改为“FFXV 改成了具有丰富内容的开放世界”。具体有没有迷宫,先 pending 处理。Aug. 18, ver 0.3根据
的反馈,将 DRPG 这一非通用名词换为更通用的 CRPG。根据
的反馈,标注了《勇者斗恶龙》对照图的版本。根据
老师的批评,整理思路重新进行了思考,补充了一些内容,同时提出了个人的一些看法。加上了《创世纪》在文中缺失的英文名。修改了两个错别字。修正了 0.2 Hotfix No. 1 以来的 @ 错误。原来知乎的 @ 符号选人框是不支持 Safari 的,现在把浏览器换成了 Chrome。 在这里对突然在不恰当的时刻被 @ 到的各位致歉。Aug. 19, ver 0.3b Final根据读者私信反馈,将 Summary, Refining and Rethinking: 的后两部分放在了全文最末。在此对此部分文章对阅读体验造成的不良影响致歉。-------------------------------------------------转载随意,但请务必附本答案链接,不管三七二十一直接 Copy 的请自重。-------------------------------------------------供参考:-------------------------------------------------Continued: Summary, Refining and Rethinking:其次,是关于迷宫与玩家压力的关系。我十分赞同
老师的观点,感谢
老师提供在 CRPG 中“探索与战斗互相牵制”的重要的理论依据。尤其是“《Doom》,开门后是一坨地狱怪兽还是药包?”一句,让我茅塞顿开,因为这正是探索迷宫的醍醐味。还记得相当多游戏里都有个著名的怪物 Mimic 吗?就是一个长得和宝箱一样的怪物,当你试图打开它的时候,它会突然张开大嘴咬你一口。遭遇 Mimic 的体验是与迷宫本身相辅相成的。在这里补充一下《巫术》老三代的一个要素:《巫术》老三代中,队伍不是固定的。你可以在酒馆里放置任意多的角色,组成任意多种的队伍,觉得这个队伍有问题,压力太大,就可以回城换一只队伍打。由于《巫术:狂王的试炼场》全部的迷宫只有十层,这样的设计无疑增加了游戏的可玩性,丰富了游戏体验,增加了游戏时间。也就从此开始,如何建立角色,组成队伍成为了《巫术》人人必须面对的一大基础问题,这个问题到了游戏第六作——《巫术:禁断的魔笔》时被提到了相当的高度。由于只在开始游戏时有一次建立队伍的机会,如何建立一只不会诘死(即由于队伍配置不合理而无法战胜敌人,导致困死在迷宫中)的队伍成为了焦点。大家可以去 Steam 论坛上看一看有多少人吐槽开不了局甚至直接喷游戏的,又有多少各种语言的指南指导新手如何建立一只“出的了门的队伍”。参考链接:最后,我想回应一下
老师认为“FFXIII 的锅不在于‘一本道’而在于战斗系统”的判断。先说结论,我以为,锅当然是“一本道”的。战斗系统是不是让人提不起劲?确实有,然而它不负主要责任。为什么?在这里先抖个机灵:因为 FFXIII 是 《最终幻想》,而不是《鬼泣》(Devil May Cry)。倘使《鬼泣》变成了走迷宫,没有了一条“一本道”,我想,《鬼泣》玩家只会在打完一条通路发现是死路的时候,一边往回跑一边看着评分从 SSS 变成 D 一边骂娘。但《最终幻想》则不是。任何的稀有道具、分支剧情,都会让玩家趋之若鹜。虽明知其为死路,吾往矣。至于「明明没什么压力,还要让我绕圈子绕到吐」是不是糊里糊涂的游戏设计,这就太看实际情况了。自然,
老师所说的“不知道为什么要做迷宫但是我看到别人做了所以我也做做看”的游戏,何止是多,简直是多到可怕。RPG 盛产渣作,当然,各位现在能想起来的,回忆地津津有味的,是 RPG 的精华。而这些作品的迷宫绝无可能是跟风渣作。回到「明明没什么压力,还要让我绕圈子绕到吐」。这个下午,我一边画着 Storyboard 一边思索这句话,但是我终究没有想通。……为什么没有压力,就不能让人绕圈子绕到吐呢?如果我的游戏精髓部分就在于探索,而不在于战斗,那么,Why not?RPG 不在乎战斗的不多,但是跳出 RPG 圈子,这种思路做到极致的游戏也很多啊,大家也都玩过,AVG 嘛。老《生化危机》(日「バイオハザード」、美 Resident Evil)就是其中的一个典型。《生化危机》创立了 Survival Horror 这个类型的游戏,如果你打算一路战到底,战斗压力非常大,大到不行。你把游戏里所有的补给都收集来也根本不可能打得过大波僵尸群,补给根本就不够用。但是,为什么大家从来不提老《生化危机》的战斗压力呢?很简单,这游戏根本就不鼓励你战斗啊!一路战到底根本就是错误的玩法。战斗一点奖励也没有,为何要战斗?既然不战斗,何来战斗压力?就算里昂小哥在《生化危机 2》的物品栏里按了“上上下下左右左右 BA”之后屠戮整个浣熊市,想学会体术,也得等到三上真司把他扔到西班牙呀!(游戏发售顺序)再推到极端一些,有些 AVG 根本就没有任何危险啊。获奖的独立游戏《归乡》(Gone Home)全程就是在定义一个「明明没什么压力,还要让我绕圈子绕到吐」的游戏,一个人在空荡荡的别墅里上上下下翻来覆去,但由于它的叙事技巧和故事水平,它依然是获奖的优秀作品。回到 RPG,回到战斗,让我们来看看 FFXIII 的战斗系统到底是个什么样。“这也解释了《最终幻想XIII》的“迷宫”变成了真正的直道的原因。因为这款游戏更加极端地将所有战斗的消耗全部抹平。玩家只要专注于当前战斗就好,打赢后全部回复。也就意味着地牢的意义完全丧失,所以一本道是合理的设计。”——
老师玩家只要专注于当前战斗就好,打赢后全部回复。也就意味着地牢的意义完全丧失……吗?先说结论:恐怕是不会的。把时间拨回 1990 年,让我们看看我之前提到过的,出不了门的《巫术:禁断的魔笔》的战斗系统。(图片来源:Wizardry: Bane of the Cosmic Forge Official Cluebook 扫描版第八页,附在 Steam 版本中,购买游戏者皆可获取。早在原版发售的时候,这也是随游戏附带的一本实体书。)(图片来源:Wizardry: Bane of the Cosmic Forge Official Cluebook 扫描版第八页,附在 Steam 版本中,购买游戏者皆可获取。早在原版发售的时候,这也是随游戏附带的一本实体书。)请读者注意右下角 After an Encounter 这一节,我把它翻译如下:战斗之后-------------------------------------------------在一场战斗后,队伍通常需要疗伤和休息。如果你的队伍还都成人形,没人阵亡,存档吧。你的奶妈可能在战斗中把蓝用光了,因此在用奶妈回复之前先休息吧。当队伍醒来以后,用奶妈治疗。能奶多少奶多少。蓝用完了就接着休息。醒了再奶。FFXIII 的战斗模式,和这里的战斗模式,似乎唯一的区别就是不用玩家手动命令回复,减少了操作繁琐而已。当然,玩家可以选择不回复,但不回复的后果很简单,不休息到满血满魔满力,上满 buff,下一场的失败概率指数型上升。在这种状况下,根本不会有人不回复。至于“每场都要全力以赴的”战斗模式,《巫术》的难度,玩家是被强制性全力以赴的。如果不是 LoveLive! 回回都抽 UR 的欧洲人(之前提过,《巫术》什么都看脸),你应该在任何一场战斗,哪怕是随机战之前保持自己满血满魔满力上满 buff 的状态,否则,你下一场连一刀都砍不中,一个魔法都放不出,三两下被玩弄至死。因此,FFXIII 的战斗模式,只能说就是《巫术:禁断的魔笔》的简化版。并不是什么创举,也自然而然不能因此认为地牢的意义就丧失了。附带一提,之所以要存档的原因是,休息的时候一定几率会有敌人偷袭,偷袭了你的全队都会处于睡眠状态挨打——那就意味着 Game Over。SFC 版本改善了这一点,被偷袭只是普通随机战斗,但是敌人有一定 buff。以上。在这里附上
老师的回答链接,以防转载出去之后站外读者不知道
老师说的是什么。-------------------------------------------------P.S. 知乎没法用 Markdown,格式靠手动调这种事情好久没做过了,视觉上不舒服请直接提出修改意见。
我认为 的答案只列举了迷宫里的一些玩点,没有说明“为什么RPG要有迷宫”。我们所说的迷宫,事实上对应的英语并不是Labyrinth,而是Dungeon,也就是地牢。Dungeon给人的感觉并非只是迷路。它同时还要包含越来越强的怪物;凶险无比的陷阱以及等待在深处的魔头。《创世纪:地下世界》的地图所以,Dungeon最初的设计,就是要让玩家深陷于地牢中,不断面对未知的威胁,提心吊胆地与强大的怪物交战。玩家需要面对来自地牢的压力,知道自己有可能死在里面。在这样的设计下,迷宫般复杂的地牢结构才意义,它被赋予了增强探索感(玩家不确定整体路径)与增加压力(玩家不知道何时才能离开这鬼地方)的双重含义。当然这种压力并非是动作游戏的那种压力,在RPG中地牢的压力往往并不是玩家的操作可以避免的。所以这种压力事实上来自于玩家资源的消耗。HP的消耗魔力的消耗药品的消耗上面这些资源的量是恒定的,但在地牢中多呆一分钟,多少都会消耗一些。而当地牢的庞大超出或接近了这些资源的消耗量时,玩家就会由于害怕自己死在地牢中而感受到压力。被认为是RPG祖宗的《巫术》,整个游戏都是通过这种资源消耗压力来产生Gameplay。简而言之是这样的流程:玩家整装待发-攻打地牢-资源消耗(或碰到了无法战胜的敌人)-返回主城-再次整装待发。这样的循环,而在循环中,不断推进地牢的深度与不断成长的玩家角色,则形成了游戏的流程。地牢,主城,地牢,主城,这就是《巫术》前几代的风格,后来他们也在3D地图中加入非地牢的元素了。同时,迷宫的结构也实现了最为经典的关卡设计与游戏的心理学,通过在地牢的各个地点配置不同的怪物与宝箱。玩家在绕到什么地方的时候会遇到一种强力的新敌人,狼狈苦战,放弃希望之时,却发现另一条岔路柳暗花明,得到了提升自己的武器,或是一个隐藏的回复点。这点在甚至在早期的FPS里也被用得滚蛋烂熟。Doom的关卡就是这么干的。《Doom》,开门后是一坨地狱怪兽还是药包?说回到我们更熟悉的日式RPG。伟大的《勇者斗恶龙》将西方RPG的体验简化,并带到了日本。但《勇者斗恶龙》依然遵循了西方RPG的原则,即玩家攻打地牢时需要患得患失,才能最终打到Boss。不过有一点发生了改变,《勇者斗恶龙》不仅有城镇,地牢,它还加了一种东西,那就是地牢与城镇间的缓冲地带。是的,这么一大片绿油油的就是缓冲地带——野外有了野外,我们可以做的是什么呢?——练级在《巫术》里我们必须硬着头皮去干的事情,现在只要在城镇旁转圈就可以实现了!好轻松!并且游戏数值调整得很微妙,当你打到足够能买这座城镇中装备的钱时,你的级也差不多练好了。然后穿上装备,再进地牢,你会发现一切都变得相当轻松愉快,虽然还是有点小紧张。不过心态已大不一样了。你所拥有道具,装备,都足够应付当前的地牢。资源的消耗已不再是你头痛的问题。这就是JRPG的改造运动,它们强化了“成长”与“故事”带来的乐趣,削弱了苦战地牢的紧张感。也正因如此,《勇者斗恶龙1》的地牢几乎谈不上是迷宫,无非就是有点岔路的一本道而已,因为西方RPG的复杂迷宫设计已经失去了大半的意义。这也解释了《最终幻想XIII》的“迷宫”变成了真正的直道的原因。因为这款游戏更加极端地将所有战斗的消耗全部抹平。玩家只要专注于当前战斗就好,打赢后全部回复。也就意味着地牢的意义完全丧失,所以一本道是合理的设计。虽然这款游戏的单场战斗并没有做得那么激烈与吸引人,导致它大部分时间有些枯燥。但这锅不能单纯甩到一本道上去。直道?其实对于《FFXIII》来说并不是问题,只是战斗系统实在让人提不起劲罢了。所以题主的困惑是很正常的。因为他恰好碰到了许多「明明没什么压力,还要让我绕圈子绕到吐」的稀里糊涂的游戏设计罢了。这些制作人压根不知道为什么地牢要设计成迷宫,只是因为,嗯,其它人也是这么做的啊,所以就硬在里面塞了过度复杂的迷宫。事实上,在游戏难度已经不那么Hardcore的今天,在大部分RPG里,玩家连练级步骤都省去了,只要正常攻打,就能顺利通过迷宫,只是里面会有一些小难点让玩家产生挑战。所以地牢也只需点到为止,不再需要让玩家绕到产生浪费时间的想法。你看人家《Persona 4》就是设计典范,又轻松,但又兼顾压力,随机迷宫也不复杂,却常玩常新,Metascore 93分可不是白拿的哦!
这个问题,其实专业的回答在知乎里不一定真的就能被大部分人认同。,同学和同学 都举了很多的例子去说好多游戏都有迷宫。但是大部分人都看明白了么?我觉得其实说这么多真的还没到点子上同学快到点子上了,但是还是在外围。我是比较喜欢一针见血的回答问题,最近年龄大了,脑子反应慢了,也有些忙,所以在这两年知乎只看不说。。。。今天其实是被大猫咪F的一个赞吸引来的RPG嘛,角色扮演。简单的来说,玩的就是在另一个世界扮演另一个人。所以,RPG的第一个玩点就是,探索迷宫和开放性世界才能有探索空间。“一本道”式得游戏方式根本就让玩家融入不到另一个世界里。所以探索体验必然差。这样的话和国产网游有多少区别?所以如果你不做迷宫的话可以,但是得想另一个办法让玩家探索。当然你确定你做的是RPG哦,对,还有一个问题,就是RPG中各种翻箱倒柜和砸罐子到底有没有必要,也跟RPG的探索玩点有关系。
一直玩不下去某些日式RPG的原因是。1.看不懂剧情2.看不懂情怀3.迷宫在浪费我的时间萝卜青菜,各有所爱~
实际上迷宫是一个设计内容少,但是可以极大增加你游戏时间的快捷方式。在剧情有限,技术有限,开发费用有限的环境中,也是一个无奈之选。
迷宫增加了游戏的张力和挑战性。你知道了走了几天迷宫然后来到新的小村庄什么感觉吗?
题主问的是什么时候的JRPG?至少2000年以后的JRPG没有多少迷宫了。当然你可能要和我说塞尔达,但是塞尔达一般不会被叫做JRPG,塞尔达就是塞尔达,就是这么特殊。至于为什么早期RPG光靠走的迷宫比较多。我觉得是因为早期游戏表现力有限,没法提供一个视觉丰富的大场景,只能是基于Tiled Map的方式去堆砌一个关卡。这样堆砌出来的关卡如果没有纵横交错,只是个大平面肯定是索然无味的。这种玩法设计有它的乐趣,但是属于无奈之举。
每个RPG都有去除迷宫的版本,就是网友大作“全剧情截图.exe”。
RPG嘛,角色扮演要有角色带入感,过程太短的话,你可能伙伴都没混熟,甚至剧情会让人感觉强行增进关系。这对于游戏里的小伙伴自然是无所谓了,但是对于人的话,这种体验肯定会很突兀,会让人产生:这货没啥用,这么多事,强行加长剧情,这游戏设计真脑残这种想法。怎么自然的增进关系呢?加迷宫!老子打了xxx小时,才出来这迷宫,这辅助很给力,这货的群秒正好推一波怪,打完这一堆怪又能升级去救美眉等等,这些肯定不是单纯的剧情能给你的,而是真正让你自己付出心思才能感受到的。加地图还很省力,又能推动剧情。所以,日式的rpg剧情上才让人觉得叙事比较舒适。而且材料什么的各种衍生的小型系统可以通过迷宫的加入而丰富起来。总体来说,迷宫可以让我们感觉好像有一个和游戏中人物类似的经历,不同于看电影漫画的经历,而是真正参与进去的玩家的经历。
你和我说说哪国的RPG没有迷宫吧……虽然因为视觉要素的增强迷宫越来越简单了
已有帐号?
无法登录?
社交帐号登录}

我要回帖

更多关于 走迷宫玩具的设计思路 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信