用C语言开发NES游戏(CC65) 准备工作

粘贴到CSDN格式没调,想看格式好的点下面

https://happysoul.github.io/nes/nesdoug/

 

 

你需要什么

 

这是你编写NES游戏所需要的

1.汇编程序(或编译器)

2.贴图编辑器

3.Photoshop或GIMP(或类似)

4.Notepad ++(或类似)

5.一个好的NES模拟器

6.一个贴图地图程序

7.python 3(可选,但我用它)

对于我的例子,我将专门使用cc65。它是一套软件的一部分,是6502(即NES)编程可用的最佳编译器/汇编程序之一。虽然,学习曲线有点陡峭,但我会帮助你入门。

http://cc65.github.io/cc65/

查看版本的命令

cc65 --version

注意:我使用的版本是V2.15(备注这时候可以下载的是2.17版本)

来自不同版本的cc65的文件有时会给出错误消息(特别是很多旧版本的cc65可能无法编译

 

其次,您需要一个磁贴编辑器来创建图形。我个人更喜欢YY-CHR。你可以在这里得到它…

 

http://www.romhacking.net/utilities/119/

 

我更喜欢先在GIMP / Photoshop中工作,转换为索引(4色),然后再复制/粘贴到YY-CHR。有许多免费软件程序可以执行相同的操作。

 

Notepad ++是一种编写编程代码的工具。如果您愿意,可以使用Wordpad或其他程序。Notepad ++在这里可用...

 

https://notepad-plus-plus.org/download/

 

Notepad ++的优点是你可以设置它来突出你的代码,这使它更容易阅读。它的左边是#行。如果在编译时收到错误消息,它将告诉您错误行。如果双击某个单词,它将突出显示该单词的每个实例。它有一个查找和替换功能,我使用了很多,也可以在文件中查找整个文件夹的文件中的单词。

 

或者,我听说有人使用VSCode编写他们的C代码。它有点高级,可以进行语法错误检查和代码完成,这是notepad ++无法做到的。

 

接下来是NES模拟器。我90%的时间使用FCEUX,因为它具有出色的调试工具,PPU查看器,Nametable查看器,十六进制编辑器等。但是,它并不是最准确的模拟器。您可能希望在多个模拟器上测试您的游戏,以确保其他人能够毫无问题地玩您的游戏。(我使用过Nintendulator,Nestopia和Mesen)。Mesen还有很好的调试工具。

 

FCEUX在这里......

 

http://www.fceux.com/web/download.html

 

*在这里您可以获得自定义调色板 - FirebrandX一直致力于制作更好的NES调色板。FCEUX的默认调色板有什么问题?太亮和太饱和 - 不准确到实际NES上的样子。(FCEUX /配置/调色板/装载调色板)。

 

 

http://www.firebrandx.com/nespalette.html

 

我没有看到我提到的确切调色板,但我认为这是一个......

 

http://dl.dropboxusercontent.com/s/y3yeaqc87dnhqel/FBX-NES-Unsaturated.pal

 

您可能希望更改像素显示以显示每个像素。我见过有人说“NES是256×224像素”,但事实并非如此。较旧的电视往往会从图片的顶部/底部切掉几个像素,但NES会产生240像素的高亮度。我的一台电视显示几乎整个240像素。您应该假设某些用户会看到整个图片,因此在FCEUX中转到配置/视频/绘图区域,并将输出设置为完整0到239.电视也没有方形像素,所以我设置了方面比例为9/8。

 

然后,我们需要一个瓦片安排程序。我们可以在没有它的情况下制作游戏,但它肯定会有所帮助。由于我们正在开发NES游戏,我强烈推荐NES Screen Tool。它非常好地显示了NES的颜色限制,并且有利于制作单屏幕游戏。它还为您提供了名称地址和属性表地址,这些都很方便。我使用2.3,如果您有旧版本,它将不会在我的源代码中打开.nss文件。在这里得到它......

 

https://shiru.untergrund.net/software.shtml

 

而且,如果你正在制作滚动游戏,我也会选择Tiled地图编辑器。稍后我将详细介绍,但您可以从Tiled导出的.csv文件中创建数据数组。

 

http://www.mapeditor.org/

 

现在已经完成了......这些事情如何运作?

 

Photoshop - 准备文件去YY-CHR。首先,调整到一些合理的NES大小,这里我使用128 x 128像素(使用最近邻居进行大小调整)。然后减少到4种颜色,按图像/模式/索引...调色板:自定义,减少到4种颜色。(我制作了一个自定义的4色样本集,可以在这里加载。)您可能需要使用铅笔工具修饰图像。剪切并粘贴到YY-CHR中。

 

YY-CHR - 确保它设置在2bpp(NES)上。如果颜色索引错误,您可能必须在YY-CHR中使用颜色替换工具...

 

您在此处提供的调色板设置无关紧要。YY-CHR可以显示各种颜色选项,但不保存调色板。您必须将调色板编程到游戏中。

 

您可以将chr文件加载到NES Screen Tool中,并使用此工具以cc65可以理解且neslib可以使用的格式创建背景,调色板和精灵。最新版本的NES Screen Tool还可以将图形(BMP索引为16色)作为tileset导入,或者将其作为名称表导入(自动生成切片)。Kasumi比我更好地解释了这个过程,这里......

 

http://nesmakers.com/viewtopic.php?t=189

 

还有一件事。我一直在编写简单的python 3脚本来将一些数据处理成C数组。您不需要,但如果您安装了python 3,则使用我的教程文件可能会有所帮助。

 

https://www.python.org/downloads/

 

CC65 - 下一节我们讲解cc65

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值