乐于分享
好东西不私藏

巫师3:从波兰电脑市场到开放世界的承诺(上)

巫师3:从波兰电脑市场到开放世界的承诺(上)

巫师3:从波兰电脑市场到开放世界的承诺(上)

一、盗版时代的游戏梦

Marcin Iwiński在斯大林主义的阴影下长大,这让玩游戏变得很困难。浅蓝色的眼睛,下巴上总是挂着胡茬——Iwiński是波兰华沙成千上万渴望玩到和全世界一样游戏的年轻人之一。

直到1989年,波兰都是一个共产主义国家。即使到了1990年代初,新生的波兰第三共和国开始拥抱自由市场,华沙也没有地方能合法买到游戏。不过有"电脑市场"——开放式的露天集市,城市里的技术宅们会聚在那里买卖和交易盗版软件。波兰的版权法基本形同虚设,所以把外国电脑游戏拷贝到软盘然后在市场上便宜卖掉根本不违法。Marcin Iwiński和他的高中生朋友Michał Kiciński把所有空闲时间都泡在市场上,把能找到的各种游戏带回家,在他们的ZX Spectrum电脑上玩。

1994年,20岁的Iwiński开始琢磨做一个电脑游戏进口和分销的公司。他和Kiciński一起开了家叫CD Projekt的公司,名字来自当时在华沙刚冒头的、将要改变整个行业的CD-ROM。起初他们在电脑市场倒卖游戏,后来开始和LucasArts、暴雪这些外来公司签约,在波兰帮他们分销游戏。CD Projekt的转折点是说服了发行商Interplay,把《博德之门》的波兰版权给了他们——这是世界上最受欢迎的角色扮演游戏之一。

他们很清楚,要说服波兰同胞买正版而不是在网上或市场买盗版,难于登天,所以Iwiński和Kiciński豁出去了。他们把《博德之门》本地化成波兰语(还配了地道的波兰配音),在游戏盒子里塞了一份地图、一本《龙与地下城》指南和一张CD原声碟,赌的就是波兰玩家会看到这套东西的值,从而买正版而非盗版。如果你买的是拷贝版,可没这些好处。

这个策略成了。发售第一天,CD Projekt就卖出一万八千份——对于一个幾年前还根本买不到正版游戏的国家来说,这是个惊人的数字。这也帮Iwiński打开了大门,让他们可以发行其他正冒头的热门RPG,比如《异域镇魂曲》、《冰风之谷》和《辐射》。

二、从分销商到开发者

分销市场赚够了钱,Iwiński终于能追求他真正的梦想——自己开发游戏。2002年,他成立了CD Projekt Red,CD Projekt旗下的开发部门。新工作室要做什么类型的游戏呢?公司里有人建议去联系Andrzej Sapkowski,这位著名的奇幻作家在波兰被称作波兰版J.R.R.托尔金。Sapkowski写了系列畅销书《巫师》,大人小孩都爱看。主角是白发的怪物猎人——利维亚的杰洛特,《巫师》把硬核奇幻和东欧童话mix在一起,就像《权力的游戏》加上《格林兄弟》。

结果Sapkowski对电子游戏根本不感兴趣,很乐意把版权卖给CD Projekt Red,价格还挺合理。Iwiński和团队对游戏开发一窍不通,但有了《巫师》这个现成IP,总比从零开始强。而且这个IP很有吸引力,他们觉得不仅在波兰,在全世界都能火。

2007年,经过艰难的五年开发周期和多次推倒重来,CD Projekt Red推出了《巫师》PC版。

游戏卖得不错,足以开发续作。2011年,CD Projekt推出了《巫师2》。两款游戏有几个共同点:都是黑暗、硬核的动作RPG,都想让你感受到自己的选择会影响故事走向。而且都是难度很高、小众的PC游戏。虽然后来把《巫师2》移植到了Xbox 360,但两款游戏基本都被认为是PC平台专属,这意味着受众有限。竞争对手《上古卷轴5:天际》(2011年11月)能卖出几百万份,部分原因就是PC和主机同时发售。

还有,《天际》是北美的。2000年代中期,游戏产业越来越全球化,RPG形成了地域分化。在美国和加拿大,有Bethesda和BioWare这样的公司,推出了广受好评的《上古卷轴》和《质量效应》,都卖得飞起。日本那边有Square Enix的《最终幻想》和《勇者斗恶龙》,虽然不如1990年代日本统治时期那么风光,但在数百万粉丝中依然有自己的市场。然后是欧洲RPG发行商,它们从来不像美国或日本的同行那么受尊重。《两个世界》这样的欧洲RPG又普通又粗糙,差评如潮。

凭借《巫师2》,Iwiński在欧洲以外建立了相当大的受众,甚至在波兰成为文化icon。2011年美国总统奥巴马访问波兰时,总理唐纳德·图斯克送给他一份《巫师2》。(奥巴马后来承认他没玩过。)但CD Projekt Red的开发者们有更大的梦想。他们想证明,即使身为波兰人,也能和Bethesda、Square Enix这样的巨头竞争。Iwiński想让CD Projekt Red成为和BioWare一样家喻户晓的名字,而他想通过《巫师3》来实现。

三、《巫师3》的宏大愿景

为了主导这款第三部《巫师》,Iwiński和其他高管指定Konrad Tomaszkiewicz来负责,他之前是第一部《巫师》的测试员,后来升任CD Projekt Red"任务部门"的主管——这个部门是在《巫师2》早期开发时创建的。传统上,RPG工作室会有独立的写作和设计部门,合作构建游戏的所有任务(杀掉十只龙!击败黑暗领主拯救公主!)。但在CD Projekt Red,任务部门是独立的,每个成员负责设计、实现和改进自己的那部分游戏。作为部门头头,Tomaszkiewicz花了很多时间和别的团队协作,这让他很适合做《巫师3》的导演。

当他被告知要负责公司的下一款大作时,焦虑的Tomaszkiewicz开始和CD Projekt Red的其他高管讨论如何让游戏吸引更多人。他们的一个直接解决方案很简单:把它做大。"我们和[工作室总监]Adam Badowski还有董事会聊,问他们我们的游戏还缺什么,才能成为更完美的RPG,"Tomaszkiewicz说。"我们知道自己缺的是探索的自由,需要一个更大的世界。"

Konrad Tomaszkiewicz想象着一款不会像前作那样把玩家限制在每章一个特定区域的《巫师3》。相反,这款新《巫师》会让你探索一个巨大的开放世界,按你的意愿猎杀怪物和做任务。("自由"是Iwiński最常挂在嘴边的词,作为游戏的核心承诺。)他们想做市面上最好看的游戏。而且这次PC和主机同时发售。通过《巫师3》,CD Projekt Red想向世界证明:波兰也能做出口碑和商业一样成功的游戏。

Tomaszkiewicz和团队立刻确立了一些基本思路。他们知道要讲一个关于杰洛特寻找养女希里的故事——她是《巫师》书里能使用强大魔法的热门角色。他们知道主要反派是狂猎——一支基于欧洲同名民间神话的幽灵骑兵。他们知道《巫师3》要发生在三个巨大的区域:史凯利杰,一群受北欧启发的岛屿;诺维格瑞,《巫师》传说中最大最富有的城市;以及威伦,也叫无主之地,一个贫穷、被战争蹂躏的沼泽地。"我们被这个规模吓坏了,"Konrad Tomaszkiewicz说。"但在这个公司,[我们]都想创造最好的游戏体验。我们被挑战驱动,[即使]这个挑战几乎不可能完成。"

四、设计的挑战

进入预制作阶段,设计团队开始讨论和规划结构,已经很复杂了。"纸面设计上有不少真正有挑战性的部分,"首席任务设计师Mateusz Tomaszkiewicz(Konrad的弟弟)说。"比如,最初的想法是只要你离开序章,就能去三个区域中的任意一个。"这个决定是为了更多自由——Iwiński的口头禅——但这让设计师们犯了愁。

CD Projekt Red已经决定《巫师3》的敌人会有预设等级,而不是随玩家等级提升。《上古卷轴4:湮没》最著名使用的等级系统让RPG玩家深恶痛绝,因为当敌人和你一起升级时,就消除了一种角色真正变强的感觉。(没什么比看着你的高级超级英雄被一群可怜的地精屠杀更让人不爽的了。)

然而,没有等级系统就无法平衡开放世界RPG的难度。如果玩家可以在游戏开始时选择去史凯利杰、诺维格瑞或威伦,这三个区域就必须都充满低级怪物,不然会太难。但如果三个区域都有低级怪物,一旦你获得一些经验,就能轻松穿过所有区域。

为了解决这个问题,CD Projekt Red采用了更线性的结构。序章之后,你先去威伦(低级),然后诺维格瑞(中高级),最后史凯利杰(高级)。你仍然可以在区域间移动,但进度会稍有限制。再说,如果游戏要像他们希望的那样大,他们需要稍微引导一下玩家。"我们想让你觉得自己没有迷路,大致知道去哪里,结构是什么,"Mateusz Tomaszkiewicz说。"当你随便去哪里,我们觉得序章之后信息量太大了——你会不知所措。"

早期开发者们就知道《巫师3》要比任何现存的东西大得多。大多数游戏目标是十到二十小时。更大一些的RPG和开放世界游戏,通常瞄准四十到六十小时。但CD Projekt Red想要一个至少要一百小时才能完成的游戏。为了达到这个离谱的数字,《巫师3》的设计师们需要尽可能早开始,在预制作阶段就开始写,能写多少写多少,甚至在游戏还没得玩之前。

五、从写作到承诺

一切从写作室开始。"我们从一个非常笼统的想法开始,"编剧Jakub Szamałek说。"然后扩展它,拆分成任务,和任务设计师紧密合作,确保从他们的角度一切都合理。然后反复迭代。"他们决定主任务围绕杰洛特寻找希里,游戏中间会穿插你扮演希里的段落。还有一系列重要的任务线是可选的,但会对游戏结局产生重大影响,比如潜在的弑君情节和杰洛特与女法师特莉丝和叶奈法之间的三角恋——这两个角色都出现在之前的《巫师》里。然后是次要任务,包括各种谜题、怪物猎杀和跑腿活。

作为任务部门的主管(这个职位是他从哥哥那里继承的),Mateusz Tomaszkiewicz会和作家们一起为每个任务定基本主题("这个关于饥荒"),然后分配给一个任务设计师,由他规划任务的具体流程。会有多少战斗?多少过场动画?多少调查?"整个逻辑链是为了弄清楚这种情况实际上如何发生,作为玩家你的目标是什么,你要面对什么挑战,"Mateusz Tomaszkiewicz说。"节奏超级重要,因为你可以有个很棒的故事,但如果对话或过场太多就会拖。所以你需要好的节奏,这是我们这个过程中很重要的一部分。"

他们面临的工作量是巨大的,计划2014年发售,时间紧。据说《巫师3》的世界是《巫师2》的三十倍,当任务团队开始查看早期的美术资源和地图计划时,他们慌了。"第一次他们向我们展示世界的规模时,我们吓坏了,因为是这么大的陆地,"Mateusz Tomaszkiewicz说。"而且因为我们不想做水货内容,我们必须在这些区域提供一些有价值的内容,不然它们会是空的,那就太糟了。"

在这些早期设计会议上,Mateusz Tomaszkiewicz和其他设计师定了一条简单的规矩:别做无聊的任务。"我称之为'跑腿任务'——就是那种单纯的取东西任务,"Tomaszkiewicz说。"有人说给我杯子,或者十张熊皮啥的。你给他们带去就完了。没有任何转折,什么都没有……每个任务,不管多小,都应该有一些让人记得住的东西,一些小转折,一些你能记住的东西。一些意外的事情发生。"在预制作期间,他们担心没达到这个质量标准,于是Tomaszkiewicz砍掉了大约一半已经规划好的任务,"首先是因为我觉得我们没时间真的全部及时完成,其次是我只是想利用这个机会过滤掉最弱的那些,"他说。

他们知道让《巫师3》脱颖而出,就是要颠覆人们的期望。有一个早期任务叫"家族事务",会让杰洛特认识血腥男爵,一个有希里下落信息的贵族。为了知道血腥男爵知道什么,杰洛特需要帮他寻找失踪的妻子和女儿。但随着任务推进,你会发现男爵是因为酗酒、虐待妻子、对每个人都像个暴力垃圾而把家人逼走的。现在他似乎后悔和道歉了。你会原谅他吗?帮他与家人和解?帮他挖出并驱除他埋在后院的死产婴儿的恶魔胎儿?(《巫师3》总是更上一层楼。)

别的RPG在道德问题上往往画清晰的线——比如BioWare的《质量效应》三部曲会根据你的对话选择是好人还是坏人——但在《巫师》里,几乎没有圆满的结局,CD Projekt Red觉得这是波兰文化的映射。"这就是我们东欧人的看法,"Marcin Iwiński在一次采访中说。"我奶奶经历了二战。她从纳粹运输中逃脱,在村子里藏了几个月。这在团队大部分人的家庭中都留下了印记。虽然团队很国际化,但大多数是波兰人。这会在你身上留下一些东西。"

通过血腥男爵这样的任务,《巫师3》的设计团队想让玩家面对艰难的选择。他们想让你质疑自己的道德,他们想让你在游戏结束后很久还在思考那些伦理问题。早期的日子,当CD Projekt Red的作家和设计师们试图弄清楚如何实现这种叙事复杂度时,他们遇到了太多游戏开发者都遇到过的挑战:当你还没有游戏时,怎么判断一个任务是否有影响?

有一天,编剧Jakub Szamałek意识到自己有麻烦了,因为他得找一个场景让一些队友审核。他写了一个他认为很扎实的剧本,里面有英雄杰洛特和女法师叶奈法之间有趣的对话,然后把它放进游戏引擎里看看什么样。美术团队还没做完杰洛特和叶奈法的模型,所以Szamałek不得不用几个通用的渔夫做替身。游戏里还没动画或嘴唇动作。最终会成为详细房屋的东西当时只是灰色的大盒子。偶尔摄像机会故障,飞进某个人头里。没有配音——得到最后才会录——所以每个人都必须阅读并想象配音会是什么样子。"然后你坐在那儿试着向他们解释,"Szamałek说。"'所以听好了,想象这里发生这个,杰洛特做这个表情,这里停一下,然后他们说这个,然后我们展示杰洛特的表情,他退缩。'这应该是有趣的。房间里十个人,他们看着屏幕说,'我不懂。'"

Szamałek是个有讽刺风格的作家,在《巫师3》之前没做过游戏,所以他没意识到写电子游戏有多难。在一个任务中,当杰洛特和叶奈法一起穿过废弃的花园寻找希里时,Szamałek必须写出能捕捉角色复杂历史的对话。杰洛特和叶奈法会互相嘲讽,但 banter 下应该有一种温暖的暗流。在早期测试中,传达这种微妙的人类情感不可能。"当有配音的时候一切都好使,因为好演员可以同时又刻薄又温暖,"Szamałek说。"但当你只是在屏幕底端看到字母,两个灰色的史凯利杰渔夫在互相说话,很难让人理解并说服审核你的人这最终会有效。"

对于Szamałek和其他作家来说,这个问题的解决方案之一是一次又一次地提交草稿,随着团队实现越来越多的游戏,每个场景都反复修改。一旦游戏有了基本的角色模型和简单的动画,就更容易看出每个效果。人们经常想知道CD Projekt Red是怎么把《巫师》游戏的写作打磨得这么好,尤其是有那么多内容的时候。答案很简单。"我不觉得《巫师3》里 有任何任务是写一次、被接受、然后就录音的,"Szamałek说。"每件事都被重写了几十遍。"

六、公开承诺

2013年2月,CD Projekt Red公布了《巫师3》,通过热门杂志《Game Informer》的封面展示了杰洛特和希里骑在两匹马上。Konrad Tomaszkiewicz和团队立下宏大承诺:《巫师3》会比《天际》更大。没有加载时间。2014年发售,至少一百小时游戏内容。"我们为这个封面讨论了很久,"Tomaszkiewicz说。"我们知道需要展示什么[是]开放世界。"这是他们的公开亮相。通过强调《巫师3》是一款你可以去任何地方、做任何事情的游戏,CD Projekt Red将向世界证明波兰也能做出相当不错的RPG。

开发者们对游戏平台故意含糊其辞,因为索尼和微软还没公布新主机,但《巫师3》团队的每个人都知道会出PC、Xbox One和PS4,跳过上一代硬件。这是个大赌注。一些分析师觉得PS4和Xbox One不会像前任卖得那样好,而且大多数发行商坚持让游戏"跨代"以覆盖尽可能多的受众,EA和动视就是这样——《龙腾世纪:审判》和《命运》。

CD Projekt Red知道老硬件对他们的目标限制太多。如果必须为上一代主机限制《巫师3》的内存,就无法达到他们觉得这个游戏可以实现的照片级真实感。CD Projekt Red想构建一个拥有正常生态系统和昼夜循环的世界,有精细的城市和在风中摇曳的草。他们想让玩家能够探索每个区域的全部,而不用等部分游戏加载。这在PS3或Xbox 360上都不可能。

公布游戏并向《Game Informer》展示演示后不久,CD Projekt Red的工程师对渲染管线进行了大改革,改变图形在屏幕上的呈现方式。好消息是让一切都明显更清晰,从皮袋上的皱纹到水中的人物倒影。坏消息是为了实现它,美术师们必须改变几乎所有已经做好的模型。"这经常发生,"视觉特效艺术家Jose Teixeira说。"一个大功能被开发,如果它被认为对游戏很重要——如果游戏真的会从中受益——那么即使这是个大变化,资产要重做啥的,值得做。"

(未完待续)

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-20 01:23:41 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/466047.html
  2. 运行时间 : 0.185932s [ 吞吐率:5.38req/s ] 内存消耗:4,620.64kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=75c9e6cf39a04203ff1de0e8dba6fd8a
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000907s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000942s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000325s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000263s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000449s ]
  6. SELECT * FROM `set` [ RunTime:0.000178s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000536s ]
  8. SELECT * FROM `article` WHERE `id` = 466047 LIMIT 1 [ RunTime:0.000446s ]
  9. UPDATE `article` SET `lasttime` = 1776619421 WHERE `id` = 466047 [ RunTime:0.003502s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000247s ]
  11. SELECT * FROM `article` WHERE `id` < 466047 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000402s ]
  12. SELECT * FROM `article` WHERE `id` > 466047 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000365s ]
  13. SELECT * FROM `article` WHERE `id` < 466047 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000988s ]
  14. SELECT * FROM `article` WHERE `id` < 466047 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000702s ]
  15. SELECT * FROM `article` WHERE `id` < 466047 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.009473s ]
0.187682s