首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

从网友探秘 《黑神话:悟空》 的脚本说说C#

编程知识
2024年08月24日 09:12

 

 

《黑神话:悟空》千呼万唤始出来。在正式发售后不到24小时,Steam在线玩家峰值突破222万,在Steam所有游戏在线玩家历史峰值中排名第二。第一拨玩家纷纷晒出好评,称这款现象级产品正式开启国产3A游戏(3A 俗称:大量的资源、大量的金钱和大量的时间)元年,黑神话悟空是国内首款3A游戏,画面剧情都很精致,再加上融入了西游记的文化氛围,所以迎来了很多观众的讨论和关注。

难得的是,《黑神话:悟空》使用的虚幻5开发,脚本方案是C# ,这是大佬们解包出来的,这款游戏是在开发过程中基于自己的技术积累,然后对虚幻5做了C# 的适配,游戏底层还是用的C++, 流程脚本用的C# 。具体请看拆解过程:解密《黑神话:悟空》脚本[1]。 

网上的大量评论把C# 和微软挂钩,这是一个错误的认知,也是我今天写这篇短文的目的,希望大家能够对C# 有一个客观的认知,不要带上个人的主观色彩:

C#是由ECMA国际组织制定的编程语言标准,目前最新的版本是ECMA-334的第7版[2],发布于2023年12月。这个标准详细描述了C#程序的形式和解释,包括C#程序的表示、C#语言的语法和约束、解释C#程序的语义规则,以及符合C#实现的限制和限制。C#标准并不描述C#程序如何被数据处理系统使用,也不描述C#应用程序如何被数据处理系统调用,以及输入数据如何被C#应用程序使用或输出数据如何被C#应用程序产生 。

需要注意的是,ECMA标准不仅限于编程语言,还包括文件格式、数据格式以及Web浏览器API等多个领域的技术标准。这些标准共同构成了现代软件开发和技术应用的基础。除了上面说的这个ECMA 还有ISO/IEC的标准。

ISO/IEC 23270:2018 是关于C#编程语言的国际标准。这个标准详细描述了C#程序的形式和解释,包括C#程序的表示、C#语言的语法和约束、解释C#程序的语义规则,以及符合C#实现的限制和限制。ISO/IEC 23270:2018标准并不描述C#程序如何被数据处理系统使用,也不描述C#应用程序如何被数据处理系统调用,以及输入数据如何被C#应用程序使用或输出数据如何被C#应用程序产生 。

此外,ISO/IEC 23270:2003和ISO/IEC 23270:2006是C#语言的早期版本标准,但它们已经被ISO/IEC 23270:2018所取代。ISO/IEC 23270:2003和ISO/IEC 23270:2006分别于2003年和2006年发布,但后来由于新版本的发布而被撤销。

相关的标准包括:

  • ECMA-334 C# language specification
  • ECMA-335 Common Language Infrastructure (CLI):
  • ECMA-372 C++/CLI language specification
  • ECMA-422 C# specification suite
  • ISO/IEC 20619:2023 C# specification suite
  • ISO/IEC 23270:2018 Programming languages — C#
  • ISO/IEC 23271:2012 Common Language Infrastructure (CLI)
  • ISO/IEC TR 25438:2006 Common Language Infrastructure (CLI) — Technical Report: Common Generics
  • ISO/IEC TR 23272:2011 Common Language Infrastructure (CLI) — Information Derived from Partition IV XML File

这些标准对于C#程序员和开发者来说非常重要,因为它们确保了不同平台和编译器上的C#代码的兼容性和一致性。在Github上C# 相关开源仓库:

 

相关链接:

From:https://www.cnblogs.com/shanyou/p/18377461
本文地址: http://www.shuzixingkong.net/article/1395
0评论
提交 加载更多评论
其他文章 C++11新特性(二):语言特性
C++11新特性 语言特性 nullptr空指针 nullptr空指针的使用可以规避掉以往设置为NULL的风险。NULL在编译器中常常被设置为0或者其它数字,此时判断指针是否为NULL,即判断指针类型是否能够等于整型值,并不安全。 int *p = nullptr; 强类型枚举 强类型枚举不能隐式转
索引的使用
5年之后 祺源开发Java开发的时候才有使用索引的感觉。索引 面试中是十分频繁地被问到。索引分为聚簇索引和非聚簇索引。 古至今,人类都是 文盲到文明的演变过程。书籍的使用,文字的发明和记载信息。当文字量一大,翻阅查找起来就越困难。把相似的东西放 一起,使用标签标记存放,找起来更快。 索引和ID的概念
如何在 Nuxt 中动态设置页面布局
title: 如何在 Nuxt 中动态设置页面布局 date: 2024/8/24 updated: 2024/8/24 author: cmdragon excerpt: 摘要:本文介绍如何在Nuxt框架中通过设置setPageLayout函数动态调整页面布局,包括安装Nuxt、创建不同布局文件及
如何在 Nuxt 中动态设置页面布局 如何在 Nuxt 中动态设置页面布局
Tesla 开发者 API 指南:BLE 发送车辆命令
前言 特斯拉提供两种与汽车通信的方式。一种是使用 API 通过互联网,另一种是使用 BLE 连接。BLE 连接有助于锁定和解锁汽车的最重要部分之一,即使汽车和手机或任何其他兼容 BLE 的钥匙扣上没有网络连接。这在两种主要用例中很有帮助,即使在互联网非常不稳定的情况下也是如此。 离开汽车时锁好车 当
Tesla 开发者 API 指南:BLE  发送车辆命令
折腾 Quickwit,Rust 编写的分布式搜索引擎(专为从对象存储中实现亚秒级搜索而设计)
什么是 Quickwit? Quickwit 是首个能在云端存储上直接执行复杂的搜索与分析查询的引擎,并且具有亚秒级延迟。它借助 Rust 语言和分离计算与存储的架构设计,旨在实现资源高效利用、易于操作以及能够扩展到 PB 级数据量。 Quickwit 非常适合日志管理、分布式追踪以及通常为不可变数
折腾 Quickwit,Rust 编写的分布式搜索引擎(专为从对象存储中实现亚秒级搜索而设计) 折腾 Quickwit,Rust 编写的分布式搜索引擎(专为从对象存储中实现亚秒级搜索而设计)
线性dp:最长公共子串
最长公共子串 本文讲解的题与leetcode718.最长重复子数组,题意一模一样,阅读完本文以后可以去挑战这题。 力扣链接 题目叙述: 给定两个字符串,输出其最长公共子串的长度。 输入 ABACCB AACCAB 输出 3 解释 最长公共子串是ACC,其长度为3。 与最长公共子序列的区别 公共子串:
线性dp:最长公共子串
Go 互斥锁 Mutex 源码分析(二)
原创文章,欢迎转载,转载请注明出处,谢谢。 0. 前言 在 Go 互斥锁 Mutex 源码分析(一) 一文中分析了互斥锁的结构和基本的抢占互斥锁的场景。在学习锁的过程中,看的不少文章是基于锁的状态解释的,个人经验来看,从锁的状态出发容易陷入细节,了解锁的状态转换过一段时间就忘,难以做到真正的理解。想
Go 互斥锁 Mutex 源码分析(二) Go 互斥锁 Mutex 源码分析(二) Go 互斥锁 Mutex 源码分析(二)
PG数据库导致断电/重启无法正常启动问题排查
PG数据库导致断电/重启无法正常启动问题排查 一、问题 数据库断电后,启动PG数据库后无法正常启动,报”psql: could not connect to server: No such file or directory”的错误,错误图片如下: 二、背景分析 数据库是单机版,使用k8s进行部署运
PG数据库导致断电/重启无法正常启动问题排查 PG数据库导致断电/重启无法正常启动问题排查 PG数据库导致断电/重启无法正常启动问题排查