部分关卡借助修改器终于在今天通关了。
由于借助过修改器所以也就没有资格评判游戏性的问题了。很多关卡设计的老实说非常巧妙,可惜由于通关强迫症所以放弃了部分动脑和享受的乐趣(主要是我个人很不喜欢刷等级,由于不怎么喜欢妹夫所以没有刷他的等级,需要的时候就直接修改了),可能会在未来二周目的时候仔细考量策略。在13章英国来复枪手加入之前可以依靠散兵和猎兵的闪避·命中机制与波利娜的恢复能力开无双。13章之后必须依靠兵种合同。
就目前体验来看在后期卡宾枪手(高机动性·高输出·远射程)和胸甲骑兵(高防·高伤·坦克)是非常有用的兵种,这两者的合同可以解决大多数情况。轻骑兵在后期英国来复枪手强势的情况下必须练起来,无论是妹夫还是温柔大姐姐夏洛特,无论前期这个兵种再乏力。
部分兵种的成长曲线确实设计有一些不当,比如轻骑兵的20级成长技能很鸡肋。榴弹炮手和霰弹榴霰弹游戏里加入时间太过靠后。前期轻步兵太多,而火炮一直靠酒鬼妹子一个人输出很乏力。不过由于用过修改器,可能部分曲线与关卡的匹配已经与作者的原计划偏差过多,就不多说。
这个游戏总体上还是值得上票价的。
用心的立绘自不多提,不提身形,来复枪手制服和红衣真的很棒。作为SRPG的定位,其人物也进行了广泛的取材。我个人更偏爱英国组合。
安妮·韦斯林,波利娜·波拿巴的公式对手。这个名字历史上的确存在,但是非常泛用。威灵顿的家族里远不止一位安妮•韦尔斯利。其中最接近的是威灵顿的姐姐。1768年生,土伦围城战时年龄大概是25岁。人物介绍里安妮的性格和历史上威灵顿的性格与波利娜和历史上拿破仑的性格差距还要大,可能这就是兄妹性格的互补吧。威灵顿的描述刚好和游戏里对安妮的描述完全相反,他是个把一切事务紧紧攥在自己手里,不信任多数下属,几乎是事必躬亲的人,而且对待下属语气刻薄。所谓发掘优秀校官可能是指提拔攻城先登的坎贝尔。
“我们给法国人造成的所有打击都没能给我们的将军们在心理上和指挥部队时带来足够的信心,当我在场指挥的时候他们都是真正的英雄,但当我因故离开时他们就是一群小孩。”
“没有比指挥这种广阔战线更让我讨厌的事了,因为我无法亲自指挥下令。”
——《战场决胜者003》康伯克:溃疡的晚期
有些人可能因为拿破仑事必躬亲,将领无能的概念深入人心(其实这是很有待商榷的),而作为公式对手很多人希望威灵顿展露另一面,但事实上在紧攥军权和不信任下属上威灵顿相比拿破仑有过之而无不及。拿破仑至少在会战和军团机动中依赖于自己优秀的军长,威灵顿则缺少这种资源并习惯具体的看管自己的骑兵,部署炮兵。期望威灵顿在大军团指挥上优于拿破仑也是没有什么依据的。
游戏里的安妮颇有铁公爵之风,镇定自若,挥斥方遒。一出手就将波利娜在战役上逼到大劣。而安妮出现的关卡“深陷泥沼”也很好的反映了老韦的军事特点之一。
这一关的泥沼和草地真的是极具地形掌控力的老韦的拿手战场之一,美中不足的是敌人的兵种完全不对。由于AI的白给特征,所以泥沼不知道埋葬了多少奥地利骑兵。我打这个关卡的时候虽然很头疼,但是还是禁不住会想如果草地里不是奥地利骑兵而是换成等量英国轻步兵师,那么这关可能我就真的不会打了(修改器)。
而睿智温和的语调又是我个人很喜欢的个人特质,辅以干练的红衫爽利的短发,可以说是非常棒的角色。如果把技能变成隐形光环之类的(在个人体会里韦尔斯利最拿手的并非防御而是地形利用和部队隐匿),不知道难度会不会更高。
如果问拿破仑时代最庞大高效的散兵部队属于哪个国家?那么可能法国散兵实至名归。但是他们的英国对手也可以自豪的宣称,“我认为法国轻步兵总体上比我们的轻步兵更加高效,但是95团比他们更强。”“英国轻步兵之父”穆尔爵士一手造就了英国轻步兵,无论是军中精英43、52,还是著名的优秀射手60、95。如果问哪支部队是拿破仑战争中最著名的狙击手部队?那么非英国95来复枪团莫属。这些身着墨绿夹克,手持贝克线膛枪的射手在半岛战场给法军带来很大的麻烦。而若说其中最杰出的狙击手,那么自然就是托马斯·普伦基特(Thomas Plunket),奈伊元帅的爱将奥古斯特-弗朗索瓦-马里•科尔贝•德•沙巴奈就在半岛战场上殒命于此人之手。
据说一位英军指挥官-可能是爱德华·佩吉特,这点后世存在争议-宣布任何人,任何击毙那位骑着灰马的勇敢法国军官的人,都将得到赏金。无论上述情况真实与否,一位著名的射手,95来复枪团的托马斯·普伦基特,冷静地进行瞄准并于200~300m的距离上一枪命中了科尔贝的头部,下一枪击倒了一位试图帮助科尔贝的军官。当晚他就得到了一笔钱。(事后英国拒绝承认曾下令悬赏)
鱼鹰社《拿破仑的指挥官》
这位射手在战争生涯里兼具幸运和能力,屡立奇功。但是他的一生却以不幸告终,战争结束回到英国的他,在贫病交加中暴死在街头。英国政府似乎从来不会照顾好自己的功臣。
游戏里这位射手的技能和她的来复枪手一出现就终结了我想用散兵通关的想法,这些来复枪手的平均属性都很强,而这位射手的技能在不靠血量而依靠命中·闪避对战的散兵战里简直如同掀了桌子。也正是这些来复枪手逼迫我开始练妹夫和夏洛特(虽然省时间用了修改)。
这个游戏为了兼顾游戏性和平衡难度可能在兵种上做出了很多的牺牲。
前期的线列步兵仅有波利娜和拉纳可选,可以说用起来非常吃紧了。
在游戏里优势对抗重骑兵,劣势对抗散兵,这在历史上倒也并非无迹可寻。实际中步兵、骑兵、炮兵的确存在相互优劣势的关系。但是后期的英国步兵普遍炮兵减伤(为酒鬼姐姐哭一会),这个设计其实蛮摸不着头脑,在塔拉韦拉、四臂村、滑铁卢之战在威灵顿无力为其提供良好的地形和遮蔽后法国炮兵都给英国步兵带来严重的毁伤。在游戏里用于支撑战列,但是两个单位用起来实在捉襟见肘。可进化为近卫掷弹步兵或者掷弹步兵。实际中两者分别作为近卫军序列和近卫军之外的部队,承担很接近任务,往往作为法军的会战预备力量和突破力量。在游戏里分别走向进攻·机动路线和防御路线。
轻步兵其实历史上严格来说没有很严格的狙击手/骚扰散兵的分类,虽然的确某些书籍有精准射手的区分。但是游戏强行将其分开。散兵线是拿破仑战争中的重要一环,法军依靠他们强大的腾跃兵/猎兵侦查地形,软化敌人的阵线,袭击对方的炮兵(在游戏里这么干要慎重,炮兵打轻步兵很痛的,(感觉很不科学)),可以给对方线列步兵带来严重伤亡并破坏其组织,从另一个方面来看,历史上不少战史作者在整理和论述中认为轻步兵和炮兵起的效果是接近的,虽然游戏里线列比例并不很高,但是轻步兵的强大输出贯穿始终,而且依靠玩家对地形的控制和堆技能堆闪避,这是很容易无双的部队。就个人体验来看最畏惧的情况是在平地遭遇轻重骑兵和炮兵的攻击。在草地里有时哪怕对手是轻骑兵都能反杀给你看。游戏里分为高闪避的近战部队(类似XCOM里的游侠)和远射程的射手,射手也容易被炮击暴死(再次表示很不科学,大炮打蚊子怎么可能这么有效。)轻步兵是玩家和历史上法军手里的强大武器。历史上在半岛战场威灵顿能成功在会战里对抗法军步兵的原因之一是威灵顿改良了英国的轻步兵组织,在数量上同法国轻步兵相比不占劣势。而轻步兵作战往往就是数量不占大劣就可以对抗,单纯的轻步兵以营级在掩体对射结果往往是互射一下午检查一下伤亡是个位数,实际里防御方优势更大,因为进攻方很少有足够的时间寻找掩体。在游戏中玩家有很多单位的轻步兵,注意自我保护能提供可观的输出。(脸黑的人慎用,因为轻步兵不玩血量,只玩几率。)
骑兵里个人最偏爱的是重骑兵的后期型,胸甲骑兵,游戏里如果注重养等级,可以经常0伤对敌,这时除了线列步兵可以强吃很多部队开启无双模式,是后期一个重要的支撑和推进单位。(配合20级技能效率很高)轻骑兵前期乏力,但是后期随着对方来复枪手的增加不得不练(而且补刀偷点都不错)。而且乘胜追击和迂回等技能在后期某些占点关卡有奇效。夏洛特的输出也并不算弱。但是遗憾的是按道理骑兵对炮兵有一定优势对抗,可惜游戏里往往重骑兵和轻骑兵会被对面高地炮兵洗成弱智,如果脸够黑轻骑兵可能会被炮兵直接灭队。
火炮是这个游戏里一个不可不说的可惜之处。首先是单位少,其次单位出场偏后。火炮的射程(以英国9磅炮为例,实心弹有效射程1400码,霰弹有效射程500码,榴霰弹有效射程2215码(实心弹在1000米距离可以维持30%命中率,榴霰弹1000码时命中率48%)),而理论上滑膛枪射程(450码视为无法命中,游戏里面假设是按照80~160码折算成一格的长度标幺值(对大型标靶65%~49%的命中率)),那么射程怎么看都短了一些。(而且没有在游戏中看出明显的溅射和范围杀伤效果,个人习惯空血补刀,可惜游戏里跳弹和空爆是无法空血补刀的)在游戏中没有进行12磅重炮方向和6磅骑炮方向的分支,而是给酒鬼姐姐加了一个骑炮机动的技能。总体上使用时手感不是很舒服,感觉位置非常靠前,但是明显使用目的又不是抵近射击。而且很多线列步兵可以靠技能减少火炮伤害,实际游戏中往往用来赌脸炸轻骑兵和轻步兵,很玄幻。游戏里同样进行了拿破仑全面战争里加农炮和榴弹炮单位分离的方法,实际中以英国后期炮兵分队为为例,一个分队5门9磅炮和1门榴弹炮。如果有玩家希望在一款同人的SRPG游戏里强行追求历史感,那么以英军的9磅炮为例其弹药配给比例是88发实心弹+16发霰弹+12发榴霰弹。
(以上数据来自《皇帝的刺刀》)
技能设计里面技能的平衡性设计感觉的不错,有些很实用,像无视地形机动、英勇攻击连击、轻骑兵的乘胜追击(跑路)。但是像轻骑兵的英勇攻击增伤之类的技能就蛮鸡肋的。在名字上引入了跳弹、软化阵线、近卫军等等名词。感觉作为常识引入和历史代入感来说是非常不错的。
最后,小心军乐队的爱梅妹子!小心骑乐队!!派骑兵的时候千万不要贪!!!
后期轻步兵输出是连射两轮的两格以上爆炸输出!火炮打乐队很痛!这游戏的失败判定条件很严格,不想暴死就千万慎重!在散兵面前线列再厚也别浪!高地有炮兵骑兵一定要擦边走!射手机动时一定注意对面的火炮!小心地图上新刷的兵!(来自已经改了等级还是花式暴死的某玩家)
总结:一款不错的游戏,但是考量SRPG游戏的定位,在人物上由于出场人物过多,很多人物形象非常单薄,希望游戏作者丰富人物故事,或者附上历史原型,丰满人物形象。
游戏难度较高,希望有些关卡适当放松失败条件的限制。
开门见山,发售当天在本周没有什么时间玩游戏的情况下依然登录STEAM入手为先,原因有三
敢于挑战有外国历史背景的题材,又在场(nai)面(zi)设计上能够让人看到其用心的国产单机制作组,再不支持一波的话,以后这个类型的游戏可能就真的会在国产当中绝种了
而真正进入游戏试玩两章以后,可以说整体的美术风格和配乐甚至还超过我的预期,挺有代入感,算是惊艳了
对steam上看到的很多“硬核差评”我也不敢苟同。虽然很多人诟病战棋系统的设计问题,但这一点我还是很理解 @圣女战旗制作组 ,在经验不足以驾驭更加复杂的数据系统的情况下,确实没必要去承担一个可能让整体游戏性完全崩坏的风险。须知这是一款战棋,不是兵棋,游戏不是只做给你一个人玩的。
战棋的数值曲线设计的不够完善,可以改,但真的不要以兵棋的眼光来评判一个战棋游戏。要知道暗耻早年的战棋经典之作《英杰传》《曹操传》同样没有考虑到HP对攻击力的影响(英杰传肯定没有,曹操传不太确定,但有也肯定不是按照兰卡斯特模型去设计的),一点也不妨碍它的成功。把战场侧重点放在对英雄人物的输出和培养,然后看着英雄一路顺着历史事件的进程成长起来,不也是一种成就感吗?
换句话说,就算当galgame玩了又怎样?
刚好前两天写了这么篇回答
从游戏品质角度来说,暗耻现在就算随便拿两个氪金冷饭出来炒炒,只靠那副皮囊也足够吊打国内95%连皮囊都不愿意用心的东施效颦之作
要知道之前暗耻的很多皮囊,其实都是在国内完成的,说明这块只要我们投入,就一点不会做得比别人差,甚至更好
在内核的系统设计还不足以和外国老牌开发者相抗衡的客观现实下,把游戏的外在表现力先做好,国产单机尤其是历史策略题材,才有站稳脚跟的希望吧
美術和玩法方面且不提,我只談劇情方面。
我最感興趣的部份是:這一批中國的遊戲製作者,會怎樣來描寫法國大革命時期的情節,怎樣描寫裡面的人物?能否真的帶出那時候法國人的語言風格和思想文化,或者,不要求忠於史實,但也做出一些別樣的特色?
結果比較失望。目前打到第七章,我看到的對白,也都是日本輕小說和萌系動畫、遊戲作品的風格,我只看到本作套用了那些常見的模版:這種妹妹是什麼樣子,那種哥哥會說什麼話,就這些。
這遊戲不久也會出英文版,我想大家也會期望出個法文版,然後看法國佬對此有何反應。如果就照現在這個樣子的話,我想評價不會高。
我對法國文學涉獵雖不多,以前在翻譯小說裡也看過一些,無論是裝腔作勢、豪情壯志還是吐槽、羞辱、開車,尺度都比較大,口味也比較重。如果說現在日本人來寫劇本只會按他們那一套來萌化、淡化,我們除了吐槽一下也沒什麼好說的;但中國人來寫劇本也按那一套來,而且沒有脫出那些模板的自覺,我就比較失望了。
語言風格之外還有階級矛盾、政治衝突,這方面中國人因為教育和網路小說的關係,水準一般是遠高於日本,而現今日本作品常被詬病的一點就是為了觀眾的口味和感情,強行要各路人馬和衷共濟,開掛也要強行讓他們尿到一壺去。本作的設計也是如此:在這個時空裡,因為某種神秘力量的關係,大革命沒有爆發,而是暫時把各方矛盾壓了下來,讓各方稍微妥協,維持著一種平衡狀態。這自然是一種讓人比較安心的局面,不然如果跟史實一樣大失序、大混亂,不分敵我殺個血流成河,那就萌不起來了。但這樣一來,中國作家的強項:政治權謀的描寫、權力關係和制度的剖析,就廢掉一大半了。你知道編劇不敢往失控的、傷害玩家情感的方向推演,你知道他一定是要繼續強行和衷共濟,開掛解決危機,那還有什麼劇力好談的呢?這樣一來,本作也就是一個萌系遊戲,而上升不到「文化輸出」乃至「文化反攻」的高度了。
這娛樂作品需要承擔這樣的使命嗎?我認為很有必要。因為你想想,大家想要的是什麼呢?感官上是大白奶子,大車隊,轟轟轟轟,這個他們做了,雖然沒做H場景,大家也能諒解。但我們除此之外還是有點精神需求的,這精神需求是什麼呢?就是歐洲人美國人特別是法國佬,折服在我們的劇情之下,發Quora說:「為什麼中國佬做法國大革命遊戲,對歷史的理解比我們自己還透徹,講得比我們還清楚,法文還寫得比現在那些作家都能掌握那個時代的韻味?#育碧你看看你」。這樣,大家才能達到真正絕頂的高潮。
這一把沒做到是可惜了。下把加油。
自答一发!
前天游戏正式上架之后,我们修Bug改内容忙了个昏天黑地,也充分感受到了大家的热情。半夜趁着休息在各个论坛和社区看了一圈各种各样的玩家讨论,其中比较常见的一个争论是:为什么我的某支部队的生命值都只剩下1了, 仍然可以从后面冲上来一排线列步兵把阵型补齐,朝对方打出全额伤害?难道不应该是这支部队被打得死伤惨重,只剩下孤零零一个小兵,根本无力对敌人造成什么伤害了吗?趁着半夜终于闲下来了有空码字,我们也想跟大家分享一下自己在这部分设计上的想法,欢迎大家探讨和指正。
其实在最初设计战斗的时候,“战斗力和生命值挂钩,生命值越低越打不动敌人”这样的系统恰恰是是我们最早考虑的方案——大体上会是一个兰开斯特方程的战斗模型。因为这样的数值模型跟我们想要表达的排队枪毙式的战斗看起来是最契合的。
但是在接下来的讨论中,有几个原因使得我们放弃这么做,转而采用伤害和生命值不挂钩的传统数值体系。其一是我们自己觉得,作为自己动手开发的第一款SRPG游戏,我们的经验还远不足以驾驭过于动态的数值系统,如果玩砸了那可真是万劫不复,其二是如果采用这样的战斗规则,整体设计上就会倾向于变成一个抢先手的游戏,或者小兵很多的大战略游戏,和注重于剧情和角色成长的SRPG区别很大。最后就是担心即便我们运气爆表,能够做好这样复杂的系统,很多不太熟悉SRPG的新玩家也会难以计算和掌控变数过多的战局(毕竟战棋这个玩法本身就已经挺硬核了),然后被劝退……
另外从背景设定上讲,我们也有“想要更好地表达我们所理解的排队枪毙”的想法,而目前这种战斗表现就是一种尝试——不过现在看起来确实给大家造成了一些困惑,还是有待改进。具体说起来是这样的:
熟悉《全面战争》系列的玩家都知道,全战系列的传统战术总结起来就是“砧板与铁锤”:步兵顶住,骑兵想各种办法绕后,从侧面或者后面冲一下就把敌人打成白旗溃散了,而这支溃散的敌方部队可能根本都没死几个人,只是士气崩了而已。
另外大家经常可以在各种排队枪毙战斗的电影片段中看到这样的场面:前排的燧发枪兵被对面射来的子弹打翻在地,后排的士兵面无表情地快步上前,填补了阵线的空缺。这当然是因为当时的作战方法要求线列步兵们尽量保证第一轮齐射的密度,以此来提高命中率——毕竟排队枪毙的命中率十分感人,所以越能承受巨大伤害维持第一排士兵密度的部队,就越能在第一轮齐射中造成巨大的伤害,这就足以称为那个时代的精锐部队了。
到这里大家也可以猜到了:受到以上两部分内容的启发,我们才将战斗设计成了现在这个样子。在最初的设定中,每个指挥官手下的部队从概念上讲大约是一个连的人数(拿战时代步兵和骑兵、主力和后备部队在连这个单位的人数各不相同,在此不展开细说,总之差不多就是一百来人),而“生命”这个属性其实原本的概念是“士气”或者说“组织度”,代表的是一支部队在被打得士气崩溃逃离战场之前所能承受的伤亡。只要这支部队还能鼓起勇气顶着枪林弹雨作战,他们就永远会从后排跑上来补齐缺口,保持第一排进攻阵型的齐整。
后来因为需要给用来发动英勇攻击的“能量槽”取个便于理解的名字,就只好把“士气”这个名字用掉了,而且如果再用“组织度”来表示每个单位能承受的伤害,感觉对于普通玩家来说就有些生僻和难以理解了,所以最后我们也没有强行给玩家制造理解障碍,直接取了大家都熟悉的“生命”这个词来表示部队承受伤亡的能力。
那么很显然,以“士气”或“组织度”来带入理解“生命值”的话,一切就豁然开朗啦!生命值的高低就是部队承受伤亡的忍耐力,越高级的单位越能承受伤亡,血战到最后一人。同时很多被大家吐槽魔幻的设计也并不是那么魔幻啦。比如说:
军乐队加血是怎么回事?那当然是通过军乐队的鼓点重整队形。
烤篝火回血又是怎么回事?其实是轻伤减员的士兵得到了休息,归队了。
吃面包怎么也能回血?哦,这个是士兵吃到了家乡的食物,重新燃起了战斗的意志(我编不下去了
最后还是再次感谢大家!忙了两年的心血,能够得到很多玩家的认可也好,批评也好,实在是非常幸福的事,谢谢大家玩我们的游戏。
任何一样产品,如果沒有人用,那么只可能是一个原因——
它不好用。
绝对不可能是其他的原因。什么垄断啊,什么用户懒惰啊,这些原因都是不存在的。
7-Zip也是如此。
至于什么「7-ZIP比winRAR在多个方面优秀」这种说法,只是7-Zip往自己脸上贴金而已。
举个栗子,这是我公司的一个文件夹:
我就不说正宗的7-zip软件了,那玩意儿跟winRAR根本沒法比。我说说最近比较火的bandizip,这个软件也支持7z格式。
用bandizip压缩一下,选择zip格式,耗时4秒。
换7z格式压缩,耗时20秒。
zip格式压缩包的大小是79.9M,7z格式压缩包的大小是76.9M。7z格式只比zip格式小3%,但是压缩耗时多了4倍。这种情况下,7z的优势何在?
当然,我们可以修改参数。我把压缩级別调成快速压缩,再用7z格式压缩一遍,结果如下:
耗时8秒,压缩後的文件大小变成了79.8M。
同样的文件,我用winRAR,标准压缩成rar文件,耗时也就是8秒。快速压缩成rar文件甚至能达到跟zip文件同样的4秒速度。
7z总是吹它的压缩率,其真正的原因是:它能吹的也就只有压缩率了。压缩率高3% ,或者高5%,代价是压缩解压速度慢一倍以上,这沒什么值得骄傲的。
下面是谷歌官方做的一个评测:
Deflate是zip使用的算法,Lzma是7z使用的算法。把Deflate:9和Lzma:1做比较:
7z的压缩率比zip高(3.847÷3.371-1)×100%=14%
zip的压缩速度比7z高(15.5÷10.2-1)×100%=52%
zip的解压缩速度比7z高(347.3÷70-1)×100%=396%
7z別说打败rar了,它连把zip按到地上摩擦都做不到。原文是这样说的:
表明了Zopfli,LZMA,LZHAM,和 bzip2在压缩和解压缩时占用CPU时间较长,不会直接代替deflate。
Lzma算法的速度是如此之慢,以至于很多人使用7z时都误以为自己的电脑中病毒了,因为它实在是太慢了。
看看这位,他下载了一个16GB大小的7z格式的压缩包花了10分钟,然後解压缩花了10个小时。
再来做个实验。
我们知道文字类的文件是最容易压缩的。我随便下了几篇网文,加起来一千多万字,分別压缩成zip、7z、rar格式做比较。其中zip和7z用的是好压5.9版,rar用的是WinRAR5.71版,全都采用默认配置。
好压压缩成zip格式耗时2秒,压缩速度14.4M/秒,压缩率39.9%。
好压压缩成7z格式耗时30秒,压缩速度1.2M/秒,压缩率25.6%。
WinRAR压缩成rar格式耗时4秒,压缩率26%。
三个文件的大小比较:
7z凭什么取代rar?
2019年9月26日更新:
本文的所有实验都是简单且可复现的。
上面我们已经以实验的方式说明了为什么不要使用7-Zip压缩的7z格式,下面我们继续以实验的方式说明为什么不要使用7-Zip压缩的zip格式。
这次我还是不用正宗的7-Zip,我用360压缩举例说明。
新建一个文档:
用360压缩制作成zip格式:
点「压缩包语言」,选择「繁体中文」,不出意料地乱码了:
可能有人知道这是因为zip格式不支持Unicode文件名。但是同一个文件,我用2345好压制作成zip格式,换成360压缩打开:
点「压缩包语言」,选择「繁体中文」,这次沒有乱码!
这说明,用2345好压制作的zip文件,跟用360压缩制作的zip文件,是不一样的,不会出现文件名乱码。
事实真相是:並不是zip格式不支持Unicode文件名,而是用7-Zip压缩制作的zip格式不支持Unicode文件名。请注意这其中的差別。
上面说的是360压缩,怎么又跑到7-Zip上面去了?这是因为国产的所有压缩软件,除了好压之外,全都是7-Zip加了个壳。所以7-Zip有的缺点,他们全都有。
我刚试了下7-Zip目前最新的19.00版本,不出意外地发现它依然不支持Unicode文件名。而只要7-Zip不支持Unicode文件名,像360压缩这种7-Zip加壳软件也绝不可能支持Unicode文件名。
现阶段最好用的压缩软件还是好压和WinRAR。
为什么不推荐bandizip呢?因为我讨厌它的推广方式。比方说下面这个表:
这个表是假的。WinZip和WinRAR都支持Unicode文件名,都支持7z的分卷压缩文件,目前也都是免费软件,剩下的「快速拖曳」和「高速压缩」我不太清楚是什么,估计也不是什么重要的东西。总之这个软件的虚假宣传很严重。
2019年9月28日更新:
这种看法是错误的。
好压、WinRAR、WinZip、bandizip这四款压缩软件制作的zip文件彼此通用,也就是说他们都是标准zip格式。
这四款软件都使用Unicode文件名,把这四款软件制作的zip文件拿到韩国去,拿到日本去,拿到世界上任何一个地方去,都不会乱码。只有7-Zip以及360压缩这种7-Zip加壳软件才会有文件名乱码问题。
实际上,对于Zip格式来说,Unicode文件名是可选的。7-Zip选择不支持Unicode文件名是有它自己的想法,因为加入Unicode支持会导致压缩包变大,然後研發7-Zip的那帮人觉得压缩率更重要,所以他们不支持Unicode。
7-Zip官网说7-Zip创建的 zip 格式比大多数其它压缩软件创建的都小 2-10%。大家都用一样的zip格式,凭什么你就比我小?就是因为7-Zip放弃支持Unicode。
「Zip格式本身沒有定义Unicode文件名」,我还真不好说这句话是错的。实际上这句话的正确说法是「Zip格式本身沒有定义一定要用Unicode文件名」,zip格式可以使用Unicode,也可以不使用Unicode,选择权在压缩软件,WinZip和bandizip的Unicode支持就是可选的。
7-Zip不加入对Unicode的支持,把压缩包缩小2-10%,它只说後者不说前者,只说好事不说坏事,这就是宣传。
2019年9月28日更新:
评论区有人指出7-Zip支持Unicode,但是需要手动添加参数。我试了一下,是真的。看来7-Zip还是能用的,只是需要使用者拥有很强的专业知识,对普通用户不够友好。
评论区有人说7-Zip默认不支持Unicode是为了兼容老的程序。这裡我给大家看一段bandizip的帮助说明:
UTF-8是用于存储Unicode的标准字符编码方法,其被开发用于显示各种语言。
由于Unicode和UTF-8是在20世纪90年代之后开发的,因此ZIP格式的初始版本(在20世纪80年代制造)不支持UTF-8。 由于ZIP格式成为标准档案格式并且需要支持Unicode,因此,已经引入了几种方法来处理ZIP文件上的UTF-8字符串。
Bandizip支持其中两种;一种方法是将文件名转换为UTF-8,另一种方法是将额外的UTF-8文件名存储在额外的头字段中,同时将原始文件存储在MBCS中。
在Zip文件中使用Unicode文件名(UTF-8)
Bandizip将文件名存储在ZIP文件中,并将其转换为UTF-8。 它是由APPNOTE定义的标准文件名存储方法,但是一些压缩程序偶尔无法识别ZIP文件或错误处理它们将导致文件名损坏。
将Unicode文件名存储在Zip文件的额外头字段中(UTF-8)
Bandizip将附加UTF-8文件名存储在ZIP格式的额外头字段中,同时将原始文件存储在MBCS中。 此方法也由APPNOTE定义为“Info-ZIP Unicode Path Extra Field(ZIP信息U码路径额外字段)”。 因为它使用额外字段来存储UTF-8文件名,所以文件大小将比前者大几十字节。 但是,原始文件名存储在MBCS中,因此文件更安全,更兼容。
由于大多数压缩程序(如7zip,Winrar和Winzip)都支持此功能,因此可以防止文件名在使用不同系统语言的操作系统中被破坏。
Unicode filenames in ZIP format
简单点说就是zip支持Unicode有两种方式,第一种方式是直接把文件名从本地代码转换成UTF8存储在zip文件中,第二种方式是依然在zip文件中存储本地文件名代码,然後把本地文件名代码转换成UTF8存储在ZIP文件的额外头字段中。第一种方式有可能会出现兼容性问题,第二种方式因为存储的还是本地文件名代码,所以绝对不会出现兼容性问题,但是这样就相当于把文件名存了两次,所以文件会大一些。
大家猜猜,好压、WinRAR、WinZip,以及加了cu参数的7-Zip分別支持哪一种Unicode存储方式?
实测好压支持的是第一种。
上面我用好压制作了一个「新建文本文档.zip」,裡面内容就是一个名为「新建文本文档.txt」的空文档,我用notepad++打开是这个样子的:
一堆乱码,注意那个「金區板缓XXXXX.txt」其实就是「新建文本文档.txt」的乱码。
选择UTF8编码。
正确的文件名就出来了。
我再把这个名为「新建文本文档.txt」的空文档用WinRAR压缩成zip格式,用notepad++打开:
注意前面是正确的文件名「新建文本文档.txt」,後面是乱码。
选择UTF8编码。
前面变成乱码,後面显示正确的文件名「新建文本文档.txt」。
这个用WinRAR制作的文件比先前用好压制作的文件大了48个字节。
这就是第二种方式,实测WinZip用的也是这种方式。
至于7-Zip,它用的是跟好压一样的第一种方式。
我们理一下思路:
zip文件有三种方式,第一种支持Unicode兼容性一般,第二种支持Unicode兼容性好但体积最大,第三种不支持Unicode体积最小。
好压使用的是第一种方式,WinRAR和WinZip使用的是第二种方式。7-Zip默认第三种方式,加入cu参数後是第一种,不支持第二种。
实际上像WinRAR和WinZip这种国际性大公司才是最在乎兼容性的,自由软件开發者我感觉都不太在乎兼容性。
9月30日更新:
说说bandizip这个软件。
安装之後右键菜单会多出来一个「新建文件夹」选项。
然後是传说中的压缩包预览功能。
發现问题所在了吗?bandizip佔的位置太大了,好压和WinRAR都只佔了四五行,bandizip一个软件就佔了十几行,挤得右键菜单都显示不全了。
按道理说,如果我想知道压缩包裡有什么,直接双击打开不就可以了吗?所以我给压缩包预览功能的评价是负分。
还有那个自动解压功能。压缩包裡面有个A文件夹,A文件夹裡面有个B文件,换別的软件解压出来都是A文件夹裡面有个B文件,而bandizip解压出来直接就是B文件,我还得自己建个文件夹把B文件放进去。
总之,许多bandizip吹爆的特性,反而给我造成了困扰。而去掉这些特性,bandizip就不剩什么了。
而且我认为bandizip的界面很「简陋」,这裡说明一下,我所谓的「简陋」意思可能和別人不太一样。
来对比一下。这是bandizip的压缩界面:
这是好压的压缩界面:
bandizip只有一个压缩时间。好压则是压缩时间、压缩速度、压缩率、文件个数什么都有。这就是我所谓的「简陋」,即功能上的「简陋」。
再来看看好压的配置界面,可以自定义压缩算法、字典大小、单词大小。以这个配置压缩解压需要多少内存直接给你标出来。7-Zip也不过如此了吧。
还可以编辑过滤列表,对不同後缀名的文件采用不同的压缩配置。
这就是为什么我宁愿使用有广告的好压,也不用干净清洁小巧的bandizip。
2019年10月1日更新:
刚才测试了一下Win7自带的explorer.exe对zip文件的支持情况,结论如下。
explorer压缩zip文件不支持Unicode,但是可以打开Unicode文件名的zip文件,实测好压和WinRAR压缩的zip文件都可以打开。
explorer只支持deflate和deflate64两种压缩算法,不支持其他压缩算法。
2019年10月2日更新:
感觉好像歪楼了,题目问的是为什么RAR 比 7Z 更流行。我总结一下,7-Zip相比于RAR至少有三大缺点:
⒈界面简陋
⒉压缩耗时高,佔用内存多(在有的人眼中这是优势)
⒊稳定性差,压缩包容易损坏
第三点不是我说的,我给大家摘一段bandizip对7z格式的评价(链接):
为了实现更高的压缩比,7z使用了包括报头压缩在内的各种方式。
但是,由于这些功能,当压缩文件受到轻微损坏时,几乎不可能恢复它。
因此,在以7z格式备份重要文件时,请注意不要损坏它们。
您可以在7Z网站上找到有关如何恢复损坏的7Z文件的信息,但即使对专家来说,完成恢复也是极其困难的。
有人说这是商业软件的刻意抹黑,我给大家转一段开源界大佬对7z的评价(链接):
The [LZMA2 format] contains an unrestricted mix of LZMA packets and uncompressed data packets. Each packet starts with a header that is not protected by any check sequence in spite of containing the type and size of the following data. Therefore, every bit flip in a LZMA2 header causes either a framing error or a desynchronization of the decoder. In any case it is usually not possible to decode the remaining data in the block or even to know what failed. Compare this with [Deflate] which at least does protect the length field of its non-compressed blocks. (Deflate's compressed blocks do not have a length field).
这段文字是什么意思呢?我简单解释一下,LZMA2是7z的默认压缩算法,用这种算法压缩文件会产生这么一种情况:
假如一个普通文件内容是「ABCDEFG」,然後它第二个字节损坏了,我们看到的就是「A?CDEFG」。但如果这是一个使用了LZMA2算法的7z压缩包,我们看到的就是「A??????」。
Therefore, every bit flip in a LZMA2 header causes either a framing error or a desynchronization of the decoder. In any case it is usually not possible to decode the remaining data in the block or even to know what failed.翻译:因此,在LZMA2报头中的每个位翻转都会引起解码器的帧错误或者同步失调。在所有情况下,通常都不可能解码块中的剩余数据,甚至都不知道哪裡错了。
最後,这位大佬给出的建议是:不要用LZMA2算法储存重要文件。
也就是说,如果你坚持使用7z格式,那么你就祈祷吧,祈祷压缩包裡一个字节错误都不要有。因为只要出现一个字节错误,整个压缩包就废了。
所以,即使不考虑时间因素,rar相比于7z仍然是有优势的。
2019年10月4日更新:
今天评论区还有人对我说:你说的不对,zip格式不支持Unicode。唉……
说个可能会违反大家常识的事:一般人可能会认为7-Zip这种免费软件靠的是口碑,WinRAR这种商业软件靠的是宣传。
错!
真实的情况是:WinRAR靠的是口碑,而7-Zip靠的是宣传。
我印象中从来沒见过WinRAR做广告宣传过它自己。WinRAR崛起靠的是它良好的口碑带动人民群众用脚投它的票。
7-Zip並不是缺乏宣传推广,而是它的宣传推广已经过头了。过头到什么程度?明明是7-Zip自己的zip格式不支持Unicode,现在好多人以为全世界的zip格式都不支持Unicode。7-Zip的bug已经快变成feature了。
我试过很多压缩软件,只有7-Zip的zip格式默认不支持Unicode。其他不支持Unicode的软件,我都能在他们的安装目录裡找到7z.dll,这些软件都是直接把7-Zip的东西拿过来用,都不带改的。
有人说什么国外都用7z,于是就有了这么一个有趣的问题:(为什么 Linux 要用 tar.gz,很少用 7Z 或 ZIP)?作为一个自由软件,7z连它的大本营linux都沒有搞定。
还有人说什么国外注重版权,都不用rar。我给大家看一张英文维基百科的截图:
英文维基百科对rar的评价是:second in popularity to .zip files.人家对7z可沒有这么高的评价。
类似的还有bandizip,有人做宣传说bandizip支持Unicode,而WinZip和WinRAR都不支持?
我發现,像7-Zip和bandizip这种免费软件,其官网还是比较靠谱的,基本沒什么虚假宣传。但是其免费的特征,会招来一群人帮他们做免费宣传。然後这群人中的大部分啥都不懂,但是想象力很丰富,会自动脑补出一些並不存在的东西。比方说他们看到7-Zip宣传自己的7z格式支持Unicode,就会自动脑补成zip格式不支持Unicode;他们看到bandizip宣传自己的zip格式支持Unicode,就会自动脑补成別家的zip格式不支持Unicode。明明bandizip的大标题是「ZIP格式的Unicode文件名」,正文说的是「我们和WinZip、WinRAR一样都支持Unicode」,这些人连点进去看一眼正文的想法都沒有。
然後这些人对他们宣传的东西有一种谜之自信。有人说7z格式易损坏,马上就会有人跳出来说你有什么证据?沒有人会把自己的缺点放在官网上宣传,然後这群人的逻辑是:7z不说它有这个缺点,那么它就沒有这个缺点,你这样造谣污蔑肯定是收了钱的。
为什么我说7z易损坏的时候要引用那么多资料呢?因为我害怕被人喷。
10月6日更新:
我记得我已经把这个评论踩下去了。怎么又被顶上来了?
这个评论存在事实错误。因为我用的都是默认配置,7z的默认配置是16M字典大小:
WinRAR的默认配置是是32M字典大小:
居然还有43个赞,可见7z的虚假宣传多么严重了。
市场永不失效。——这是我学了经济学之後最大的收获。
一提起市场失效,大部分都会想到德沃夏克键盘和QWERTY键盘的故事。我学经济学之前也认为这是一个市场失效的典型案例。但是後来我知道了三点我以前不知道的东西:
⒈德沃夏克键盘是有专利的,每一个使用德沃夏克键盘的人都要给德沃夏克交专利费,而QWERTY键盘免费。
⒉所有德沃夏克键盘优于QWERTY键盘的实验,都是德沃夏克自己搞的,他是在推销自己的产品,所以其实验的真实性值得怀疑。
⒊德沃夏克键盘並不完美,比如说现代英语中I的使用频率远高于U,但是德沃夏克键盘把U放在了比I更顺手的位置上。
我觉得第一点就能把这个问题下的大多数人劝退了。
有人说什么WinRAR的流行靠的是盗版软件,装机的人都装WinRAR,用户沒有选择权。
问题来了:为什么装机的人都装WinRAR呢?还不是因为它好用!
这就好比说Windows为什么流行?因为国内电脑都预装盗版Windows,用户沒有选择权。
我才不会告诉你们当年我的笔记本电脑上预装的就是Linux,我回家第一件事就是把Linux格了,换个盗版Windows装上去。
如果装机的人选择7-Zip而不是WinRAR,最大的可能不是用户从WinRAR迁移到7-Zip,而是他这个电脑卖不出去了。
目前的现状是:Windows平台上最流行的压缩格式是zip,其次是rar(rar是第二流行的压缩格式这种观点是英文维基百科说的)。
Linux平台上最流行的压缩格式是tar.gz,其次是tar.bz2。
zip用的是deflate算法,tar.gz用的也是deflate算法,其实就相当于换了个後缀名。tar.bz2用的是bzip2算法,rar用的是私有压缩算法。
这三种压缩格式中,综合考虑压缩率、压缩时间、稳定性等等因素,rar是最好的,但是它收费,所以屈居老二,zip排第一,这很合理,很符合市场规律。
现在好多人吹捧7z的同时都要把zip踩一下,这真是令人无语的操作。很多人都不知道,其实zip也是开源格式。现在压缩界的龙头老大,是被一个开源格式牢牢掌控着的,这个格式就是zip。我平时压东西用的也是zip。
7z三大缺点,一丑二慢三不稳定。按理说第一个缺点是最不重要的,为什么人们常常提起的反而是第一个缺点呢?
这是因为「丑」这个缺点,是一眼就能够看见的,不容抵赖。後两个缺点不是长年累月地使用是不会發现的。
我以前也用7-Zip,7-Zip的zip格式默认不支持Unicode文件名这种坑点我是亲身实践發现的。像WinRAR这种商业软件,人人得而诛之,它一旦出现什么问题就会被人挑出来指着鼻子骂;而7-Zip这种免费软件,推销的人都会或多或少地美化它。WinRAR名面上有很多坑,但是我们知道它就只有这么多坑,而7-Zip看似完美的表象下你根本不知道它有多少坑。
2019年10月9日更新:
标准版:为大众提供的免费的版本
专业版:为专业用户提供的付费版本
企业版:为企业用户提供的付费版本
自7.0开始,Bandizip将会在软件中加入广告,强制更新,並且不再提供离线安装包。希望广大Bandizip爱好者届时能继续支持这个软件,呵呵。
2019年11月3日更新:
有人说字典大小不同不能比较,那我来一个字典大小相同的比较实验:
zip用32K字典,rar和7z都用1M字典,使用的测试材料是中文小说,结论如下。
压缩耗时比:
zip标准:RAR标准:7z快速:7z标准=1:2.5:4.8:9
最终文件大小的比例是:
zip标准:RAR标准:7z快速:7z标准=120%:1:107%:93%
bandizip很鸡贼,他的「正常压缩」使用的是7-Zip「快速压缩」的参数,他的「最大压缩」使用的是7-Zip「标准压缩」的参数。所以使用bandizip压7z的时候,我们会發现他的压缩速度比较快,但是压缩比不高。
2021年10月10日更新:
「7-Zip 现在会为 UTF-8 编码的文件名写入额外的字段至 zip 压缩包中。
这可以让 zip 压缩包在不同系统中提取时能得到正确的文件名。」
7-Zip终于加入Unicode支持了,版本号是21.02 alpha,更新时间是2021年5月6日。
标准zip加入Unicode文件名的时间是2006年。时隔15年之後,7-zip终于支持这个标准了,真是不容易。
另外bandizip所谓的「高速压缩」实测是假的,宣传口径而已。