本文属于内部资料,希望各位阅读者自觉遵守任天堂的保密协议,请勿以任何形式转载!仅供学习交流之用!
本人在翻译的时候尽量忠实原文,因此有很多废话,并未按照中文语法书写!如有疏漏,请告知!
1 前言
NINTENDO NITRO-System是对Nintendo开发工具和库的通称,使用它可开发Nintendo游戏软件。游戏开发者能自己建立游戏内容。所以目标是发展这个系统,以提供给游戏软件开发的基本工具和库,可用于大部分的游戏软件,在他们的开发中。本文为NITRO-System提供这些工具和库的概述,使你能全面地了解NITRO-System。
系统构架

(随笔:从上图可以看出,任天堂游戏制作的一般流程,首先是通过MAYA或SOFTIMAGE制作三维模型,然后使用Photoshop为模型制作材质,制作好了之后,通过任天堂提供的插件导出文件,再使用3D材质编辑器打开模型进行修改完善,在这个软件里面,你可以通过预览控制器将结果实时渲染到NITRO开发机上,从而达到所见即所得,你也可以在这里将模型导出成为二进制中间文件,供发布时编译使用。同样的,2D角色编辑器也能达到上述效果,所见即所得!声音和存档管理是另外两块,存档管理可将各个分散的小文件集合成一个大文件!图的最下方是NITRO的五个子系统!)
3 工具总览
这部分描述NITRO-System的工具。
3.1 媒体文件插件
NITRO-System为NITRO定义了媒体文件(XML格式的文本文件)用来储存3D模型数据和它的动画数据在数据结构中,并使它最优化。你可以使用NITRO的媒体插件去输出一个媒体文件从各个3DCG工具中。
NITRO-System为Maya,Softimage|3D,Softimage|XSI和3ds max提供了媒体文件插件。(Softimage|3D不支持美国市场,如果你希望使用Softimage|3D开发请联系support@XXXX.com)
3.2 Photoshop 插件
这些插件是用于给3D CG绘制纹理,插件用在Windows版本的Adobe Photoshop 6.01,7.01和CS(8.01)。有两种类型的插件,滤镜插件用以显示在产品发布时的图片质量(这句话要结合使用来看)。文件插件用来保存纹理文件,并在纹理文件中增加额外的NINTENDO NITRO-System信息(也就是说是特殊格式)。
3.3 3D 材质编辑器
3D材质编辑器是一个Windows应用程序。3D材质编辑器使用一个专有插件来从3DCG工具读取媒体文件。它能校验模型结构,编辑材质设置等等,它可以将编辑后的材质设置写回媒体文件中。
你可以将3D材质编辑器当作一个独立的应用程序。使用NITRO Viewer,你能可以无缝的预览这些模型,这于它们出现在零售产品中是完全一致的。当一个3D绘制指令发出,一个内部的二进制转换器被调用,转换器转换XML格式文件成二进制文件。
3.4 3D 二进制转换器
3D二进制转换器是一个转换程序,它可转换XML格式文件到二进制文件,并被3D图形库将使用。
一个转换器能转换所有类型的3D中间文件
它能打包多个模型数据到一个二进制文件
它能读取一个转换好的二进制文件并输出一个CSV(Execl可打开)格式的摘要
3.5 角色编辑器
角色编辑器是一个Windows应用程序用来建立角色数据,场景数据和对象数据,以此组成一个NITRO 2D 场景。角色编辑器有下列功能:
建立角色数据(绘制和编辑点阵图)
建立场景
建立对象动画
3.6 2D 二进制转换器
2D二进制转换器是一个转换程序,能转换NITRO 2D角色到二进制文件,然后被2D图形库处理。
3.7 预览器
NITRO预览器是运行在NITRO零售产品(或许是指主机)上的应用程序。它能在任天堂主机上依照NITRO预览控制器发送的指令和数据显示图像。预览器接受2D和3D的绘制指令,能同时显示2D和3D图像在屏幕上。
3.8 预览控制器
预览控制器跑起来是Windows端的一个窗口,用来发送绘制指令到预览器。预览器控制器从各个图形工具统合绘制指令再发送给预览器,它通过主机I/O转换这些数据给运行在主机上的预览器。这样以来,多个图形工具能使用“预览器”,同时。
3.9 存档
NITRO开发环境包含一个ROM文件系统。如果文件系统分别储存一些小文件,分开的文件到ROM,则会有很多文件而变得难于管理。因此,NITRO系统准备了一个通用的存档文件,收集小的文件到一个大文件中并注册他们到文件系统。
3.10 声音工具
NITRO系统准备了一个声音数据建立环境,包括下列工具。
4 库总览
这部分描述全面的NITRO库,浏览全部的库。
4.1 函数库构造
NITRO系统库分成基础库和高级库,这个结构图显示了整个构造。

4.2 基本库
基础库包括以下系统管理器和函数:
堆栈管理
存档管理
通用
4.2.1 堆栈管理
为了有效的使用4兆内存,将使用一些内存管理机制,我们提供三个堆栈管理器为专门的游戏特征。
4.2.1.1 扩展堆栈管理
扩展的堆栈管理器允许你自由的分配和释放内存,就像基础C库中的malloc()、free()这样的函数一样。除此之外还有基本的内存分配和释放功能,和为游戏软件添加的许多特色功能。这里包含队列,分组和全部释放分配的内存块。
能在堆的前面或后面分配内存块
将你分配内存操作列入队列
可以修改分配内存块的大小
可添加分组ID编号到各个内存块
可全体释放所有分配的内存块
允许用户使用回调函数来处理分配的内存
4.2.1.2 帧堆栈管理器
帧堆栈管理器是一个非常单一的内存管理器。它仅仅按照一个指定的size分配内存,并同时释放所有分配的内存。可是因为这个块不包含管理信息,所以它是个效率块 - -!
4.2.1.3 单元堆管理器
单元堆管理器也是非常单一的内存管理器。它仅仅只分配单元堆建立时指定大小的块。换句话说,这个内存管理器只分配和释放固定大小的块。因为没有管理区在这个块里,所以它的使用很高效。
仅仅分配固定大小内存块
不需要内存管理区
4.2.2 存档管理器
我们需要安装一个ROM文件系统到NITRO开发环境。如果文件系统分别储存小文件到ROM,那会很多并使管理变得困难。因此NITRO系统准备了一套机制去收集小文件到一个大文件中,保存到ROM。在存档管理器中,你能访问你的数据在将存档文件读入主内存之后。
你能使用索引来访问你的数据
你能使用分级目录信息访问你的数据通过路径名
你能见效文件大小在不包含目录信息的时候
本人在翻译的时候尽量忠实原文,因此有很多废话,并未按照中文语法书写!如有疏漏,请告知!
1 前言
NINTENDO NITRO-System是对Nintendo开发工具和库的通称,使用它可开发Nintendo游戏软件。游戏开发者能自己建立游戏内容。所以目标是发展这个系统,以提供给游戏软件开发的基本工具和库,可用于大部分的游戏软件,在他们的开发中。本文为NITRO-System提供这些工具和库的概述,使你能全面地了解NITRO-System。
系统构架

(随笔:从上图可以看出,任天堂游戏制作的一般流程,首先是通过MAYA或SOFTIMAGE制作三维模型,然后使用Photoshop为模型制作材质,制作好了之后,通过任天堂提供的插件导出文件,再使用3D材质编辑器打开模型进行修改完善,在这个软件里面,你可以通过预览控制器将结果实时渲染到NITRO开发机上,从而达到所见即所得,你也可以在这里将模型导出成为二进制中间文件,供发布时编译使用。同样的,2D角色编辑器也能达到上述效果,所见即所得!声音和存档管理是另外两块,存档管理可将各个分散的小文件集合成一个大文件!图的最下方是NITRO的五个子系统!)
3 工具总览
这部分描述NITRO-System的工具。
3.1 媒体文件插件
NITRO-System为NITRO定义了媒体文件(XML格式的文本文件)用来储存3D模型数据和它的动画数据在数据结构中,并使它最优化。你可以使用NITRO的媒体插件去输出一个媒体文件从各个3DCG工具中。
NITRO-System为Maya,Softimage|3D,Softimage|XSI和3ds max提供了媒体文件插件。(Softimage|3D不支持美国市场,如果你希望使用Softimage|3D开发请联系support@XXXX.com)
3.2 Photoshop 插件
这些插件是用于给3D CG绘制纹理,插件用在Windows版本的Adobe Photoshop 6.01,7.01和CS(8.01)。有两种类型的插件,滤镜插件用以显示在产品发布时的图片质量(这句话要结合使用来看)。文件插件用来保存纹理文件,并在纹理文件中增加额外的NINTENDO NITRO-System信息(也就是说是特殊格式)。
3.3 3D 材质编辑器
3D材质编辑器是一个Windows应用程序。3D材质编辑器使用一个专有插件来从3DCG工具读取媒体文件。它能校验模型结构,编辑材质设置等等,它可以将编辑后的材质设置写回媒体文件中。
你可以将3D材质编辑器当作一个独立的应用程序。使用NITRO Viewer,你能可以无缝的预览这些模型,这于它们出现在零售产品中是完全一致的。当一个3D绘制指令发出,一个内部的二进制转换器被调用,转换器转换XML格式文件成二进制文件。
3.4 3D 二进制转换器
3D二进制转换器是一个转换程序,它可转换XML格式文件到二进制文件,并被3D图形库将使用。
一个转换器能转换所有类型的3D中间文件
它能打包多个模型数据到一个二进制文件
它能读取一个转换好的二进制文件并输出一个CSV(Execl可打开)格式的摘要
3.5 角色编辑器
角色编辑器是一个Windows应用程序用来建立角色数据,场景数据和对象数据,以此组成一个NITRO 2D 场景。角色编辑器有下列功能:
建立角色数据(绘制和编辑点阵图)
建立场景
建立对象动画
3.6 2D 二进制转换器
2D二进制转换器是一个转换程序,能转换NITRO 2D角色到二进制文件,然后被2D图形库处理。
3.7 预览器
NITRO预览器是运行在NITRO零售产品(或许是指主机)上的应用程序。它能在任天堂主机上依照NITRO预览控制器发送的指令和数据显示图像。预览器接受2D和3D的绘制指令,能同时显示2D和3D图像在屏幕上。
3.8 预览控制器
预览控制器跑起来是Windows端的一个窗口,用来发送绘制指令到预览器。预览器控制器从各个图形工具统合绘制指令再发送给预览器,它通过主机I/O转换这些数据给运行在主机上的预览器。这样以来,多个图形工具能使用“预览器”,同时。
3.9 存档
NITRO开发环境包含一个ROM文件系统。如果文件系统分别储存一些小文件,分开的文件到ROM,则会有很多文件而变得难于管理。因此,NITRO系统准备了一个通用的存档文件,收集小的文件到一个大文件中并注册他们到文件系统。
3.10 声音工具
NITRO系统准备了一个声音数据建立环境,包括下列工具。

4 库总览
这部分描述全面的NITRO库,浏览全部的库。
4.1 函数库构造
NITRO系统库分成基础库和高级库,这个结构图显示了整个构造。

4.2 基本库
基础库包括以下系统管理器和函数:
堆栈管理
存档管理
通用
4.2.1 堆栈管理
为了有效的使用4兆内存,将使用一些内存管理机制,我们提供三个堆栈管理器为专门的游戏特征。
4.2.1.1 扩展堆栈管理
扩展的堆栈管理器允许你自由的分配和释放内存,就像基础C库中的malloc()、free()这样的函数一样。除此之外还有基本的内存分配和释放功能,和为游戏软件添加的许多特色功能。这里包含队列,分组和全部释放分配的内存块。
能在堆的前面或后面分配内存块
将你分配内存操作列入队列
可以修改分配内存块的大小
可添加分组ID编号到各个内存块
可全体释放所有分配的内存块
允许用户使用回调函数来处理分配的内存
4.2.1.2 帧堆栈管理器
帧堆栈管理器是一个非常单一的内存管理器。它仅仅按照一个指定的size分配内存,并同时释放所有分配的内存。可是因为这个块不包含管理信息,所以它是个效率块 - -!
4.2.1.3 单元堆管理器
单元堆管理器也是非常单一的内存管理器。它仅仅只分配单元堆建立时指定大小的块。换句话说,这个内存管理器只分配和释放固定大小的块。因为没有管理区在这个块里,所以它的使用很高效。
仅仅分配固定大小内存块
不需要内存管理区
4.2.2 存档管理器
我们需要安装一个ROM文件系统到NITRO开发环境。如果文件系统分别储存小文件到ROM,那会很多并使管理变得困难。因此NITRO系统准备了一套机制去收集小文件到一个大文件中,保存到ROM。在存档管理器中,你能访问你的数据在将存档文件读入主内存之后。
你能使用索引来访问你的数据
你能使用分级目录信息访问你的数据通过路径名
你能见效文件大小在不包含目录信息的时候