魂斗罗等FC游戏,它的人物画面是用汇编语言直接写代码生成的,还是先画好图后用汇编索引出来?

7193℃ SAM

魂斗罗等FC游戏,它的人物画面是用汇编语言直接写代码生成的,还是先画好图后用汇编索引出来?

魂斗罗是什么编程语言编写的?

应该是c/c++和部分汇编混杂

小时候玩的游戏,像魂斗罗、街头霸王等等是什么语言编写的?

家用机的魂斗罗等是罗克韦尔的6502核心,汇编机器语言的,街机的街霸好像是16位的,估计摩托罗拉68000的。开发者用的应该是计算机高级语言,至少是DOS环境的。#^_^#

FC游戏用什么游戏制作的?

想用FC游戏要先了解FC游戏机的工作原理。

BASIC语言和C语言

如何才能达到游戏的效果?

流程大致分成两种:

1是好像BASIC或者C的编写方法。流水线式,一个工作到一个工作的做。

例如 清屏->显示图形->接收手柄信号->判断手柄操作->实现操作显示某图形->发出声效->然后判断结果->作出反应->又回到接手柄信号。

2是中断式。FC每隔约2毫秒调用一次中断。(这个间隔的时间由电视信号的制式而定。它跟vblank相关。 FC是电视游戏机,那自然与电视有关。很特技都是因此实现的。)在中断的程序里,实现音乐、读手柄、显示图形。在主程中要与中断的程序交流,协同运行。中断的开头和结尾我们会用到现场保护和现场恢复。在主程序和中断之间要建立公共变量,实现互锁,才能协同远行。参考书《计算机组成原理》

1·3·3动画处理技术

组成任天堂游戏中动画的最小单位是卡通块,每个卡通块为8X8点阵.与一个字符同

样大小。卡通块也有一个图形字库,对应的PPU地址为$0000-$OFFF。每个个卡通块的字

模数据也由连续的16个单元组成,故一次最多可定义256个卡通块,序号依次为0-255

6527CPU规定.在一幅画面上只允许同时显示64个8x8点阵的卡通块〔这是由PPU

内卡通定义区的RAM分配决定的〕,如《超级玛丽》中,玛丽在吃红蘑菇之前为16x16点

阵大小(即由4个卡通块组成),当吃了红蘑菇之后身体长大一倍,变为32X 32点阵(即由

16个卡通块组成〕的卡通。但实际游戏中要求显示的卡通块数往往远远超过这一限制,如目

前较流行的打斗游戏《街霸》中,一个卡通即为128*64点阵(由128个卡通块组成)有时还

更大,这是怎么实现的呢?

原来在实际游戏中,对卡通进行了分时控制。所谓分时控制就是在不同的时间里显示半

通的不同部分,依靠人眼的视觉惰性产生连续的感觉。如《魂斗罗》游戏中的卡通显示(两个

正面角色、敌人、发射的子弹、暗堡的闭合与开启都是卡通)就是每一次中断显示卡通的二分

之一实现的。

卡通的定义操作极其简单,系统规定一个卡通块由连续的四个内存单元定义,第一寸

单元指定卡通显示的Y坐标、第二个为卡通块在字库中的序号、第三个为卡通块的显示状

态〔配色组合、左右翻转、上下颠倒以及显示于那个卡通页面,,第四个为显示的X坐标。编

程中可任意指定定义卡通的内存页面(一般选二页或三页,即$200一$2FF, $300

$3FF)。

关于任天堂游戏中的卡通的定义及运动控制将在第七章讨论。

摘自请参考《FC游戏编程教程》。网上大把教程可以查寻,这里不给贴网址。