V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  secondwtq  ›  全部回复第 54 页 / 共 122 页
回复总数  2422
1 ... 50  51  52  53  54  55  56  57  58  59 ... 122  
2020-05-22 10:57:00 +08:00
回复了 itskingname 创建的主题 问与答 在 macOS 下面,如何高效率在程序中打开文件?
Finder 和 Mac 的 CommonFileDialog 有一个 feature,就是直接在键盘中打字,就可以定位到对应首字母的文件,比如直接按 A U,就可以直接把焦点移到第一个 au 开头的文件上。
这应该是 Mac 自带的,解决”特定文件夹下定位特定文件”效率最高的机制(其实可以把搜索范围限制在单个文件夹,不过我这总是出 bug,基本不怎么用),前提是你知道首字母。IntelliJ 用的可能不是 Mac 的 CommonFileDialog 所以可能会有不一样

其实本来可以有一个直接的模糊搜索功能的,理论上你可以给 Finder 写个插件,但是 CommonFileDialog 就不知道可不可以 patch 。实在不行只能怪自己非要使用专有软件,IntelliJ 在 Linux 下又不是不能跑
2020-05-22 00:59:51 +08:00
回复了 secondwtq 创建的主题 Steam 《命令与征服》重置版将以 GPL 3.0 协议开放部分源代码
添加一些上下文信息以飨吃瓜群众:

根据官方消息 https://www.ea.com/games/command-and-conquer/command-and-conquer-remastered/news/remaster-update-source-code,Remastered 将会使用岩画的所谓 GlyphX 引擎和 TD/RA1 的源代码“拼凑”而成。(据传言 EA 丢了一些老游戏的源代码,不知道是不是真的,不过 https://kotaku.com/guy-finds-starcraft-source-code-and-returns-it-to-blizz-1794897125 这种事情倒也不是没发生过)
GlyphX 引擎应该本来是个 3D 引擎,用于岩画的 灰蛊(屎),8-Bit 系列等游戏,网上资料不是很多,可能是由 Empires at War 用的 Alamo 发展出来的,也就是说岩画一直靠这个当家吃饭,我推测开源的不会有这个核心引擎。这两个 DLL 应该主要是一些纯逻辑的东西。

另外 EA 还放出了一个 FAQ: https://www.ea.com/games/command-and-conquer/command-and-conquer-remastered/modding-faq
这次的公告里面提到 Remastered 发布后,玩家可以在官网上联机,但是由于疫情难以进行开发和测试(嘛,至少是这么说的),所以这次发布不会包含局域网联机功能。FAQ 中表示官网联机不支持 Mod 。官方在 Reddit 贴子 https://old.reddit.com/r/commandandconquer/comments/gnevp8/remaster_update_and_open_source_mod_support 回复说局域网功能放出后将会支持 mod 联机。
另外 FAQ 还说单人任务也不支持 mod,根据这些信息我大致可以推导出两点:一是就算单人任务不支持 mod,也并不意味着“不能用 mod 玩任务”,因为自定义任务是支持 mod 的,那只要用地图编辑器复刻一遍原来的任务放进游戏里就可以玩了(官方在 Reddit 上也是这么说的 ...)。另外 EA 很早之前就说了地图编辑器会和游戏一起放出,当时对 mod 的态度是“不做任何承诺”,我一向比较喜欢从消极角度看事情,所以说实话,其实那时已经是事实上死心的状态。第二是确实会有一部分引擎不开源,不然怎么会有这么蛋疼的限制,而且唯一的 workaround 居然是做个新地图 ...

不过 C&C3 、RA3 等 SAGE 游戏的模式是:exe 做一个 Launcher,可能包含一些检查更新检查 CD-KEY 之类的东西,然后把引擎整个放在另一个 binary 里面(不清楚是个 Executable 还是 DLL ),启动时由 Launcher 载入引擎的 binary 。如果是按照这种模式,那相当于 DLL 就是整个游戏了。
我在国外论坛上和其他 modder 简单交换了意见,鹳狸猿不知道哪里来的自信,认为 Remastered 和 C&C3 的模式一样,嘛,但愿我是错的 ...

有人认为 IO 、GUI 和渲染之类的”basic stuff“不开源也无所谓,但是在我看来区别很大——比如我曾经研究过宣传片里面那个特斯拉线圈的电弧,我觉得它并不好看,可能我想改掉它。但是如果引擎只给我提供了一个高层的画电弧 API,却不能控制底层绘制,那就算游戏逻辑开源了,这个东西还是没办法改。

不过就算完全不支持 mod,Remastered 还是可以在 mod 社区发光发热——至少可以为 OpenRA 提供高清素材(现在有源代码就更好了)。但是不好说 OpenRA 会不会把 Remastered 的素材和功能集成进来,因为在我印象中他们蛮死脑筋的 ...
另外由于引擎(大概)不是完全开源的,这也意味着大概只会有 Windows 版(除非拿 Wine/Proton 之类的东西试试运气)。这一点是没法和 OpenRA 比的。全面开放源代码的一个好处就是就算厂商彻底放弃了这个游戏(就像不要钱之后那个状态),玩家还是可以维护源码,不一定做什么大改,至少能移植到其他平台,解决下新系统、新硬件的兼容性问题。在我看来这也是很重要的一点。

但是就算不是完全开源,这个事我目测还是很大一个进步。我认为做到这个程度对于一般的 mod 已经绰绰有余。各个游戏的 modder 都有很多喜欢做 total conversion 的,total conversion 必然会遇到闭源引擎的各种限制。其实我觉得做 total conversion 的就应该找个(写个)正经的游戏引擎做正经的游戏,游戏厂商的工作是提供游戏,不是提供游戏引擎。

EA 这次选择用 GPL 协议,应该也是出于自身利益考量,这个其实很有趣:一般我们刻板印象中的带开源项目都是一个 repo,一堆 Issue 和 PR,什么 CI 流程发布流程都整上,也就是说不仅有”代码“,还有"社区”。而一般如果一个公司把自己的项目开源,社区在 excited 的同时也多少会感觉到有点钦点 ... 啊不是,“甩锅”的意思在里面。也就是说社区帮助公司维护项目,公司就可以利用社区的贡献,把这个项目用到其他非开源的项目里面。走这种模式的话,一般会用 BSD/MIT 之类比较 permissive 的协议。
但是实际上开源仅仅是在 Web 开发等局部圈子里玩得溜,踏出这些圈子之后就是开源的沙漠。就算是 Web 开发,也很少有直接开源最终产品并且按照开源社区的方式来运营的。游戏过去也算是开源的苔原,最近稍微好一点(注意游戏界很多惹人注目的所谓“开源”项目,使用的并非真正的开源协议,只是把源码给你,你能看能改,但是一般源码的使用、重分发之类的都是受限制的,所以最多算 shared source )。而涉及到游戏成品,成熟的模式就是厂商发布,Steam 评论一波,厂商再改,更新一发,Steam 又评论一波。EA 应该不会尝试去搞什么开源社区,也不会直接采用社区贡献的代码,因此 GPL 对 EA 其实没坏处。

主题中提到 EA 说这是首次 RTS 开源尝试之一,这句话丰富的修饰成分”one of“,”major“,”GPL“很有趣。
RTS 作为经典的 PC 游戏类型,开源其实是早已有之。最典型的是 Relic ”开源“ Homeworld 1 的源码,注意这个”开源“并不一定是真的开源,所以加了引号,因为它的 License 其实也不是一个正经的开源 License,而是 Relic 自己的一个 License,具体文本我没有看所以也没办法确定到底算不算开源 License 。这个事确实给 Homeworld 1 的 mod 社区续了不少命。不过其实 Homeworld 2 就没再开源了(并且他们貌似弄丢了一代资料片 Cataclysm 的源码)。前两年的 Remastered 是基于二代引擎做的,所以其实一代源码现在可以看,但是用处不大。Homeworld 对我个人来说算”major RTS“(其实大概是除了 C&C 之外做得最好的 RTS ),但是这个开源不是 GPL 。
另一个开源的 RTS 是 Warzone 2100,这个是 GPLv2,我没经历过那个时代,也没玩过这游戏,所以其实不好说到底算不算 ”major RTS“。

虽然如此,我个人是非常支持 EA 使用 GPL 协议的。因为这产生了一个微妙的副作用:就是根据 GPL 的规定,所有 mod 里改了这些 DLL 的代码,以及其他链接过去的 binary,只要 mod 发布了,都需要开源。其实做 mod 最大的限制是一是个人的能力和时间,另一个就是闭源的游戏引擎本身。对于 mod 社区整体而言,有关引擎的技术(包括绕过引擎限制的技术,扩展引擎功能的技术)等都是最关键的技术——因为这是整个社区所有人的瓶颈。现在 mod 社区有一小撮人过于神经质,他们搞出了一些这种技术,但是并不开放给社区其他人,而是留着给自己 mod 用,甚至还千方百计藏着掖着生怕别人知道(我就被人问过如何达到这种目的 ...)。这个部分锅要给 mod 社区素质参差不齐的新手们背——一些新手连用别人的东西要声明版权都不知道,经常看见这种人真的很累。但是现实是傻逼哪里都有,为了对付傻逼搞技术封锁,对 mod 社区整体却是不利的。GPL 从根上杜绝了这种情况。
不过这只是我打打嘴炮,因为你也看到了,modder 群体其实就是玩家群体的某种采样。有一部分新手啥都不知道,绝大部分人也并不足够了解开源,不知道 GPL 是什么,都很正常。这也不能指望他们会抛弃旧思维,更不能指望会遵守 GPL 协议的规定。EA 也不大可能会为了这点小事真闹上法庭——再说如果 EA 一边比划(自行脑补手势 ...)一边说“当然资瓷 mod 社区啦,你问我资瓷不资瓷,我说资瓷,我就明确告诉你这一点”,然后一边又把 modder 送上法庭批判一番告诉你做 mod 出了偏差要负责的,那不是狠狠的得罪了一下所有人么 ...

考虑到现在八字还没一撇,以及 EA 弄丢老游戏源码的传言,我对后面诸作的重置和开源都不抱什么希望。其实有个人感情因素,因为我的人生目标之一是折腾出一个类 SAGE 的游戏引擎,怎么能被 EA 抢了先 ... 不过我个人倒是很希望看到二代作品和叛逆者能有一些动作,最期待的其实恰恰是理论上 EA 的下一步,就是泰伯利亚之日,除了本来就很喜欢这作以外,也是因为这个游戏本身就很像个半成品,我很好奇他们打算怎么填这个坑 ...

将军其实有人在做,说起来将军的引擎比 2D 时代应该要庞大复杂得多,但是出了个囧事,就是 EA 把 Mac 版交给 Aspyr 来做,结果后者貌似忘记在发布包里面把引擎的 debug symbol 给 strip 掉了 ... 偏偏 RTTI 还是打开的。所以有人发现了就开始利用这个 binary 搞逆向工程: https://github.com/TheAssemblyArmada/Thyme,目标就是一点点把整个将军引擎原样复刻出来。(另外该项目开发者今天 Discord 里面说,将军的代码其实还有一点点是继承 TD 的 ...)
这不是唯一一次,后来在 DX9 时代,Shader 本来应该是编译成 IL 的,但是 C&C3 的 Xbox 版本貌似直接忘记把源代码删掉了,结果可以拿到 Shader 的源码,并且居然编译过之后放进去还可以用。我试过改过,但是其实最多修修 bug,微调下风格,并没有太大的发挥空间,毕竟 Shader 是要依赖于上下文运行的。
2020-05-21 03:11:04 +08:00
回复了 lechain 创建的主题 奇思妙想 有没有可能做一台同时运行双系统的 PC 机?
我不知道楼主这个想法能解决什么”痛点“……
想起我司某高管口罩戴错了,还拍了个照片发 Twitter 上,后来赶紧删了 ...
2020-05-19 22:05:23 +08:00
回复了 wework 创建的主题 程序员 有没有网站可以查看各种浏览器可以支持哪些域名后缀
告诉你个小秘密:Firefox 会把地址栏中所有 xxx.yyy 形式的字符串作为一个域名试图访问
虽然一般我这么做的时候 80% 是想要去 Google 搜一发 ...
2020-05-19 22:01:42 +08:00
回复了 iplayio2019 创建的主题 程序员 有哪些中文字体是 Linux 、Mac、windows 上同时默认安装的
常用中文字体分四大类,宋体,黑体,楷体,仿宋

Windows 自带的宋体是中易宋体( SimSun ),macOS 自带的宋体是华文宋体
注意 iOS 和 Android 上中文只自带黑体,没有宋体(我写 CSS 的时候很想用然而并不能用,很纠结 ...)

明朝体貌似是日本对宋体的称呼,应该也是字体分类

楼主的需求是无法满足的
就说这个 Linux,你指的是这个金 Linux 呢,还是这个银 Linux 呢?
其实如果只限于 Windows 和 Mac 的话,西文还有 Arial,Times New Roman 之类的可以选,把 Linux 这个搅屎棍加进来,连西文也找不到共有的字体了
2020-05-17 16:54:14 +08:00
回复了 Counter 创建的主题 职场话题 阿里腾讯给你发 offer 但是必须 996 你去不?
问题本身没啥意思,但是好像评论看到了俩不会说话的即将杠起来的苗头,先搬个板凳来做 placeholder …
2020-05-17 14:53:20 +08:00
回复了 songdg 创建的主题 Python 如何确定字符串显示的宽度
这么复杂的问题你确定能在中文社区问出答案来么……
2020-05-16 18:34:08 +08:00
回复了 cmdOptionKana 创建的主题 JavaScript 请原谅我再水一贴 deno,因为实在太激动了
这种 dssq 的事情从来就是,要不你就做得不够好,要么做的好了却没人用
不过起码 Deno 把问题提出来了

http://joeduffyblog.com/2015/11/10/objects-as-secure-capabilities
2020-05-16 18:25:12 +08:00
回复了 guoshim 创建的主题 程序员 返璞归真,回归薄膜键盘
我 HHKB 就坏了 … 最右边一列键突然不 work 了,偏偏手头还没有可以替代的有线键盘,只能拿给 iPad 用的 Magic Keyboard 顶一下
令人蛋疼无比的地方:
Linux 不知道哪里配置错了,连蓝牙设备总是抽风,好久才连接成功
启动时 LUKS 输 passphrase 不能用蓝牙键盘,用坏了的 HHKB 连上去却发现 Enter 恰好没法用,于是学到了小技巧:在命令行下可用 <C-j> <C-m> 代替回车…

拆开后发现 PCB 上连接右边电路的一个过孔上有坨奶油状的东西,也不知道是啥,先扔一边吃灰了,理论上买个烙铁往过孔上滴点焊锡或者飞根线可以修复,不过懒得搞了,买了个 ikbc 先续着准备啥时候有闲工夫上客制化了…
2020-05-14 23:09:11 +08:00
回复了 cmai 创建的主题 程序员 关于 jmm 内存模型的问题
实例:bugs.openjdk.java.net/browse/JDK-8003135 [JDK-8003135] HotSpot inlines and hoists the Thread.currentThread().isInterrupted() out of the loop - Java Bug System
C 就可以啊 ...
2020-05-14 21:20:13 +08:00
回复了 cmai 创建的主题 程序员 关于 jmm 内存模型的问题
盲猜编译器是个好人
2020-05-12 00:11:23 +08:00
回复了 keelii 创建的主题 前端开发 长文预警-前端开发的瓶颈与未来之路
文章很不错,但是我暂时没时间消化。不过我第一反应是:楼主前面说了 Java 体系的优点,后面说了前端体系的问题,顺便提了一下前端的优势,那在楼主看来,Java 体系有哪些缺点呢?这是楼主唯一没提的地方,我觉得可以写一下。
2020-05-11 23:59:19 +08:00
回复了 sagaxu 创建的主题 PHP 最近收了不少 PHP 简历
话说移动端开发者如果熟悉 JavaScript 的话,会不会有“干几天就换去做前端”的想法 ...
我想起了《编程之美》这本书里面好像有一道习题,就是在任务管理器的 CPU 占用图中画图 ...
2020-05-10 21:37:34 +08:00
回复了 ostrichb 创建的主题 macOS air 和 pro 这两款电脑,哪一个适合需要中度使用 blender?
@kokutou 什么叫“试试就知道了” ... Xeon 渲染可以这是你说的啊 ...
2020-05-10 21:10:02 +08:00
回复了 imme90 创建的主题 程序员 前端和 UI 设计是否真的一文不值?
有一定道理,但后端这么说也是五十步笑百步。

我觉得大多数产品还没到比设计,比界面的程度。你用 Google 是因为它能搜到你想要的东西,并不是因为界面好看(实际上 Google 之前在一个子域名上保留了一个很古老的搜索界面,非常简单但是非常快(尤其是在梯子不好的情况下)),你用微信是因为上面有你想要联系的人,你用百度网盘是因为上面有你想要的资源。
基本上除了电影、游戏这种本来就偏艺术的东西,几乎没有哪个产品是因为“好看”才用的。所以界面其实凑合做做就行了。各大公司没事喜欢做的“改版”“redesign”不也老被嘲讽成“冲 KPI 行为”么

我一方面为这种现状造成的审美降级的 dssq 感到不太舒服,另一方面又在想,如果有一天行业内卷到了必须拼设计的程度,也许也不是什么好事吧
2020-05-04 22:06:53 +08:00
回复了 Kaiv2 创建的主题 Rust 请教一个 Rust 数据是在堆上,还是在栈上的问题
你学过 C++ 应该民白 move 做了什么(只是 C++ 里面被 move 过后的值是 unspecified 的,Rust 是直接不能用,另外 C 基础没啥用)
底层是 copy 还是什么并不重要,底层也并没有“所有权”之类的概念,编译器在保持行为不变的前提下可以随便怎么优化
实在好奇,开 godbolt 看下就是了

@Senevan “rvalue struct expression 没有在栈上分配” source?
1 ... 50  51  52  53  54  55  56  57  58  59 ... 122  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1030 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 57ms · UTC 22:28 · PVG 06:28 · LAX 15:28 · JFK 18:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.