找回密码
 立即注册
搜索
查看: 2373|回复: 13

[其他] 如果是想为了做mod而自学编程的话,应该怎么学

[复制链接]
     
发表于 2024-9-30 18:06 | 显示全部楼层 |阅读模式
有时候就是,我只想要一个(改善我自己游戏体验的)小功能,但就是找遍了mod都找不到,或者藏在一个好多好多功能的大mod里而我并不需要这个mod中的大部分功能

没有学习过编程,对这方面也没什么了解,但是会改p社游戏的文件,也在nexus上传过不少改属性改数值的最简单的mod
所以想速成写mod的话,学哪些东西作为基础会比较有用呢,用不着能够做出什么大型Mod,只要能做到对游戏哪里不满意就可以自己动手改的程度就好了
(比如说,这个大招的威力怎么这么低,那我自己做个mod把威力改高一点,理论上来说应该不难吧就是改个数值的事情,只是有些配置文件他不能像P社一样直接用txt打开就是了)
回复

使用道具 举报

     
发表于 2024-9-30 18:10 | 显示全部楼层
大部分mod语言学个lua就够用了。
然后理解一下JSON和XML之类的常见标记语言的基础,不需要深入。

最重要的就是学会快速看文档。
每个游戏的MOD自己的文档能快速理解就能快速上手。


至于你如果说的是想学那种非官方逆向工程mod,
那需要学的东西就多了。
回复

使用道具 举报

     
发表于 2024-9-30 18:10 来自手机 | 显示全部楼层
本帖最后由 ZinGer_KyoN 于 2024-9-30 18:12 编辑

这种需求下你需要的不是编程,而是找到那款游戏的解包工具/开源mod/开发文档
只要你都需求不是加新东西,而是把已有的东西从A改成B,记事本都够用。

—— 来自 鹅球 v3.0.86-alpha
回复

使用道具 举报

     
发表于 2024-9-30 18:10 来自手机 | 显示全部楼层
每个游戏写mod的方法都不一样,加相关论坛和讨论组找教程或者求教高手

—— 来自 nubia NX712J, Android 13上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2024-9-30 18:19 来自手机 | 显示全部楼层
打开这游戏的mod框架的文档、找一些用它开发的mod的源代码,然后对着大模型哪里不会问哪里
纯数值mod的话用cheat engine好像也行
回复

使用道具 举报

     
发表于 2024-9-30 18:19 | 显示全部楼层
目前主流独立游戏使用unity的情况,请学习C#
有些有想法的游戏想做mod支持就会提供Lua编写
但是做的不好就局限性很大

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2024-9-30 18:25 | 显示全部楼层
AlerHugues 发表于 2024-9-30 18:19
目前主流独立游戏使用unity的情况,请学习C#
有些有想法的游戏想做mod支持就会提供Lua编写
但是做的不好就 ...

现在都IL2CPP了,只学个C#用途也不大。
逆向工程终归不可能避开反汇编。
回复

使用道具 举报

发表于 2024-9-30 18:27 | 显示全部楼层
不需要额外学编程,最好是找类似功能的mod或者游戏内的实现直接照猫画虎,没有可以抄的再去硬啃api文档。每个游戏(or引擎)去具体的社区问、搜索。nexusmods上面就有n多教程,你应该也知道,而且基本都是附带相应的开发、解包工具链接的。
如果是官方没有提供mod接口的,那就是比较有门槛的事情了,不过你的一些需求很可能能通过cheatengine解决。
另外就是搞个vscode这种编辑器,就算你什么高级功能都用不到,至少它会警告你json最后多打了一个逗号。
回复

使用道具 举报

     
发表于 2024-9-30 18:39 来自手机 | 显示全部楼层
具体游戏具体讨论。做mod有多困难,需要哪些技能,视游戏开放程度和modding社区活跃程度而定。
以修改数值为例,那段数据在某个游戏里可能是以文本形式存储的,在另一个游戏里可能就保存在二进制文件里,还上了某种加密。而在另一款游戏里虽然采用二进制文件存储,但官方/社区有提供修改工具。涉及对游戏内逻辑的修改就更复杂了,千变万化。
要说有什么通用的技能的话,其实最重要的技能是搜索,特别是搜索英文社区的内容。你要知道当你有一个点子,一个需求的时候,很有可能前人已经做过类似的事了,甚至还留了一份教程给你。初入一个陌生的游戏,要做的第一件事就是摸清楚社区已有的成果,别闭门造车。另外国内很多modder我觉得是多少沾点那啥的,多上谷歌**用英语搜索,比在国内社区问人效率得多。
编程相关的技能虽然重要,但俺寻思没法三言两语就能把学习路线捋清楚。非要学的话先学个本科水平的c++吧(
回复

使用道具 举报

     
发表于 2024-9-30 20:35 来自手机 | 显示全部楼层
本帖最后由 rick343 于 2024-9-30 20:42 编辑

我只能说点我的水平能说的。我修改游戏的起源是为了汉化,这部分知识是可以应用到改数值上的。比如解包出有关技能数值文本可以再打包回去,比如dnspy可以反编译代码找到相关数值修改再打包。
教程的话我看的是这个,就是说话太慢了【[Unity3D-游戏汉化教程]第1期:Mono脚本 Assembly-CSharp-哔哩哔哩】 https://b23.tv/zNYbYTR
回复

使用道具 举报

     
发表于 2024-9-30 22:23 来自手机 | 显示全部楼层
跟着学习。

—— 来自 realme RMX3706, Android 14上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2024-10-1 09:17 来自手机 | 显示全部楼层
p社游戏都是纯脚本操作,翻运行脚本然后看看网上修改和mod入门视频应该就可以了

—— 来自 Xiaomi Redmi K20 Pro, Android 14上的 S1Next-鹅版 v2.5.2-play
回复

使用道具 举报

     
发表于 2024-10-1 09:39 | 显示全部楼层
做过几个,学啥技术其实都没用,真说学那就是学英文。
回复

使用道具 举报

     
发表于 2024-10-1 19:22 | 显示全部楼层
欧陆风云和全战战锤做mod都挺简单,教程也多,可以尝试从这两个上手

—— 来自 S1Fun
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-5 18:36 , Processed in 0.047595 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表