Stage1st

 找回密码
 立即注册
搜索
查看: 4473|回复: 23
打印 上一主题 下一主题

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

[复制链接]
     
楼主
发表于 2024-3-2 23:04 | 显示全部楼层
苹果机上的游戏开发我记得挺魔幻,图形技术出自一个黑客写的编程指南,非官方的
好像是在doom启示录里有写

分析游戏代码的书我见过两本:
Game Engine Black Book Doom (v1.1) (Fabien Sanglard) (Z-Library)
Game Engine Black Book Wolfenstein 3D v2.1 (Sanglard, Fabien) (Z-Library)

就算是卡神的代码,在那个年代还是显得青涩的
熟悉了doom的结构后可以读quake2,doom3,还有被魔改过的绝地学院。绝地学院的代码不全,删掉了和主机相关的
回复

使用道具 举报

     
2#
发表于 2024-3-2 23:05 | 显示全部楼层
wewai 发表于 2024-3-2 22:30
DirectX 主要是简化了 3D 的开发吧,如果是 2D 游戏的话手搓其实没有太大的问题。而且当时有些平台也是有硬 ...

我觉得不可能,难道那位作者还能比驱动更懂硬件吗
回复

使用道具 举报

     
3#
发表于 2024-3-2 23:45 | 显示全部楼层
GuardHei 发表于 2024-3-2 23:44
硬件是为了某种场景特化的,你换个使用场景效率可能会暴跌,这时候用软件反而绕过了瓶颈,这很正常。你就 ...

在windows上怎么绕,都是要过驱动的
回复

使用道具 举报

     
4#
发表于 2024-3-2 23:51 | 显示全部楼层
wewai 发表于 2024-3-2 23:43
两个冷知识:

* 开发驱动的人绝大多数不是架构师自己的孩子,也是外面招进来的,同时也有可能跳出去。

不是这样的,微软dx规定了这个版本能做什么什么功能,a卡n卡内部怎么nb微软管不着,但他们提供的驱动一定要实现dx规定的功能,这和架构没关系

一个程序员写代码控制显卡,就几个选择:用dx调驱动,或者用vulkan调驱动,做不到超出图形接口功能之外的事
回复

使用道具 举报

     
5#
发表于 2024-3-3 00:25 | 显示全部楼层
Tring 发表于 2024-3-3 00:20
老游戏很多是直接用DRAW语句画图形的。
再底层一点的,会直接往显存里写数据,和DIRECTDRAW的用法其实是一 ...

dx是为了保证大多数硬件都能在windows上运行

doom启示录里写了一件事:微软和某家品牌电脑合作,集成迪斯尼的游戏,但因为那家品牌电脑公司变动了硬件,100万台windows搞出了100万次崩溃。后来在推广dx时大门还cos了毁灭战士一把
回复

使用道具 举报

     
6#
发表于 2024-3-28 20:32 | 显示全部楼层
本帖最后由 精钢魔像 于 2024-3-28 20:34 编辑
junqqq999 发表于 2024-3-28 16:25
我看一个youtube视频讲dos游戏,说直到97年还有不少游戏开发商不愿意给win95开发游戏,因为dos可以直接调 ...

windows为了兼容各种各样的显卡,要求显卡必须实现微软提出的功能,所以调用硬件要经过一个虚拟层。
还有就是微软赢得了c++四国大战,windows的系统语言是c++,dx自然成了c++风格。在那个时代会用c++的人不多,要么是按c用,要么是把一切东西塞c++类里,和gl相比,dx接口臃肿而且难用,这里又扯到微软的com技术了。
显卡厂商的激烈竞争又体现在了opengl扩展功能上,当时dx的功能是不如opengl的。

后来技术发展,显卡可以编程了,dx也慢慢变得容易用了,到了dx9的时候一统江湖。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 12:26 , Processed in 0.022932 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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