我非常想知道电视视频游戏(我们从小就玩过)是如何开发的以及在哪个平台上开发的。
我知道如何为移动设备,Windows PC和Mac开发游戏,但是(当时)Contra,Duck Hunt和所有这些游戏是怎么开发的。由于它们具有较高的图形和大量的阶段。那么,他们如何在如此小的环境和较低的配置平台上开发游戏呢?
我非常想知道电视视频游戏(我们从小就玩过)是如何开发的以及在哪个平台上开发的。
我知道如何为移动设备,Windows PC和Mac开发游戏,但是(当时)Contra,Duck Hunt和所有这些游戏是怎么开发的。由于它们具有较高的图形和大量的阶段。那么,他们如何在如此小的环境和较低的配置平台上开发游戏呢?
Answers:
真正古老的游戏-是为NES,Game Boy,SNES甚至是Atari系列之类的较旧系统编写的,通常都是用汇编语言编写的。这是必要的,因为当时的C编译器不存在或无法完成生成足够有效的代码的任务。
他们能够将所有这些东西都塞进小墨盒中-对于NES,即使有256KB的数据也是很多数据(尽管存在较大的游戏)-因为他们使用了巧妙的技巧,例如基于图块的图形和低色的图形,从而实现了很多功能数据存储在很小的空间中。此外,用于视频和音频的专用芯片使更高效地处理这些事情成为可能,而无需在软件中做任何事情。
随着时间的流逝,C编译器变得越来越高效,设备变得越来越强大-N64,GBA和更高版本的设备默认都使用C甚至C ++-并且汇编是为小段代码保留的,其中需要进行额外的优化以始终满足60FPS目标(或游戏运行的任何帧率)。
我记得80年代初期为Commodore 64 / Vic20编写了简单的游戏。一些BASIC(信不信由你-某些游戏是完全BASIC编码的-BASIC在机器的ROM上,所以是免费赠品)-但大多数都是汇编程序。汇编器也不是一致的-大多数机器都有几个商业汇编器(尽管像当时的大多数人一样,我写了自己的汇编器)。当时C64上的图形非常先进,带有栅格硬件精灵(一次只能在屏幕上显示8个,但是可以通过一些技巧在软件中复制它们,一次只能显示数百个,但只能显示8个)。它们是16种颜色(调色板-可以在运行时像精灵一样更改)。精灵当然是2D的。
我玩过的第一台“家用计算机”(忽略了早期的科学和商业机器)是ZX81(我的学校有ZX80-但它像博物馆的展品一样被锁在玻璃盒子里,没人知道如何使用它!)。想象一下,以K的1/4(即256字节!)编写游戏-这就是技巧!
从1970年代末到今天,视频游戏系统或第一代游戏机(以前称为游戏机)的开发与任何嵌入式计算机系统一样。
一个嵌入式计算机是在不相似的个人计算机,或较大的多用户计算机系统(例如,分时系统,微型计算机,大型机和)的电子系统的计算机(即,微控制器或微处理器); 一个主要的区别是它们通常缺乏通过视频终端和键盘提供的标准输入/输出。
开发是在另一台计算机上完成的,这些天通常是使用跨平台开发环境的开发人员PC或工作站,该开发环境为目标系统(在这种情况下为视频游戏系统)生成可执行文件,而目标系统通常是与开发不同的微处理器体系结构系统自身(或主机)的CPU。
当前视频游戏系统的两个示例是基于Sony,东芝和IBM的Cell处理器的PlayStation 3 ,以及通常是基于ARM的微处理器的移动设备(智能手机,平板电脑)。
如Michael Madsen
所示,大多数编程是用汇编而不是高级编译语言(例如C或Pascal)完成的。这对于在高度受限的系统(非常少的RAM和有限的盒式ROM容量)范围内适应游戏的全部内容,以及访问诸如Atari 2600的TIA之类的协处理器而言是必要的。