mge192003 发表于 2023-8-15 20:44

原神是用什么编程语言开发的?

原神是用什么编程语言开发的?

丰鹰 发表于 2023-8-15 20:45

服务器记得是C++/boost吧
客户端Unity/C#/Lua没啥说的

design8 发表于 2023-8-15 20:46

对游戏项目问用什么语言是没意义的。
市面上随便一个大家能看到的游戏,都是一堆各种各样五花八门的语言攒起来的。

回到问题,
原神客户端Runtime直接用到的开发语言至少有:C#、C++、Lua、shaderlab
周边工具链开发:C#、C++、Python、MaxScript等
服务端从招聘信息看至少有Golang
各种版本特点活动什么无脑想至少有JS、TS
此外就是SDK、遥测、运营数据这些杂七杂八的玩意,各自会用到一堆语言。
印象中它启动器好像是Qt来着

kin 发表于 2023-8-15 20:46

大概看了一眼内容不一定全对,仅供参考
打开原神安装目录 访问 Genshin Impact Game\YuanShen_Data 点进去一看就是典型Unity项目目录,并且空间占比非常大多半游戏本体了。外面的是启动器,用的QT工具套
游戏脚本应该使用XLUA
这个目录
Genshin Impact\Genshin Impact Game\YuanShen_Data\StreamingAssets\VideoAssets\StandaloneWindows64
不少USM文件,应该是视频资源,你用记事本打开他,会发现一些有意思的东西:)
有现成的对应工具转换一下变成正常视频
其核心资源文件主要是BLK。。。想要解包就得知道对应算发解一下
可以找一找一个叫GenshinStudio的工具对BLK文件进行专门解包。
------------------------------------2023-7-31更新-----------------------------------
打包环境是jenkins
D:\Genshin Impact\Genshin Impact Game\YuanShen_Data\Plugins\ZFGameBrowser.exe
应该是用C++开发,用的chrome内核, 核心是chrome_elf.dll
发现UserAssembly.dll,280M的DLL,多半就是核心代码了。按照惯例看看用了哪些DLL


有点懵。第一次碰到过,不知道怎么下手。这时候想到了主题:原神是用什么编程语言开发的?
对呀,C#代码需要NET框架,手机端哪有NET框架,肯定把C#代码转换成了中间代码才能再手机端运行,要解开他只需要把中间代码进行还原一下就可以了。
具体原理可看此文章
小玉:Unity将来时:IL2CPP是什么?
使用Il2CppDumper进行破解。对应的global-metadata.dat文件是加密了的,所以需要先解
对应思路
某神PC端Unity IL2CPP保护分析
破解成功后你就会得到原始DLL,剩下的使用dnSpy,ILSpy或者其他.Net反编译工具即可查看具体信息...
所以如果你玩私服多半让你替换掉UserAssembly.dll

janejinz 发表于 2023-8-15 20:47

直接看招聘信息
https://jobs.mihoyo.com/m/social-recruitment/mihoyo/42280/#/jobs?zhineng=22500&keyword=原神

jshrjx 发表于 2023-8-15 20:48

Unity(C#)
页: [1]
查看完整版本: 原神是用什么编程语言开发的?