« 3DS 的架构 (index)

3DS 的架构

Chapter 10: 游戏


目录

  1. 开发生态
    1. 硬件套装
    2. 软件套件
  2. 存储介质
    1. 游戏卡
    2. eShop/SD卡
    3. 本地无线
  3. Virtual Console
    1. 额外的向下兼容性
  4. 游戏更新
  5. 网络服务

现在是时候检查游戏开发和分发是如何进行的了。 此外,我们还将看到任天堂为这款主机准备的一些独家服务。

开发生态

在任天堂3DS到来之前,为嵌入式系统开发需要巨大的努力和高度的耐心。 与桌面应用程序相比,工具链不标准化,有时彼此之间也不兼容(ActiveSync是我记得最清楚的例子)。 文档范围通常不超过制造商提供的范围,技术支持也是如此。

进入2010年代,随着基于ARM的智能手机产业和更高效编译器的涌入,为这些平台开发不再是一项复杂的任务。 因此,为任天堂3DS开发的游戏工作室能够享受这一发展。 现在,任天堂尚未提供标准工具链,但他们走在正确的轨道上(最终在任天堂Switch上实现)。

奇怪的是(这是一个有趣的对比),早在2011年,苹果就提供了Clang/LLVM 1.3和OpenGL ES 3.0用于开发iOS应用程序,这被认为是移动项目的尖端技术。 嗯,你将在本节中看到,任天堂并非如此。 然而,目前,如果你拿起一部旧的iPhone 4s并尝试在App Store(其唯一的官方媒介)上安装任何应用程序,它会告诉你你的系统太旧了。 而你仍然可以在你的3DS上玩任何零售游戏。 这值得深思。

硬件套装

任天堂与两家供应商合作生产开发套件 。 第一家供应商是著名的Intelligent Systems,另一家是Kyoto MicroComputers

在众多选项中,工作室可以租用通用"CTR-BOX"。 这是一个包含3DS硬件的金属盒子,连接着一个充当控制器和显示器的"假"3DS外壳。 通过它,开发者可以部署、测试和调试他们的代码。

对于更单一用途的工具,工作室可以获得官方烧录卡,将游戏原型分发给外部测试人员。 这些烧录卡仍然只能在非零售设备上运行,尽管这包括比功能齐全的CTR-BOX更便宜的选项(功能有所减少)。

随着新3DS的到来,IS和Partner提供了带有更新硬件的"SNAKE"套件。

软件套件

一如既往,获得许可的工作室还将从任天堂获得一个SDK包,其中包括:

如果这还不够,开发者还可以访问NintendoWare下载代码示例、库和为任天堂3DS开发设计的更多工具。 此外,随着New 3DS的到来,Unity等游戏引擎也为这个(曾经被忽视的)平台提供了支持。

存储介质

任天堂3DS可以从三种不同的介质运行软件。

游戏卡

Image
一款零售游戏的例子。 请注意路易吉抓住3DS横幅的创意触感。

这是零售软件的分发渠道。 内部称为"CTR卡",它们只是任天堂设计的另一种专有卡/卡带。 公平地说,除了右上角的一个装饰性缺口外,它们与NTR卡(NDS使用)没有太大区别。 内部有只读和/或可写存储。

CTR卡的变体差异很大。 它们的PCB可以捆绑一个尺寸从128MB4GB的ROM芯片,同时还包括一些"备份内存"来存储存档,这可以是128KB或512KB。 在其他变体中,整个CTR存储则填充了闪存(高达2GB),并且分区以将游戏和存档存储在同一个物理芯片中。

此外,由于游戏也将捆绑官方SDK,因此游戏可用的ROM/RAM容量取决于所链接的SDK版本。

在内部,ROM芯片连接到8位数据总线 ,而备份内存依赖于串行总线。 两者都连接到16.6 MHz的时钟。 当卡插入主机时,3DS首先使用NTR(NDS)命令查询它,然后一旦检测到它是3DS卡,就切换到"CTR模式"。

eShop/SD卡

Image
任天堂3DS的任天堂eShop商店。

可扩展存储,第八代主机的标志。 任天堂3DS现在可以从SD(或microSD)卡安装和启动软件;因此,零售卡不再是游戏的唯一介质。 事实上,SD存储是新兴分发渠道的结果:捆绑在每台任天堂3DS中的任天堂在线商店。

多亏了eShop,出现了新的分发技术:用户可以在发货日期之前预订游戏和DLC。 这些会在发售日期到来之前下载,但只能在发售日期到来后才能玩。

在存储各自的存档时,任天堂允许其下载的软件请求最多1MB的SD卡存储。 但是,如果零售版本已经需要更多空间,则此规则将被豁免,在这种情况下,系统将分配与相应CTR卡已提供的"备份内存"一样多的空间。

本地无线

Download Play,NDS的一项首次亮相功能,允许玩家在主机之间传输小型游戏,现在已推向任天堂3DS。 它现在带有一个经过改进的协议,该协议依赖于厚重的安全层,与新主机中执行的其他软件保持一致。

我想说现在最大的区别是,传输的游戏(或者"演示版",就其价值而言)现在被安装到NAND中(与其他任何可安装包一样) 。 只为它们保留了一个插槽,因此每当有新游戏传输进来时,已安装的程序就会被替换。

Virtual Console

如果,在解释了所有这些之后,用户仍然感到无聊,任天堂为他们准备了另一个产品:Virtual Console

Image
Game Boy Color游戏的Virtual Console目录。

Image
Game Boy Color游戏在任天堂3DS上运行的示例。 默认情况下,游戏会缩放到全屏(保持原始宽高比) 然而,按住"Start"或"Select"键,你将获得一个1:1的比例,并带有一个漂亮的边框。

再次,多亏了捆绑的eShop应用程序,任天堂还通过整合最初为以下主机发布的游戏来扩展其3DS独占目录:

Virtual Console游戏表现得与安装在主机中的任何其他应用程序一样。 除了DSiWare软件,应用程序包中包含一个ROM和模拟器。 后者实现了有趣的功能,例如下载游戏(针对某些游戏)和存档状态。

Image
SFC游戏的Virtual Console目录(仅限New 3DS用户)。

Image
SNES游戏在任天堂3DS上运行的示例(由于游戏暂停,显示屏显得昏暗)。 请注意选项菜单如何允许你在[4:3 and 8:7 aspect ratios]之间切换(super-nintendo#display-modalities)。

再次,新3DS用户的情况有所不同,因为他们还可以访问SFC目录。 这尤其让我感到奇怪,因为我记得有一段时间(自制)SNES模拟器是为初代任天堂DS开发的(它只有区区ARM9-ARM7和几兆RAM)。

额外的向下兼容性

现在,这里还有虚拟主机游戏的一个特殊之处:这款主机也可以正式玩Game Boy Advance游戏。 然而,它们并非对所有人开放。 只有在2011年8月之前购买任天堂3DS的用户(就在主机降价80美元之前),才成为"大使计划"的成员 。 其中一项福利包括可以访问一系列GBA游戏,这些游戏出于某种原因至今仍保持独占。

Image
HOME菜单上显示的GBA游戏示例。

Image
GBA游戏在任天堂3DS上无需模拟运行(AGB_FIRM上没有截图功能)。

更令人费解的是,GBA游戏并非在ARM11上使用模拟器运行(尽管安装了一个,但从未被使用过!)。 相反,它们启动第三个固件AGB_FIRM,以在ARM7之上原生运行。 最终,这些独占GBA游戏仍然是AGB_FIRM的唯一用途,就好像任天堂计划在未来推出更大的东西,但从未实现。 这是任天堂3DS拥有比软件实际利用的更多硬件的又一个例子。

如果你好奇,GBA游戏使用的是捆绑的ARM7核心。 因此,它们不允许模拟器(在ARM11核心上运行)提供的额外功能。 尽管如此,这以牺牲全速和精确度运行为代价。 无论如何,由于3DS不包含GBA卡槽,GBA游戏会在系统重启到AGB_FIRM之前复制到FCRAM中,然后让ARM7控制(而ARM11和ARM9提供基本支持任务) 。

拥有所有这些功能,并且作为一款便携式主机,人们不禁会想,为什么任天堂没有在eShop上分发GBA和任天堂DS/DSi游戏。 我感觉,很可能是一个营销和授权问题。

游戏更新

第八代主机的另一个要求是,游戏现在可以在发货日期之后接收补丁。 没错,不再需要在销售前对游戏进行质量控制了!

抛开讽刺不谈,游戏更新也通过eShop分发 ,这适用于所有类型的游戏(下载游戏除外)。 所有更新都会下载到SD卡上,eShop游戏会将其更新(连同游戏本身)一起应用。

网络服务

旧的(任天堂Wi-Fi连接)退出,新的(任天堂网络)登场! 与Wii U提供的相同服务也在任天堂3DS上实现,而且它们统一得非常好,所以我建议查看Wii U文章,其中有详细解释。


Previous: 9. 操作系统

Next: 11. 反盗版和自制游戏


Rodrigo Copetti © 2026 RSS Feed

切换至现代版

主页 · 文章 · 支持 · 关于作者 · 关于此网站