【AI写作】死亡搁浅——我们的双腿并非轮子

南谷之春

1956年的秋天,在美国明尼苏达州的埃德纳市,一座建筑的开业预示着一种新生活方式的诞生。这便是南谷中心(Southdale Center),由富有远见的奥地利裔建筑师维克多·格伦操刀设计。它并非寻常的商业街区,而是美国第一个完全封闭、气候恒定的现代购物中心。格伦的雄心不止于零售,他希望复刻欧洲小镇广场的温情脉脉,将南谷中心打造成一个真正的社区心脏,一个远离明尼苏达严酷冬夏的、四季如春的社交绿洲。

HF4.4_r13 _1_.jpg

read more

【AI写作】OuterWilds——宇宙奇趣

前言

伊塔洛·卡尔维诺在《美国讲稿》中,希望带着“轻逸”跨过这个千年。他察觉到生活往往被一种下坠的重力所支配,像铅块一样拖拽着人们的步伐与思绪。为了抵御现实那不可名状的沉重,卡尔维诺赞美一种“轻”。那并非无足轻重的浮浅,而是一种剥去世界重量的认知方式,一种让沉滞的物象得以飞扬的诗意。

为了具象化这种特质,他讲起了珀尔修斯的神话。面对满头毒蛇、目光能将一切鲜活肉体化作冰冷巨石的美杜莎,这位英雄拒绝了直视。他背过身去,举起光滑的青铜盾牌,在虚幻而轻灵的倒影中锁定了怪物的颈项,挥落了利剑。珀尔修斯的力量,正来源于他拒绝接受怪物所施加的、令人窒息的实体重量,他凭借一面不具重量的镜像,斩下了女妖的头颅。

《Outer Wilds》就是那铜盾的倒影。

P5nyh6Lw4m9381G.jpg

read more

取得contenteditable中光标的坐标位置

开发安科编辑器时,需要在contenteditable中临时生成一个“ROLLDICE”输入框,并把输入框准确放在用户输入光标的位置。

常见的做法直接使用getRangeAt(0).getBoundingClientRect(),但当光标位于行首时,返回值将为0。因此在这种情况下需要临时添加一个span并用于计算出正确位置。

但如果光标处于文字之间时,添加span会导致光标移位,因此必须只在光标处于行首时使用这种方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//get the position of the cursor
let selection = window.getSelection();
let range = selection.getRangeAt(0);
let rect = range.getBoundingClientRect();
let topPosition = rect.top;
let leftPosition = rect.left;
//if the cursor is at the beginning of a line, the position is 0
if (topPosition === 0) {
//create a hidden node to get the correct position of the cursor
document.execCommand('insertHTML', false, '<span id="hiddenSpan"></span>');
let hiddenNode = document.getElementById('hiddenSpan');
let rect = hiddenNode.getBoundingClientRect();
topPosition = rect.top;
leftPosition = rect.left;
hiddenNode.parentNode.removeChild(hiddenNode);
}
// create the dicediv
// dicediv position must be absolute
let dicediv = document.createElement('div');
dicediv.className = "dice_div";
dicediv.style.left = leftPosition + "px";
dicediv.style.top = topPosition + "px";
editDiv.appendChild(dicediv);

Death Stranding——我们的双腿并非轮子

前言

死亡搁浅给我带来了相当独特的游戏体验,这个游戏优缺点并存,而且很多玩家都很欣赏游戏建设与互动的那部分内容。不过本文我想主要关注一下游戏的步行部分,讲一讲我是怎么看待死亡搁浅的步行系统的独特意义的。

20200811153310_1.jpg

read more

《Outer Wilds》——宇宙奇趣

前言

《三体2》在日本发售的时候,各个名家所写的推荐语中,有一句这样称赞《三体》:“绝妙的构思一个接一个毫不吝啬地展开,多到了让人觉得浪费的地步。”显然,《三体》作为图景宏大的科幻巨作,自然配得上如此称赞。而本文所介绍的《Outer Wilds》,其世界观与其相比则显得渺小了许多。

然而,在接触《Outer Wilds》不到一个小时后,这就是我心中浮现的称赞之词。而当我用20小时打通它后,我甚至觉得这句话毫不夸张。这些绝妙的构思,使得对于任何有关这个游戏的剧透——无论是文字上的还是视觉上的——都是莫大的遗憾。但同时,《Outer Wilds》中令人惊叹的设计实在太多,即便是剧透了结局,也并不足以消灭亲自体验的价值。

《Outer Wilds》最大的魅力就源自它的想象力,在一个方圆仅数十公里的太阳系中,游戏用真实和幻想相互调和,完美地把握着严谨地科学原理和童话般的妙想之间的交点,让两者严丝合缝,乃至于相互融合,难以区分,这恐怕是科幻的最高境界了。

然而不仅如此,游戏更是在这样精彩的想象中,基于简洁的玩家动作构造了复杂的解谜关卡流程——它将开放空间的解谜引导做到了近乎完美的地步,乃至于整个流程中玩家根本没有获取新的能力、甚至也没有获取新的钥匙,一切推动玩家前进的要素,全部都是信息、情报、线索。这也意味着只要玩家理解了整个游戏的谜底,就可以在新的存档里只用几分钟通关。

本文主要从视觉体验、关卡设计、叙事和音乐几个方面进行介绍鉴赏。

read more