proof1 发表于 2024-3-2 22:05

请教:老游戏程序设计方法


象APPLE II 上的“police捉小偷(淘金者)”、“空手道”
DOS上的“波斯王子”、“战斧”、“西洋封神榜”、“星球大战”、“小蜜蜂”
雅达利上的“运河大战”

是如何做到的?
那时没有DirectX 。
APPLE II 上的源码,全部是6502汇编?还是“高级语言+汇编”
同理,DOS上是用“C语言+ASM”、“Pascal+ASM”?

这类源代码,是否完全依赖设计者的个人风格?关键功能是否晦涩难懂(尤其是汇编部分)?
这几位大神,后来的岁月,是否面向公众讲解过自己的思路和设计代码?
有没有这方面的书籍、教程、源代码拆解分析?(中文版)

jinshazi 发表于 2024-3-2 22:12

apple II波斯王子源代码软盘失而复得后,作者请专家挽救数据后开源了,你下下来看看就知道了

proof1 发表于 2024-3-2 22:34

jinshazi 发表于 2024-3-2 22:12
apple II波斯王子源代码软盘失而复得后,作者请专家挽救数据后开源了,你下下来看看就知道了 ...

重要的是讲解。

问题是,给你一个CPU,你也做不出来,也不懂。

没有设计图纸,没有设计师讲解、教授,没有一尺高的文案资料,也白给。

若是水平差不太多,逆向工程,倒是可以做出来。这种情况另说。

loveour 发表于 2024-3-3 10:34

本帖最后由 loveour 于 2024-3-3 10:38 编辑

首先,学图形学都会学习如何画线,如何画图形,直接编程操作像素点是可以实现的。其次,没有DirectX不一定没有其他图形接口,实际上,游戏机厂商都会提供开发工具的,比如FC,够早吧?内置是支持Tile的,叫做Sprite,8乘8个像素大小,所以白云,砖块,乃至文字,都是Tile,编程操纵绘制到屏幕上。
语言,最早期肯定是汇编,后期开始C,C++。到目前游戏开发C++也还比较主流。Unity是C#,Unreal是C++。但是语言不是关键,事实上到了现在也有人用C++写FC游戏,有人做了开发工具。
游戏开发有很多奇技淫巧,现在更多是把很多功能模块封装起来了,实际现在只会是更复杂,只是如果只要做个游戏出来,不接触引擎内部实现原理也能做到而已。
有很多这样的书和教程,可以去搜一下。就算FC游戏早年国内也有人出过书讲如何编游戏。

典型齿轮 发表于 2024-3-3 11:25

本帖最后由 典型齿轮 于 2024-3-3 11:29 编辑

用仙剑DOS版作为例子,它就是在直接把图像像素点数据写入显存。后来的Windows版老仙剑在Windows下依然是画像素点,只是换了用GDI来实现。
现在的SDLPal还是这个逻辑,依然是在一个320x200的纹理上画点,然后只是用现代的图形接口显示。

raiya2 发表于 2024-3-3 11:25

本帖最后由 raiya2 于 2024-3-3 12:08 编辑

汇编啊。md 和ps开始才是C语言。

你要去找找当年的软件开发工具和使用手册。

典型齿轮 发表于 2024-3-3 11:31

本帖最后由 典型齿轮 于 2024-3-3 11:36 编辑

声音方面,用AdLib标准的FM合成为例,就是持续把控制用的数据写入规定寄存器,就好了。至于该怎么写,那就得看AdLib和雅马哈的手册了。

典型齿轮 发表于 2024-3-3 11:35

本帖最后由 典型齿轮 于 2024-3-3 11:43 编辑

老DOS游戏的显示原理就是算好像素的数据,然后写入显存的对应位置,显卡硬件把这些图像显示出来。

这和当时硬件加速显示的主流游戏机有很大的区别啦。

liryan 发表于 2024-3-4 08:24

b站
一天学会fc游戏的修改与开发

proof1 发表于 2024-3-27 20:36

APPLE II 游戏 Loader Runner

页: [1]
查看完整版本: 请教:老游戏程序设计方法