A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 2323|回复: 9

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

[复制链接]

精华
0
帖子
575
威望
0 点
积分
608 点
种子
12 点
注册时间
2005-7-7
最后登录
2024-12-26
 楼主| 发表于 2024-3-2 22:05  ·  天津 | 显示全部楼层 |阅读模式

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

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

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

精华
0
帖子
1285
威望
0 点
积分
1272 点
种子
39 点
注册时间
2010-11-20
最后登录
2024-12-28
发表于 2024-3-2 22:12  ·  北京 来自手机 | 显示全部楼层
apple II波斯王子源代码软盘失而复得后,作者请专家挽救数据后开源了,你下下来看看就知道了

精华
0
帖子
575
威望
0 点
积分
608 点
种子
12 点
注册时间
2005-7-7
最后登录
2024-12-26
 楼主| 发表于 2024-3-2 22:34  ·  天津 | 显示全部楼层
jinshazi 发表于 2024-3-2 22:12
apple II波斯王子源代码软盘失而复得后,作者请专家挽救数据后开源了,你下下来看看就知道了 ...

重要的是讲解。

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

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

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

精华
0
帖子
94
威望
0 点
积分
106 点
种子
17 点
注册时间
2007-4-14
最后登录
2024-8-28
发表于 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游戏早年国内也有人出过书讲如何编游戏。

精华
0
帖子
2576
威望
0 点
积分
2602 点
种子
276 点
注册时间
2012-3-15
最后登录
2024-12-28
发表于 2024-3-3 11:25  ·  内蒙古 | 显示全部楼层
本帖最后由 典型齿轮 于 2024-3-3 11:29 编辑

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

精华
0
帖子
8554
威望
0 点
积分
8883 点
种子
543 点
注册时间
2009-7-29
最后登录
2024-8-9
发表于 2024-3-3 11:25  ·  上海 | 显示全部楼层
本帖最后由 raiya2 于 2024-3-3 12:08 编辑

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

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

精华
0
帖子
2576
威望
0 点
积分
2602 点
种子
276 点
注册时间
2012-3-15
最后登录
2024-12-28
发表于 2024-3-3 11:31  ·  内蒙古 | 显示全部楼层
本帖最后由 典型齿轮 于 2024-3-3 11:36 编辑

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

精华
0
帖子
2576
威望
0 点
积分
2602 点
种子
276 点
注册时间
2012-3-15
最后登录
2024-12-28
发表于 2024-3-3 11:35  ·  内蒙古 | 显示全部楼层
本帖最后由 典型齿轮 于 2024-3-3 11:43 编辑

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

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

精华
0
帖子
2286
威望
0 点
积分
2895 点
种子
487 点
注册时间
2011-2-5
最后登录
2024-9-3
发表于 2024-3-4 08:24  ·  广西 | 显示全部楼层
b站
一天学会fc游戏的修改与开发
发自A9VG Android客户端

精华
0
帖子
575
威望
0 点
积分
608 点
种子
12 点
注册时间
2005-7-7
最后登录
2024-12-26
 楼主| 发表于 2024-3-27 20:36  ·  天津 | 显示全部楼层
APPLE II 游戏 Loader Runner

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

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

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-12-29 00:24 , Processed in 0.260246 second(s), 21 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部