blob: a43f988f82e0c2e8bb54d83b483e26be0a49dbcb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<meta name="theme-color" content="#000000">
<title>Chrisoft::Ballance | Back and Forth - A Lucid Dream | 彷徨梦</title>
<link rel="icon" href="/favicon.png">
<link rel="stylesheet" type="text/css" href="/common.css">
<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a">
<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b">
<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a">
<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b">
<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a">
<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b">
<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a">
<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b">
<style>
h1, h2 {font-weight: normal;}
.reduced {font-size: 75%;}
</style>
</head>
<body onload="loadTheme();" class="TText">
<script>
function getcookie(key)
{return document.cookie.replace(new RegExp('(?:(?:^|.*;\\s*)'+key+'\\s*\\=\\s*([^;]*).*$)|^.*$'),'$1');}
function loadTheme(){
var thm=document.cookie.replace(new RegExp("(?:(?:^|.*;\\s*)thm\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1");
if(thm.length<2||'0123z'.indexOf(thm[0])==-1||'abz'.indexOf(thm[1])==-1)thm='zz';
var ent="";
var d=new Date();
if(thm[0]=='z')
{
var m=d.getMonth()+1;
if(m>=3&&m<6)thm='0'+thm[1];
else if(m>=6&&m<9)thm='1'+thm[1];
else if(m>=9&&m<12)thm='2'+thm[1];
else thm='3'+thm[1];
}
if(thm[1]=='z')
{if(d.getHours()>=18||d.getHours()<6)thm=thm[0]+'b';else thm=thm[0]+'a';}
ent=`theme${thm}`;
var R=new RegExp('theme[0-4][ab]');
for(var i=0;i<document.styleSheets.length;++i)
{
if(R.exec(document.styleSheets[i].ownerNode.id)!==null&&document.styleSheets[i].ownerNode.id!=ent)
document.styleSheets[i].disabled=true;
else document.styleSheets[i].disabled=false;
}
var thmcolor="";
switch(thm[0])
{
case '0':thmcolor=thm[1]=='a'?'#f59dda':'#2f0933';break;
case '1':thmcolor=thm[1]=='a'?'#9df59d':'#090933';break;
case '2':thmcolor=thm[1]=='a'?'#edb47b':'#1f1205';break;
case '3':thmcolor=thm[1]=='a'?'#a0cdfa':'#051933';break;
}
document.querySelector("meta[name=theme-color]").setAttribute('content',thmcolor);
}
</script>
<h1><a href="/">Chrisoft</a>::Ballance</h1>
<h2>Back and Forth - A Lucid Dream</h2>
<h2>彷徨梦</h2>
<h4><a href="bonus.html">English</a></h4>
<a href="//filestorage.chrisoft.org/ballance/img/lucid.png"> <img width="630" style="max-width:100%;height:auto;" src="//filestorage.chrisoft.org/ballance/img/lucid_small.png"></a>
<p>
正在阅读此文的你,可能是刚刚发现了自制关卡「彷徨梦」中的彩蛋,或者点了什么剧透的链接。如果你全靠自己就发现了彩蛋,你是真的厉害。
</p>
<p>
不过实际上并没有什么奖励。作为补偿,你可以读到作者对本关的看法,还有一些有关的提示。
</p>
<p>
下载页的说法是骗人的。这一关既没有多重的2010气息(图中利用了大量后来产生的机关用法,虽然基本思路确实起源于2010年),也没有那么放松。许多游戏中循环变化的机关一直是我的噩梦,现在我把这噩梦也带到了Ballance中。
</p>
<p>
此关卡的基本设计思路(全部小节均在同一段路面上进行的微型关卡)实际在我刚开始试验制图时就产生了。当时制图还处在刚刚觉醒的时期,大家都在试验各种机关的怪异用法。我最后确实用沿思路制作出了一个关卡,不过它实在太短了(只有3小节,其中一个小节无实质内容)。并且等我终于完成此关时,已经有其他的制图者做出了特别优秀的作品(比如「疯狂机关II」)。与它们比起来我的这个关卡相形见绌,于是我最终把这个关卡封存了。
</p>
<div style="text-align:center;">
<a href="//filestorage.chrisoft.org/ballance/img/board_virtools.png"> <img width="700" style="max-width:100%;height:auto;" src="//filestorage.chrisoft.org/ballance/img/board_virtools.png"></a>
<br>
Level_01_board.nmo在Virtools中打开的模样。文件最后修改于2010年12月05日10:35。
</div>
<p>
时间过得飞快,Ballance从我的生活中淡出了。不过我仍然时而打开Virtools消磨无聊的时光,有时还做出了「颠覆性」的发现。但是我再也没有拾起制图这个老活。因为我已经见证了制图水平的发展,我以为靠我的创造力和工具使用水平已经做不出质量过关的地图了。
</p>
<p>
然而当我从我以为已经坏掉的硬盘出抢救出这个关卡的原文件时,我完全按捺不住想要重制这个关卡的想法:毕竟如果我做的只是重制我10年前的作品,设计水平不过关兴许也是可以理解的。于是我立即把思路在电脑上画了草图,然后打开Virtools开始拼接各种零件。等关卡基本成形,我开始了脚本相关的工作:毕竟我最先发现了如何在原版游戏关卡中注入脚本,如果自己都不用就会把自己推入十分尴尬的境地。最后是又臭又长的调试。终于,「彷徨梦」诞生了。
</p>
<div style="text-align:center;">
<a href="//filestorage.chrisoft.org/ballance/img/lucid_sketch.png"> <img width="480" style="max-width:100%;height:auto;" src="//filestorage.chrisoft.org/ballance/img/lucid_sketch.png"></a>
<br>
设计草图。其中有明显的错误。
</div>
<p>
这个关卡中包含了<b>巨量</b>的脚本,比以往发布的任何包含脚本的地图都要多。如果你将本关卡中的所有脚本删除然后保存,文件尺寸会缩小接近60%。这意味着有足足73KB的数据是脚本占用的!然而,如此多的脚本达成的目的却十分简单:无非是控制三合一变球器和一些动画而已(这也暴露出Virtools脚本在实现有任何复杂性的机关时显得十分笨拙)。我同时发现所有将脚本用于修改游戏逻辑的图中,几乎无一例外地把所有逻辑全部塞进了同一个脚本中。对于Virtools脚本这种可读性本来已经不高的脚本来说,无疑是使阅读脚本变得难上加难。希望本关卡中的脚本可以作为合理的逻辑拆分的一个示范。
</p>
<p>
我从2013年起玩过的自制地图实在不多,所以我也无法估计本图在现在的难度级别上能得到几颗星。不过这张地图的确不难。尽管拿到所有分数点难度稍高,但也基本是时机问题和随机因素。以下是我对本关卡中每个小节的分析。
</p>
<p>
第一小节:没什么东西。几乎是原关卡的原样复制品。随意放置各种旋转缩放的机关似乎是当年非常流行的做法。
</p>
<p>
第二小节:仍然没什么东西。是原关卡的第二小节稍作修改而成的。此小节强制你用纸球通过一批沙袋。你可以完全避开所有障碍,但需要掌控时机。
</p>
<p>
第三小节:一个微型谜题。通过应该不会花费太长时间。
</p>
<p>
远离本节出生点的浮板不会像吊桥一侧旋转,这是有意为之。目的是减轻我这种水平不高的玩家通过此关的痛苦。
</p>
<p class="reduced">
解法相当简单:首先用石球清理障碍,然后换成木球从旁路通过,从跷跷板上返回并把它压下来。换回石球即可通过此关。
</p>
<p>
第四小节:本小节有隐藏的物品,但没有藏住。如果你不感兴趣,你可以无视这整个小节。
</p>
<p class="reduced">
提示:作者拿到本小节分数点是在三合一变球器为木质时被它捕获,掉到跷跷板上,然后撞击34机关下面的箱子。如果你不幸在三合一变球器为石质时被捕获,那么你还有重试一次的机会:推动34机关的箱子返回纸球变球器。如果你连续两次失败,那就没有办法了。
</p>
<p>
第五小节:抓好时机!尽量趁电梯启动前进入,否则你会被迫用石球推掉所有的箱子。另外注意躲避高空落物。
</p>
<p>
第六小节:一个被用烂的了杠杆。没什么好看的,赶紧走吧。
</p>
<p class="reduced">
提示:如果想吃到本小节的分数,你必须在到达本小节前已经变成纸球。
</p>
<p>
第七小节:路没了!怎么办?
</p>
<p class="reduced">
提示一:开大音量。
</p>
<p class="reduced">
提示二:这其实是一些某些其他游戏惯用的手法,只是我不记得是什么游戏了。
</p>
<p class="reduced">
最终提示:风扇跟灯塔是对齐的。
</p>
<p>
第八小节:恭喜通关!现在你可以欣赏(无聊的)通关动画了。
</p>
<p>
其他趣事:
</p>
<ul>
<li>我还没有完美通关过此关——没错我就是这么菜。在测试时我是按小节测试的,并且依靠了特殊脚本的帮助。</li>
<li>本关卡的制作仅花费了不到3天的时间。其中有两天是在写脚本和调试脚本中度过的。</li>
<li>此关在RC2版本前是没有生命球的。在多人反映被坑之后,我才加入了两个生命球。</li>
<li>我在考虑制作本关卡的续集。</li>
<li>本关卡的名字是洗澡时想出来的:玩家在一段路上两头跑,但没有多少时间等待。这两层意思恰好都反映在「彷徨」一词中。至于为何是梦……大概这整个游戏都是一个梦?</li>
<li>在正式起名前,我使用"Level_board_rehash"或者"A Stupid Level"(愚蠢关卡)代称此关。</li>
<li>如果你并没有自己找到彩蛋,但仍然好奇它在哪里的话,往下看吧。</li>
</ul>
<div style="text-align:center;">
<a href="//filestorage.chrisoft.org/ballance/img/lucid_q.png"> <img width="640" style="max-width:100%;height:auto;" src="//filestorage.chrisoft.org/ballance/img/lucid_virtools.png"></a>
<br>
已经不能更直白了,对吗?
</div>
<p>
<a href="./index_zh.html">返回</a>
</p>
</body>
</html>
<!--
vim: tw=80 syntax=html
-->
|