找回密码
注册

QQ登录

独立游戏 >
独立动画 >
独立音乐 >

新版Prefab的一些梳理

前言Unity的Prefab相信大家一定很熟悉了,但是用起来那叫个又爱 ...

《我叫MT4》游戏测评——简单地从交互设计的角度分析

1、进去游戏后,会先播放一段动画。这段CG做得很不错,镜头、人 ...

Unity导入模型出现多层UV问题解决

在做项目优化的时候发现,游戏中的模型占用了很高的内存,然后就 ...

Substance Painter入门学习笔记 -8 油桶制作

【前言】 上一篇介绍了油桶的制作,以及到SP中如何烘焙 ...

Substance Painter入门学习笔记 -7 日记本-3

【前言】 这篇继续研究SP功能,用它绘制前边制作的日记 ...

Substance Painter入门学习笔记 -5

【前言】 继续 【研究】 三、调整和做旧。 首先调整做旧弹体 ...

Substance Painter入门学习笔记 -4

【前言】 继续 Substance Painter 以下简称SP。 【研究】 第二 ...

Substance Painter入门学习笔记 -3

【前言】 前两篇粗略介绍了一下该软件的操作方法。这一篇 ...

Substance Painter入门学习笔记 -2

【前言】 接着上一篇制作。 【学习】 操作三 做旧 现实 ...

Substance Painter入门学习笔记 -6 油桶制作

【前言】 上一篇通过游戏道具制作,初步了解一下Subst ...

作者: 九艺网
查看: 148|回复: 0
搜索

more +最新主题Download

more +社区更新Forums

more +随机图赏Gallery

新版Prefab的一些梳理
《我叫MT4》游戏测评——简单地从交互设计
Unity导入模型出现多层UV问题解决
Substance Painter入门学习笔记 -8 油桶制

more +文章更新News

DOS游戏编程二十一条

[复制链接]
九艺网 发表于 2017-3-10 17:02:23 | 显示全部楼层 |阅读模式
查看: 148|回复: 0

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
[table=560]
     [table=560][tr][td=1,1,6][/td][td=1,1,748][table=98%][tr][td=1,1,10]

                               
登录/注册后可看大图
[/td][td=1,1,728]

                               
登录/注册后可看大图
[table=98%][tr][td=2,1]DOS游戏编程二十一条[/td][/tr][tr][td=2,1][/td][/tr][tr][td=2,1][/td][/tr][tr][td=2,1]<span id="lblContent">我在一家游戏公司多年,现就自己的编程经验谈一点体会,希望能对大家有点帮助,本文中所有例子均在WATCOM C/C++ 10.6下调试通过。

1、找一种好的编程语言:
当然,游戏可以用任何语言编写,这是可以肯定的,我就使用过Turbo Basic编写过跑马机游戏,还用VB写过一个半成品的网络拱猪游戏,但是,一个好的编程语言能够达到好的效果,这是毋庸置疑的。一个游戏程序员,梦寐以求的就是一个方便、完美、高速的语言。
汇编是一种高速语言,但不够方便,如果要方便,就必须大量使用宏,笔者就曾经在6502汇编语言中大量使用FOR,NEXT,PRINT等语句,全部是宏,但是相应的内存开销,时间开销都加大了,不划算。
WATCOM C/C++是一种好语言,可以访问大内存,速度快,也够方便,但是调试不够方便,只能用自己写的调试函数解决问题。还有每次运行必须调用DOS/4GW这个32位环境程序,既累赘又不方便,还占地方。
MSC7.0也不错,通过它的虚拟内存机制也可以访问大内存,但可惜是16位仿真的,速度太慢。
DJGPP也是很不错,关键它是共享的,同时还带有一个Alleg的共享游戏库,非常好用,推荐使用,但它生成的程序代码太大,不够优化。
作为游戏程序员,我们追求的就是快一点、快一点、再快一点,如果还有更快的语言,希望大家介绍给我。

2、要写专有程序,不要写通用的,通用,意味着慢,哪怕下次重新来过,也不能为了下次耽误这次。同理,凡是系统给你的函数,调用,要有坚决不用的思想准备,要自己写一套。

3、写出来的程序,每秒钟必须刷屏70次以上,再通过时钟限制在30次(不抖),剩下的时间,就是运行你的游戏程序内容的时间,算一算,不多。

4、要有引擎的概念,引擎包含系统底层的程序,数据结构,调用方法等,这些直接限制你以后的游戏好不好编,一般说来,我们做一个游戏半年时间,其中两个月编引擎,两个月编游戏,剩下两个月调试,可见引擎的重要。永远记着,你写的程序,就计算机而言,就是在搬数,把一堆数据提出来,处理一下搬到另外一块地方,就这么简单,那么,搬数的方法有多重要,你知道了吧。 5、尽量少用乘除法、浮点数,必要时使用移位乘法。这里给一个移位乘法的例子,大家可以参考:
/*-------------------------------------------------------------------------------*/
//XiaoGe Made under WATCOM C/C++ 10.6
/*-------------------------------------------------------------------------------*/
int count_offest(int _width,int x,int y) //移位乘法计算显示偏移值
{
int mode[17]={1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536};
int i,offest=0;
for (i=16;i>=0;i--)
{
if (_width>=mode<i>)
{
offest+=(y
回复

使用道具 举报

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

本版积分规则

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