- 精华
- 0
- 帖子
- 211
- 威望
- 0 点
- 积分
- 215 点
- 种子
- 15 点
- 注册时间
- 2006-6-2
- 最后登录
- 2024-3-5
|
楼主 |
发表于 2007-3-13 23:11 · 广东
|
显示全部楼层
找到的一些资料:
http://bbs.gameres.com/showthread.asp?threadid=72285
这里有没有开发过 TV游戏的程序员
Re:这里有没有开发过 TV游戏的程序员?
即然一样的各位都说了,那我就说说不一样的吧!
主要区别在于游戏机均为实模式运行模式。并非保护模式,所以不可以使用异常,不可以乱分配内存。
前者还好,很多人写程序也不用异常。后者极为重要:
内存问题:PC/MAC的虚拟内存非常灵活,造成了一般分配内存都会成功的情况。而游戏机因为是实模式,所以没有这样的机制。比如有32MB内存,你分配3个8MB,再把中间一个释放,再分配9MB,会分配失败!而DOS-32,Win,Mac下不会。
由此会引发很多问题,比如典型的缓存问题。照着Win/Mac游戏的写法写下去只会死的很难看,这方面和DOS时代情况一样,可以读下那个时代的游戏源代码。另:日本人由于家用机游戏写多了,所以缓存设计也是一流,虽说编码很烂,但如果有机会,还是非常值得一看的。
再者实模式的内存地址都是真实特理地址,出现野指针乱写的话后果不堪设想,在Win下不会报错,或是弹个对话框。在X-BOX上就轻则游戏出错,重则死机。如同DOS-16bit下可直接写BIOS一样。
身有同感,NDS上的SDK上的C++的new要自己实现,应该自己实现内存池。堆又小,数组一大就垮了。比较好玩的是NDS可以直接操作硬件,绘制的时候都是在屏幕垂直中断,这和电脑的双缓冲不一样。显存都有专门用途(NDS分为几个模式,也可以自己配制),有一个胖的哥们儿称他为可以自己配制显存的GBA。还有调色板什么的加密什么的都是硬件支持。反正看了就知道为什么游戏机比电脑要速度快了。
但是,对于XBox360什么的没接触过,应该比较高级一点,不是到能不能有系统什么的,我又一个哥们儿 挺黑 三十岁还长得和小孩子一样,去了一家做Xbox的厂子,还当了干部,回来就告诉我,那玩意儿6个硬件线程,我一直以为是六核,不知道错没。
PSP,DC,NDS,GBA官方的SDK都可以生成PC版和游戏机版两种,
而PC版是在一个专用的模拟器中运行。
注意这个模拟器并不是游戏机的模拟器,它并不能运行游戏机版的文件,只能运行通过开发包生成的专门供这个模拟器用的PC版。
这个和Palm/WM开发是一样的,用过朋友应该知道。 |
|