secondwtq 最近的时间轴更新
secondwtq

secondwtq

V2EX 第 81805 号会员,加入于 2014-11-16 03:41:33 +08:00
secondwtq 最近回复了
#2 说的数字尾巴才是真的男版小红书 ...
没准 CHH 也能算?
15 小时 10 分钟前
回复了 theklf4 创建的主题 Linux policykit 的作用是什么?直接 remove 会不会更安全?
@secondwtq #3 另外 D-Bus 也是 Red Hat 的 ...
15 小时 11 分钟前
回复了 theklf4 创建的主题 Linux policykit 的作用是什么?直接 remove 会不会更安全?
顺便,这里面,PulseAudio ,rtkit ,Polkit ,以及启动它们的 systemd ,全都是 Red Hat 搞得 ...
闭环了属于是

原来 systemd 和 PulseAudio 在 Linux 生态担任的是类似 Go 的角色(某些 Linux 发行版和类 UNIX 系统的卖点之一是“不用 systemd”),Polkit 是打酱油的,不知道之后火力会不会跑 Polkit 上面去。
15 小时 17 分钟前
回复了 theklf4 创建的主题 Linux policykit 的作用是什么?直接 remove 会不会更安全?
大概半年前了解过一下,故事是这样的:当时闲来无事在折腾进程管理(主要目标:把 Chrome 等做得比较差的软件的无用进程全都集中到一个核心去并设置较低优先级,然后专门腾出 1-2 个核运行克劳塞维茨等世界一流软件并赋予较高优先级)。发现一个奇怪的事情:在默认的 ulimit 设置下我自己的用户权限是不允许给进程设置负数 nice 的,但是 pulseaudio 等进程,跑在我自己的用户下,却一直是负数优先级。没有用 root ,好像也没有什么特殊的 capability 。

仔细看了一下这东西和另一个叫做 rtkit-daemon 的进程有关联,这个进程是跑在 rtkit 用户下,理论上也没有干这个的权力。去瞅了一眼 rtkit 源码,它这个 daemon 启动时会设置一些 capability 来获取随便设置优先级的权限,PulseAudio 等初始化时会通过 DBus 会请求 rtkit 照顾它一下,rtkit 则会再 DBus 请求 PolicyKit 对请求的客户端进行政审判断是否符合提拔的条件( https://github.com/heftig/rtkit/blob/c295fa849f52b487be6433e69e08b46251950399/rtkit-daemon.c#L1111 ),如果可以就安排上。具体条件是写在一个配置文件里的。

这里面 polkit 的作用是帮助其客户端(即 rtkit )读取这个配置文件,并且根据其定义的规则判断这个进程的背景够不够硬,r 然后告诉 rtkit 。虽然这个配置文件写的好像是全都 pass ... 配置一般是 XML ( https://github.com/heftig/rtkit/blob/c295fa849f52b487be6433e69e08b46251950399/org.freedesktop.RealtimeKit1.policy ),但是也支持简单的 JavaScript 脚本。我系统里还有一堆的规则,虽然好像也都是类似八股的东西没啥实际作用。你说脚本?还没见哪个包用过。
16 小时 9 分钟前
回复了 qdwang 创建的主题 问与答 关于 GPL 协议的一些疑问
@qdwang #6 根据我的了解,你说的第一种情况也没法保护。
GPL 保护的是具体实现不是 idea 。用 cleanroom 的方式还是可以使用你的算法。
使用专利可能能保护算法,但好像总的来说实践起来还是比较困难,尤其是你很难知道别人到底是怎么实现的情况下( GPL 也存在一样的问题)。

一个例子:本世纪初 Thomas W. Sederberg 等人提出了 T-Spline ,这是一种三维表面的表示方法,据说结合了 NURBS 和细分曲面的优点。paper 发出来没多久这群人就商业化了这个算法并申请了专利,后来公司被 (隔壁好像正在招人的) Autodesk 收购。过了几年 Autodesk 把这东西放到了自家的 Fusion 360 上,并且停止了其他软件(如 Rhino )的 T-Spline 插件更新。直到现在也没有其他地方实现 T-Spline 。
@vngghgfjnff 你不会真按这个买吧 ...
草,有一个忘了列了,Naval War:Arctic Circle ,Paradox 发行的一个海战游戏,其*服务端*源码在发布不久之后放出来了: https://forum.paradoxplaza.com/forum/threads/naval-war-arctic-circle-source-code.728920

之所以说这个是因为这帖子里面有这么一句话:“Sadly the frontend stuff is protected by stuff that we can not control.”
不知道他具体指的是什么“stuff”,但是现在一流的游戏引擎不仅本身规模很大,依赖也很多,不少依赖,很多开发使用的中间件是专有的。这样的一个项目要做开源本身就是很复杂的事情。
也许之后类似命令与征服和家园的事情会越来越少。

还忘了个奇葩的,波斯王子初版,汇编写的 https://github.com/jmechner/Prince-of-Persia-Apple-II
( Photoshop 初版源码也有,貌似也会汇编+Pascal )
基于社区的开源游戏基本有一个共性:美工比较拉
实际上我个人观察社区里面为爱发电做美工做得好的不在少数(我当年差点也能算半个),但是 somehow 这帮人跟程序员就走不到一块去 ... 另外还有一个客观原因是商业游戏都是全职开发+(貌似)完善的项目管理,有一个明(会)确(跳)的(票)工期,开源游戏一开就是巨坑也没几个人搞,一般都拖很长,本来美工技术就一般,等能玩的时候 graphics 早就落伍了。
还有一个就是各种 clone 很多,原创 IP 不多。
总之可以简单理解为除了写代码啥都不会 ...

还有一种比较传统的“开源游戏”是按照闭源游戏的套路做的,只不过源码开源。这个还没那么偏科

策略游戏是 PC 的强项( Console 技术上根本没法搞,圈子也基本都是硬件厂 /游戏厂精神股东,压根没人在乎什么开源,你跟他们提个模拟器都得给喷死,自己不吵起来就不错了,实在玩不到一块去),比如现在几大老 RTS 的 Clone 基本齐活了:
老命令与征服: https://github.com/OpenRA/OpenRA 我个人觉得是 clone 里面的标杆项目
老星际争霸: https://github.com/Wargus/stratagus
老帝国时代: https://github.com/SFTtech/openage https://github.com/0ad/0ad
老横扫千军: https://github.com/spring/spring

其他策略类:
文明: https://github.com/freeciv/freeciv
Master of Orion: https://github.com/freeorion/freeorion
过山车大亨: https://github.com/OpenRCT2/OpenRCT2
运输大亨: https://github.com/OpenTTD/OpenTTD
Panzer General: https://github.com/nicupavel/openpanzer

其他 Clone:
Terraria: https://github.com/raxod502/TerrariaClone
极品飞车: https://github.com/OpenNFS/OpenNFS
辐射: https://github.com/BlackPhrase/SugarBombEngine
上古卷轴: https://github.com/OpenMW/openmw
Oolite: https://github.com/OoliteProject/oolite
re3: 搞得是老 GTA 引擎,结果最近 T2 就跟他怼上了,DMCA 发了貌似不只一次 ...
做 WOW 和 MC 服务器的貌似也有不少,不单独找了

有一些游戏一开始是闭源游戏,但是后来开源了。有些游戏一开始就是开源的。并非所有我都了解,所以放一块了:
最典型的是 id 早期作品。id 同时也是 Linux Gaming 的早期 pioneer 之一,貌似曾经还有发布 Linux 版本但声明不提供支持之类的事情。后来可能条件不允许继续这么做了。
依然是老命令与征服(跟上面的比一比,微软哪天收了 T2 吧 ...): https://github.com/electronicarts/CnC_Remastered_Collection
Star Wars Jedi Knight: Jedi Academy: https://github.com/grayj/Jedi-Academy
Star Wars Jedi Knight II: Jedi Outcast: https://github.com/grayj/Jedi-Outcast

有些游戏是彻底的开源模式,我依然没办法仔细分辨,简单列一下:
The Battle for Wesnoth: https://github.com/wesnoth/wesnoth
Unknown Horizons: https://github.com/unknown-horizons/unknown-horizons
Endless Sky: https://github.com/endless-sky/endless-sky
Red Eclipse: https://github.com/redeclipse/base
VASSAL 桌游引擎: https://github.com/vassalengine/vassal
AssaultCube: https://github.com/assaultcube/AC
Orbiter: https://github.com/orbitersim/orbiter

其他有名的像 Mindustry ,CDDA ,osu! 上面说过了

上面的应该都算某种意义上的“开源游戏”,还有一种是 source-available/shared source 的,指由于 licence 不是开源的 licence 等原因并非 de jure 的“开源”,但是由于游戏是个纯 2C 的东西,开发者很难 enforce 这个事所以基本等于 de facto 开源了(我个人定义里面“开源”的主要意义在于“学习与修改的自由”)。
还是老 RTS ,家园 1 的源码以 shared source 的形式放出来了。自己去找吧 ...
Space Engineers: https://github.com/KeenSoftwareHouse/SpaceEngineers
Allegiance ,看上去挺奇葩的游戏,因为开发者挂名是 Microsoft Research ... 和 .NET 一样,一开始是 shared source ,后来直接开源了
上面说的 WWW 实际上是 shared source 不是 open source 。

太多了一个个列列不过来,几个有用的地方:
https://libregamewiki.org/Main_Page
https://osgameclones.com
https://en.wikipedia.org/wiki/List_of_commercial_video_games_with_available_source_code
2 天前
回复了 zeronofreya 创建的主题 问与答 blender 中形态键能传递吗?
动画不是我的 expertise 所以不是很熟悉
不过你这个,我觉得你给身体做的动画是给身体的骨骼的,没法直接放到别的模型上面。说白了建模也好,编程也好,就是一种 fancy 的告诉计算机“我想要什么”的过程,在身体模型里面是通过调骨骼动画来完成的,但是这个数据并不能直接告诉计算机衣服该怎么动。
所以我觉得你谷歌的关键词不应该是怎么“传递”动画,而是怎么给角色做衣服
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3888 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 03:43 · PVG 11:43 · LAX 19:43 · JFK 22:43
Developed with CodeLauncher
♥ Do have faith in what you're doing.