找回密码
 立即注册
搜索
查看: 19995|回复: 100

[怀旧] 游戏引擎发明出来之前的游戏是怎么做的呢?

[复制链接]
发表于 2023-11-19 12:40 | 显示全部楼层 |阅读模式
比如原版超级马里奥,这些游戏怎么做的呢?纯编程实现的吗,如何实现?需要知道多少2d图形学知识?此外,现在还有2d游戏的图形学教程吗?


最早的游戏引擎是什么时候被发明的?土星机PS1年代时应该有了吧?那时候日本2d横板游戏制作流行的游戏引擎都是什么?

回复

使用道具 举报

     
发表于 2023-11-19 12:42 | 显示全部楼层
汇编里重复调用的部分
规范化的数据格式
这些就算是那时的游戏引擎了
回复

使用道具 举报

     
发表于 2023-11-19 12:45 | 显示全部楼层
本帖最后由 zxlice 于 2023-11-19 12:47 编辑

你用c++ sfml也能写个游戏,难道库你也不要吗?
没有引擎缺少了很多过程工具,文件格式、可视化编辑等东西,这些东西你可以自己写,但是重心放在这了还做什么游戏
回复

使用道具 举报

发表于 2023-11-19 12:47 来自手机 | 显示全部楼层
excel也不是不能做游戏
回复

使用道具 举报

     
发表于 2023-11-19 12:51 | 显示全部楼层

  就是自己从头一点点写啊,只不过没有扩展性,没有重复使用性啊
回复

使用道具 举报

     
发表于 2023-11-19 12:51 | 显示全部楼层
商业游戏引擎是一套轮子
这个问题可以换成 没有前端框架的时代,是怎么写网页的
回复

使用道具 举报

 楼主| 发表于 2023-11-19 12:55 | 显示全部楼层
我想问的是具体怎么做的,有没有一步一步的教程/科普,结合当时硬件条件,不要现代视角解释的,因为我是电脑白痴很好奇,我们在游戏机上玩到都是封装好的了,古代游戏是怎么在开发机上输入编程指令,调试,debug的?
回复

使用道具 举报

     
发表于 2023-11-19 12:57 | 显示全部楼层
刘仲敬 发表于 2023-11-19 12:55
我想问的是具体怎么做的,有没有一步一步的教程/科普,结合当时硬件条件,不要现代视角解释的,因为我是电 ...

用电脑编程啊..你不会以为是用游戏机写程序吧,游戏机只是一个运行媒介而已
回复

使用道具 举报

     
发表于 2023-11-19 12:57 来自手机 | 显示全部楼层
纸带打孔嗯造机器码

— from OPPO PDEM30, Android 13 of S1 Next Goose v2.5.4
回复

使用道具 举报

     
发表于 2023-11-19 12:58 | 显示全部楼层
游戏引擎不就是一堆现成的代码么。随用随取而已。

简单来说,图形就是画一幅画,然后用像素点来简略表现这幅画。

每一张画对应一个动作,比如站立,移动,跳跃,攻击。

根据玩家的操作显示对应的动作就可以了。
回复

使用道具 举报

     
发表于 2023-11-19 12:59 来自手机 | 显示全部楼层
当时的游戏可能都不需要引擎,处理2d图像没那么复杂
回复

使用道具 举报

发表于 2023-11-19 12:59 | 显示全部楼层
游戏本质上就是个带用户交互的程序
你会scanf和printf就能写一个简单的文本游戏
回复

使用道具 举报

     
发表于 2023-11-19 13:00 来自手机 | 显示全部楼层
就是编程啊,九几年那会儿小学的电脑课上老师会教如何只靠输入字符在屏幕上画画,那个的复杂度再升几级就是做游戏了
回复

使用道具 举报

     
发表于 2023-11-19 13:04 | 显示全部楼层
引擎也是一种工具箱,在有引擎前,很多工具已经足够成熟了。

老游戏的复杂度,不用考虑这么多。

计算机图形学,对爱好者太超纲了,看点别的。
回复

使用道具 举报

     
发表于 2023-11-19 13:12 来自手机 | 显示全部楼层
楼主指的是UE之类的商业引擎吧
没有这个你的代码就没有基础架构和可以复用的部分了吗,你想想游戏引擎不也是游戏开发者做出来的东西
像荒野之息和王国之泪这种底层交互逻辑复杂得要命的游戏,底层代码搞不好比商业引擎还复杂
你就算自己写个贪吃蛇也会有底层和代码复用的部分,不然根本没法迭代和维护的
回复

使用道具 举报

     
发表于 2023-11-19 13:17 | 显示全部楼层
本帖最后由 诚司 于 2023-11-19 13:19 编辑

挺多游戏营销号就喜欢把在古早硬件上写游戏吹的天花乱坠,看多了就会在知乎提个问题,“日本当年的老游戏程序员水平这么高怎么现在没了”,好像在单片机级别的硬件上写个中断函数或者按datasheet控制引脚在屏幕上绘图有多复杂一样

在20xx年的pc上写程序,进程隔着windows,代码跑在Ring3,内存地址隔着MMU,屏幕上显示个东西还得隔着windows驱动,会觉得把这一套做些来难是因为有x86保护模式、windows有进程和内存管理机制,而且这些玩意是限定死的,而且不是程序员自己写的

而在20xx年的低端单片机和198x年的游戏机上写程序,开机就上电,代码说跑就跑,可能都不用管bios,大概率没有MMU,物理内存就是逻辑内存,程序也不需要多个进程,不用资源隔离,中断导致的上下文切换就那么几行代码。按datasheet的协议引脚时序,中断函数按协议接受个手柄信号,然后刷屏幕就得了。
游戏逻辑上又不复杂,也不是一个月让你出一百个游戏,就算不用2d引擎,原版马里奥这种哪里需要多少复杂度
回复

使用道具 举报

     
发表于 2023-11-19 14:19 | 显示全部楼层
大部分点子是几个人凑一起, 端着杯子夹着烟想出来的

大部分设计是在草稿纸上整理思路, 在小黑板前讨论出来的

图形和美术设计用标准的方格纸画点阵, 差不多了把参数填进demo在监视器上看效果, 再改颜色和调色板

在机器上实现只是微不足道的一环, 主程带俩副手就搞定了
回复

使用道具 举报

头像被屏蔽
     
发表于 2023-11-19 14:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2023-11-19 14:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2023-11-19 14:35 | 显示全部楼层
网上有很多古早游戏制作教程啊,贪吃蛇,俄罗斯方块,扫雷,坦克世界之类的。有一点编程知识都能照抄做出来,还有gpt直接教你做。
回复

使用道具 举报

头像被屏蔽
     
发表于 2023-11-19 15:16 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2023-11-19 15:20 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2023-11-19 15:27 | 显示全部楼层
woshiklr 发表于 2023-11-19 12:58
游戏引擎不就是一堆现成的代码么。随用随取而已。

简单来说,图形就是画一幅画,然后用像素点来简略表现这 ...

但是想想好复杂,怎么想那些像素点可以画成一个物体,怎么上色,有没有具体代码看看,判定框怎么交互,有没有具体代码看看
回复

使用道具 举报

 楼主| 发表于 2023-11-19 15:27 | 显示全部楼层
tsubasa9 发表于 2023-11-19 12:59
游戏本质上就是个带用户交互的程序
你会scanf和printf就能写一个简单的文本游戏 ...

有无例子看看
回复

使用道具 举报

 楼主| 发表于 2023-11-19 15:28 | 显示全部楼层
柔福帝姬 发表于 2023-11-19 14:32
啊这,大学里上的什么单片机实践课,一共也没几节课时,就有厉害的学生可以当堂写个简陋的游戏出来当作业交 ...

有没有推荐的单片机网课
回复

使用道具 举报

     
发表于 2023-11-19 15:41 | 显示全部楼层
可以建议楼主去b站找个c++ c++++的入门教程,学个一周把基础语法学会之后,一般就会让你用掌握的语法写个贪吃蛇,2048之类的调用终端运行来玩了.
应该比较类似fc上游戏的编程过程了吧..
回复

使用道具 举报

     
发表于 2023-11-19 15:45 来自手机 | 显示全部楼层
老任fc全称family computer,说白了游戏机就是一种计算机,你是可以通过汇编和cpu指令集直接访问游戏机硬件设备和执行代码的。游戏引擎也好框架也罢,其实是开发者在游戏开发过程中衍生的一系列工具,流程和经验的合集,是先有游戏再有游戏引擎的关系。

—— 来自 nubia NX712J, Android 13上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2023-11-19 15:49 | 显示全部楼层
刘仲敬 发表于 2023-11-19 15:28
有没有推荐的单片机网课

哔哩哔哩上有很多不错的教程
回复

使用道具 举报

 楼主| 发表于 2023-11-19 15:58 | 显示全部楼层
本帖最后由 刘仲敬 于 2023-11-20 17:58 编辑
codecloud 发表于 2023-11-19 15:41
可以建议楼主去b站找个c++ c++++的入门教程,学个一周把基础语法学会之后,一般就会让你用掌握的语法写个贪吃 ...

我也学过编程,为什么想不出来,感觉是个宏大工程。。。
回复

使用道具 举报

     
发表于 2023-11-19 16:00 来自手机 | 显示全部楼层
只针对FC的话这里资料很多:https://www.nesdev.org/wiki/Nesdev_Wiki
那时候不仅没引擎,高级语言都没得用,大家都是手写汇编
回复

使用道具 举报

 楼主| 发表于 2023-11-19 16:01 | 显示全部楼层
我想看看fc开发的记录录像,看看办公环境是什么样子,什么样的流程
回复

使用道具 举报

发表于 2023-11-19 16:22 | 显示全部楼层
FC有分析实现的UP像Displaced Gamer的Behind the code之类视频可以看看。直接看源码门槛比较高。至于计算机图形学可看的东西就更多了,先看明白DDA和光栅化吧。
不过楼主如果要一直往下问,可以从CPU的微架构开始看,不然看了FC的开发就要想这个CPU为什么能把汇编指令执行出来了。
看一下6502的文档,然后用Verilog克隆一个RTL级的6502 CPU放到FPGA板子上跑通,做完了应该就差不多懂了。
不要问怎么做,这是你清先进的fly bitch理念
回复

使用道具 举报

     
发表于 2023-11-19 16:31 | 显示全部楼层
本帖最后由 ohi.02 于 2023-11-19 16:41 编辑

游戏引擎可以说是游戏开发用到的工具软件集合,早期游戏结构简单,应该没有游戏引擎这么个概念。
要做2d马里奥需要什么?从编程的角度来说,只需要操作系统提供输入、文件读取、绘制窗口和指定位置绘制图形等这些简单的接口就行了,剩下的内容无非就是以固定时间为间隔,处理玩家输入,跟据游戏规则把制作好的图像在屏幕的指定位置显示出来

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2023-11-19 16:37 | 显示全部楼层
本帖最后由 ohi.02 于 2023-11-19 16:39 编辑
刘仲敬 发表于 2023-11-19 15:27
但是想想好复杂,怎么想那些像素点可以画成一个物体,怎么上色,有没有具体代码看看,判定框怎么交互,有 ...

多看看书吧,比如电子工业出版社出版的《游戏引擎架构》

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2023-11-19 16:42 | 显示全部楼层
刘仲敬 发表于 2023-11-19 15:58
我也学过编程,为什么想不出来,感觉是个宏大工程。。。第一个想象出电子游戏的人真是天才,首先想到用于 ...

你说的这是游戏设计师的工作,不是游戏程序员的工作...
回复

使用道具 举报

     
发表于 2023-11-19 16:44 | 显示全部楼层
本帖最后由 萼绿华 于 2023-11-19 16:47 编辑

我倒是建议楼主自己装个Unity做个贪吃蛇玩玩,反正个人用是免费的。虽然是现代的成熟的引擎,但有助于快速理解游戏程序的逻辑,比起漫无头绪地直接研究古老游戏简单多了。等把游戏引擎是什么搞明白了再深入去想怎么把Unity的功能实现出来就可以了。
回复

使用道具 举报

     
发表于 2023-11-19 16:47 | 显示全部楼层
刘仲敬 发表于 2023-11-19 15:58
我也学过编程,为什么想不出来,感觉是个宏大工程。。。第一个想象出电子游戏的人真是天才,首先想到用于 ...

可以玩一玩康威的生命游戏:
https://playgameoflife.com/
应该会使你有所启发
回复

使用道具 举报

发表于 2023-11-19 16:51 | 显示全部楼层
学这个没啥用啊,都过时了,上学的时候在dos下写过游戏,当时都是用调用dos中断来画图的,根本谈不上什么引擎,跟后来directx的做法也完全不一样
真想学可以看Michael Abrash的书,这位是最早的游戏程序员大师之一,卡马克的导师
推荐Michael Abrash's Graphics Programming Black Book,里面各种各样的古代奇技淫巧非常多,可以当吹逼段子看
回复

使用道具 举报

     
发表于 2023-11-19 17:22 | 显示全部楼层
刘仲敬 发表于 2023-11-19 16:01
我想看看fc开发的记录录像,看看办公环境是什么样子,什么样的流程

B站上有个自学中文的外国人在传教如何md上开发移植游戏,你要不要凑活一下看看?
https://space.bilibili.com/1285534186

回复

使用道具 举报

头像被屏蔽
发表于 2023-11-19 17:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-14 14:11 , Processed in 0.122356 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表