粘贴到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

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

  1. 用C语言开发NES游戏(CC65) 简介

    粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/ 简介: 作者nesdoug,作者重写了他的代码并发布到了github https://gi ...

  2. 用C语言开发NES游戏(CC65) 前言

    作者网站更新日期 2018年9月 翻译日期从2018年11月底开始逐步翻译,基于浏览器的翻译,重要地方逐句对比原和译文,有时候会加入些个人见解,让文字变得能像是句人话. 作者github地址: htt ...

  3. 用C语言开发NES游戏(CC65)15、音乐

    粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 我前段时间写了一篇关于NES Audio文章. https://nesdo ...

  4. 用C语言开发NES游戏(CC65)04、完整的背景

    粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 制作一张全屏显示的背景图 (备注:这里的RLE是作者将图片变成NES可以识 ...

  5. 用C语言开发NES游戏(CC65)21、完成一个游戏

    粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 我要做的第一件事是标题屏幕.这部分快速搞定,毕竟只是为了展示一下.我用 N ...

  6. 用C语言开发NES游戏(CC65)06、精灵

    粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 什么是精灵?精灵是一种可以在整个屏幕上自由移动的贴图.精灵通常是8×8,但 ...

  7. 用C语言开发NES游戏(CC65)14、游戏平台

    粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 我们要做的是向右滚动显示. 游戏吸引人的地方在哪里呢?重力. 我们需要16 ...

  8. 用C语言开发NES游戏(CC65)11、Metatiles

    粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 什么是metatile,对于贴图来说这是个特殊的词.在我的工程里有2x2的 ...

  9. 用C语言开发NES游戏(CC65)03、VRAM缓冲区

    粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 我写了一些支持函数来填充VRAM缓冲区. 我使用了一些后台场景的代码,在c ...

  10. 聊聊在博客园写博客的这两年《Unity 3D脚本编程:使用C#语言开发跨平台游戏》正式出版...

    版本状态: 2016.9 第一次印刷 (2016.11 输出到台湾) 2017.1 第二次印刷 2017.5 第三次印刷 2017.5 电子书上线:Unity 3D脚本编程--使用C#语言开发跨平台游 ...

最新文章

  1. 2018-4-8蚁群算法---包子阳《智能优化算法以及Matlab实现》第五章
  2. 0x34.数学 - 矩阵乘法
  3. 2017,公司必须换掉的六种人,别心软!
  4. 企业网络推广专员浅析如何完善网站维护企业网络推广吸引用户浏览
  5. php坐标轴取整,PHP取整函数:ceil,floor,round,intval的区别详细解析
  6. 最全蚂蚁金服高级Java面试题目(3面)
  7. 华为手机截屏怎么截长图_华为手机5种常用截屏方式,教你轻松定格屏幕精彩瞬间...
  8. PaddlePaddle飞桨OCR文本检测——检测模型训练(二)
  9. 如何在PHP中获得有用的错误消息?
  10. C#生成随机姓名 单姓 复姓
  11. IM 即时通讯实现原理
  12. 肝了一个月,全网最全的数据结构与算法知识总结
  13. 清洁代码之道:一份实用关于如何编写和维护干净整洁的好代码的的方法 The Art Of Clean Code...
  14. 人人商城(分销版)1.11.7微擎原版,装修店铺后,网站链接失效,页面不显示数据
  15. Nacos如何实现统一配置管理
  16. BC26 计算三角形的周长和面积(海伦公式)
  17. C# Find() 与 FindAll()方法的使用
  18. 【BW16 应用篇】安信可BW16模组与开发板更新固件烧录说明
  19. 滴滴开源 Levin:数据闪电加载方案
  20. JavaScript——水仙花数

热门文章

  1. 甄零一诺合同——专注合同信息化管理
  2. Mac itunes安装旧版本步骤
  3. 实验4——Pspice
  4. android 分辨率 720 1184 适配,墨迹天气 Android版最新!趋势界面可以横向滑动切换城市!...
  5. 通过在群晖上安装虚拟机,实现群晖与115网盘的双向同步
  6. 5分钟快速安装ASP.NET Core 网站运行环境
  7. rmvb 转 avi 方法
  8. KX3552驱动的安装大九
  9. SetProcessWorkingSetSize 和内存释放
  10. 在Lenovo T61笔记本上安装Windows XP