小伙伴关心的问题:fc游戏在哪里可以玩(fc游戏在哪个平台玩),本文通过数据整理汇集了fc游戏在哪里可以玩(fc游戏在哪个平台玩)相关信息,下面一起看看。

fc游戏在哪里可以玩(fc游戏在哪个平台玩)

(本系列是一个回归电子游戏原点的特别系列,作者

@马遥 )

1、任天堂FC(红白机)

先上图——

这就是任天堂FC(北美版叫做NES,外形也不同),电子游戏历史上影响力最大的一台游戏主机。

在中国玩家里,恐怕只有极少数人玩过它的原版机型,大部分人记忆中的都是“小霸王学习机”,以及小天才、胜天等等外形迥异的兼容机。

在那个信息闭塞、娱乐方式有限的年代,FC是不止一代人的童年回忆。一篇2009年的旧帖,打开了满是灰尘的记忆——

沉默的人--中国电视游戏业往事(《家用电脑与游戏》2009年3期) - 游戏业界综合讨论区 - TGFC Lifestyle

2、非主流开发者

FC代表的不仅仅是一台游戏机,生活中也围绕它展开了一系列或是鸡飞狗跳、或是可歌可泣的故事。

上面TGFC的旧帖中提到了多位与FC开发结缘的人,有《烟山坦克》的作者,有“小天才”的开发者,还有英年早逝的天才、Dream系列模拟器开发者李可文。

除了早年间的传奇人物,其实还有一批默默无闻的FC业余开发者,他们或是怀着热情,或是抱着学习的目的来学习FC开发。

2021年年初,我忽然在B站上看到一个“教学”视频——从0开始实现一个FC模拟器。链接:【科普】编程实现简单的FC模拟器,揭秘红白机内部的运行原理!_哔哩哔哩_bilibili

这个模拟器效果出色,视频讲解逻辑清楚,令我十分惊讶——在互联网高度发达的今天,像FC模拟器这种以前只有大神黑客才能掌握的东西,现在竟然可以做成教学视频。

对于有一点编程能力的人来说,理解FC的原理不会太难。但比较麻烦的是搭建开发环境并逐步实践。

这时我已经有了一点开发FC游戏的想法,但不知从何入手。经过一番搜索,我找到了一个神奇的网站(网盘),在那里几乎有我需要的所有FC资料—— 链接:维京的梦

这时我才发现,原来一直有一群人,一直凭着热情研究FC游戏开发。沿着他们的脚印,让我也能快速学会开发FC的方法。

PS:这个网盘里有QQ群号,感兴趣的同学自寻。

3、开始FC开发——FC游戏大师

我翻了一遍网盘资料,经过实验发现一款比较容易上手的软件——FC游戏大师。看信息它是“维京猎人”制作的一个FC开发IDE,整合了多款必要的小工具。

推荐FC游戏大师的原因有很多:

一键编译。只要写好Build.cmd批处理文件,一键编译,一键运行。有示例工程,有注释。示例工程似乎是作者 维京 自己写的C语言源代码,有注释可参考。整合了chr工具、map工具。★ 主要开发语言是C语言,极大降低了入门门槛。

4、创建和运行第一个游戏项目

下载FC游戏大师。位于“维京的梦”网盘中“FC-工具集[2]”文件夹中。下载后解压即可使用。文件夹中包含入门PDF文档“FC_NES_maker使用说明_小白档”,需要略读前半部分。打开FC_maker.exe,左上角按钮 -> 打开工程 -> 例子,发现里面没有工程。打开文件夹查看,发现示例工程被压缩了,原地解压它们即可。示例工程有两个,《迷宫不迷》和《移动》。我们先从简单的《移动》开始。打开“移动.vk5”工程,点击“工程编译”按钮。

6. 软件会自动打开cmd窗口运行Build.cmd,Build.cmd里面是批处理指令。

7. 编译成功后关闭cmd窗口。点击绿色小三角,会自动打开FCEUX模拟器运行编译好的rom。

5、代码与字符文件简介

第一个工程比较简单,稍微看一下。

主程序是“移动.c”,打开它就可以编辑代码。FC大师集成了Notepad++可以直接编辑,由于编译器是独立的,只要能写文字的编辑器都可以编辑代码。

Notepad++功能太少,我推荐用Visual Studio,可以识别C语言语法并跳转函数。做Unity开发的同学应该都已经安装过了,用VS直接打开C文件即可,不要创建工程。

用VS写C语言代码

代码解释:

#include <conio.h> void main() { // C语言变量定义必须在最前面 int var1 = 1; int t = 1; // 一直循环20次 while (var1 < 20) { // 指定打印坐标到第var1行,第10列,每行每列是8个像素 gotoxy(var1, 10); cprintf("0123456789:;"); // 打印chr文件中指定的tile到背景 gotoxy(var1, 11); cprintf("@ABCDEFGHIJK"); var1 = var1 + 1; // 横坐标+1 t = 1; // 空循环体,等待一段时间 while (t++ < 800); } // 死循环,卡住CPU不动 while (1); }

不熟悉单片机开发的人可能觉得这个代码很奇怪,到处是空循环、死循环。但事实就是这样,我们大部分人都会觉得很奇怪【狗头】

问题是,代码里写的是打印“0123456789:”,为什么打印出来是“维京猎人来了”呢?

请打开FC大师窗口中的ASCII.chr

打开以后发现一个字符表。作者将字符表中的“0123456”和“ABCDEF”那段替换成了汉字,就自然会打印“维京XXXX”的汉字了。

FC根本就没有电脑那样的字符系统,字符都是以tile的形式画出来的。这里可以用工具编辑chr文件,然后编译运行,发现文字图案变了。(chr工具使用方法略)

由于这个例子并不是很具有代表性,实际开发中cprintf的办法并不常用。我们简单略过,之后找更合适的例子来介绍。

6、开始?

我最近研究FC,做了一个像这样的打飞机游戏:

敌机素材借用了FC游戏《1943》里面的飞机素材。

整个游戏做的非常简单,主要是为了配合文章介绍用。

工程可以在“维京的梦”网盘中的“访客上传03”文件夹中找到,文件名“goodorc作品_FC大师工程_spitfire.zip”

FC开发涉及到的细节非常多,需要实践才能理解。

我打算围绕着FC开发中的重点逐步展开,用最简单的方式把FC核心技术介绍清楚。计划会有4~5个短篇文章,每期介绍一个小问题。

相信大部分读者都是对FC开发的原理有兴趣,相信本系列会起到抛砖引用的作用:)

(本文作者

@马遥 。欢迎加入游戏开发群欢乐搅基:1082025059

对游戏开发感兴趣的童鞋可戳这里进一步了解:http://www.levelpp.com/)

更多fc游戏在哪里可以玩(fc游戏在哪个平台玩)相关信息请关注本站,本文仅仅做为展示!