- 博客(27)
- 收藏
- 关注
原创 游戏是如何做出来的(三)
游戏是如何做出来的(三)前段时间,有些懈怠了,所以一直没有更新。书街上文,我们说说游戏中一个个活灵活现的人是怎么造出来的。==================================================在上一篇文章中,我们讲了游戏世界中的场景是如何被制造出来的。在结尾的是时候,提出了一个问题:除了游戏场景之外,还少了那些东东呢?没错,是“人”,构成我们游戏世界的
2009-10-26 21:46:00
1020
原创 游戏是如何做出来的(二)
日期:2009-9-6 tengjiaozhao@gmail.com 上次说到了游戏中的地图编辑器。我们提出的疑问是为什么不能用图形软件做地图编辑器呢?首先我们来看看一个普通的地图做了哪些事情。游戏世界中一副地图除了把场景中的物体加以阻止意外,还需要处理的一部分的逻辑,我们称这部分逻辑为事件。当条件满足的情况下就出发了这些事件。比如,当到达某个时间时候,天就开始下雨,
2009-09-06 15:15:00
1046
原创 游戏是怎么作出来的(一)
游戏是怎么作出来的(一)日期:2009.9.2 by tengjiaozhao@gmail.com现在的游戏变得越来越复杂,越来越庞大。但是复杂庞大的游戏是如何作出来的呢?我想信,您一定也有在这样的疑问。我们这篇文章就是专门讲讲一款游戏是如何作出来的。由于游戏种类的不同,所以游戏的制作工艺在某些细节方面也不尽相同。我们这篇文章中是以时下最流行的3DMMORPG为原型。嘿嘿,是不
2009-09-02 13:31:00
1509
1
总结
最初发在了Blogspot上,从Blogspot导入的时候没有导入本篇,所以手工发了=============================2009年5月14日 星期四今天做了一些工作,很杂。主要的时间花在了上网闲逛上~~~~。下面把闲逛的一些内容作一下总结吧。1 开始尝试做一个web2.0网络用户。以前可以说自己不算是一个web2.0的网络用户,尝试着去发现stumble...
2009-05-31 22:53:02
154
电脑游戏设计的艺术:第一章(二)
下面我们来以此说明这四个游戏的基本要素。表现力 一个游戏是一个完整的独立的世界。如果一个游戏不完整,那么玩家就会自己想办 法去扩展游戏,或者干脆就放弃这个游戏;如果一个游戏建立的世界不是独立存在的,那么将会出现许多无法预料的问题,比如,如果一个游戏对某个历史时期纯粹 的复制的话,那么这款游戏就缺乏的它的独立性,因为该游戏所建立的世界是与真实历史相联系的,而真实的历史又是已经固定的了,那么这...
2009-04-19 13:07:00
207
电脑游戏设计的艺术:第一章(一)
电脑游戏设计的艺术:第一章(一)将《The art of computer game design》大概翻译了一下,以后慢慢贴出来。================================================================================================电脑游戏设计的艺术第一章:什么是游戏?在理解游戏和游戏设计之前,我们要弄清楚...
2009-04-19 13:05:00
382
为什么不能坚持?
提出一个问题吧:想必业余时间大家都自己或者和别人一起搞过一些项目,那么这些项目最终又如何了呢?我自己也和朋友和网友一起搞过许多的项目,结果绝大部分要么是不了了之,要么是我退出了。静下心来问问自己,这是为什么呢?为什么会坚持不下去呢?这些项目可都是当初凭借着自己的兴趣参与的,并没有人去逼迫。从另一个方面反观一下,在公司做的项目并不全都是自己的兴趣,结果大部分项目也都很好的完成了。从这两个方面去分析这...
2009-04-17 13:43:00
174
问心无愧
最近一直在为一些问题困扰,牛人太多了,自己怎么不是一头牛呢?不要见笑,这确实是真实的想法。今天算是想明白了一些东西吧,写下来算是记录一下吧。文什么会有这种想法呢?先不说想法的正确性,仅仅从产生的根源去分析。对于我自己来说一方面来自心里的愧疚感,一方面来自于缺乏一个固定的目标。为什么会有愧疚感呢?或许大家都有这样的经历吧,认为一段时间内做的事情都是浪费自己的时间,久而久之就变成了一种心里上对于自己所...
2008-09-10 01:16:00
175
分布式系统(一)
本系列文章主要是对分布式系统的原理和一些范例做一个细致的介绍,争取对没有接触过分布式系统的人有一个帮助。一.什么是分布式系统呢?没有具体的定义,仅仅是一个感性上的大体描述。分布式系统是若干独立计算机的集合体,这些计算机对于用户来说就像是单个相关系统。看过上面的答案可能没有什么具体的概念,举几个分布式系统的例子吧。现 在非常热门的一项技术---p2p技术,每一个客户端通过对自身的信息反馈,以及对所需...
2008-09-05 01:44:00
289
QT怎么就推不起来呢?
在做用QT引擎渲染的时候,怎么也不能让QT的播放核心回调指定的函数。真是奇怪,在真正的程序中没有问题,为何偏偏在Demo中有问题呢?先把这个问题记录一下,以后来解决了再记录一下解法吧。没想到这么快就解决了,多亏Ardiue的帮助。下面说说是咋回事吧。原来在QT当中,进行渲染一贞的时机是用户触发的,即是说什么时候调用先前指定的回调函数由用户说了算。通过调用MoviesTask这个QT SDK中的AP...
2008-01-15 08:54:00
168
设计模式之Bridge模式
看过了Bridge模式的说明后,现在还没有什么理性上的认识。只是知道它的特点是:1.提取出对象间的共性,把可变性进行封装;2.用对象聚集的方式替代对象继承;第一个特点使对象的抽象(共性)和实现(可变性)进行了分离。由于一上来就对系统进行了共性和可变性的分析,所以当可变性发生变化的时候仅仅变动可变性的结构就可以了。而且,一般情况下,他们的接口(共性)是不会进行更改的。如果接口进行了更改,则第二个特点...
2008-01-15 01:58:00
181
好文章
今天看了两篇文章记忆犹新。第一篇:《十年学会程序设计》这篇文章看过后,深有体会。行万里路,读万卷书。的确如此,洋洋洒洒数十篇不如一行代码说的清楚,一定会有许多同学同意。程序员这个行业是非常注重“知行合一”的。真正能够转化为生产力的,正是在那一点一滴的积累当中留下的。凭空想去创造一些东西,不符合事物的发展规律。最近一直在思考的是关于,脚本语言(如:python)如何跟系统级的语言(如:C/C++)结...
2008-01-14 14:25:00
164
boost.python
boost.python的介绍就不多讲了,到哪随便一艘都能找到它的介绍。boost.python中提供了一个python和C/C++代码的一个交互层,可以是两者之间进行方便的调用。比如写一个跨平台的程序,程序由界面和底层功能代码组成。由于有跨平台的要求,所以代码最好是在每个平台上仅需编译一次就可以使用。怎样才能使编码量最少,而又完成跨平台的工作能?在windows地下,界面方面使用最广的的应该是m...
2008-01-12 17:52:00
226
D3DPOOL
1.D3DPOOL_DEFAULT :把所需的资源放置到最适合的位置,有可能是System Memory或者是Video Memory;被载入的资源不能被锁定,除非资源是动态纹理。要获取、更新资源数据只能通过一些D3D的API才可以访问,比如IDirect3DDevice9::UpdateSurface, IDirect3DDevice9::UpdateTexture, IDirect3DDevi...
2008-01-03 21:29:00
239
坐标变换
矩阵变换的几个关键词:基本变换1.平移变换2.缩放变换3.旋转变换4.刚体变换5.错切变换6.发现变换7.变换级联特殊类型的矩阵变换:8.欧拉变换其他:9.四元组10.定点混合投影:1.正交投影2.透视投影...
2008-01-03 20:26:00
183
DirectX 9 中的Primitive类型
D3DPT_POINTLIST:1.把指定的坐标看作是一个个单独的点,所以画上去的图形也就是一个个点,并不会对点之间的空白进行插值;D3DPT_LINELIST:2.根据顶点的顺序,把每两个点画成一条线段,所以在显示器上看上去就是几条线段;D3DPT_LINESTRIP :3.和D3DPT_LINELIST不同的是,该类型从一点开始,把所有的点首尾相接,画成一条折线段;4.D3DPT_TRIANG...
2008-01-02 18:59:00
174
DirectX 9 中的纹理坐标
1.什么是纹理坐标呢?一般的纹理都是一个二维的图片,比如一幅画什么的,纹理坐标就是指画中每一个像素的坐标。当然还有其他格式的坐标,比如3为坐标---立体纹理坐标;一维坐标等等。2.纹理坐标有啥用呢?当画一个primitive的时候,需要给这个primitive填充颜色,当然不是简简单单的刷上一个颜色,要的是更复杂的东东。这个时候就需要给这个primitive指定一个纹理,制定完成后就等着画图了。画...
2007-12-27 21:46:00
363
谁怕谁
提笔忘字,刚刚觉得有一大堆的东西要写,现在,一点也写不出来了。对于游戏引擎的研究也仅仅限于表层的研究而已,要深入其中需要一个突破口,可是突破口在哪里呢?做游戏的mod?分析一个游戏引擎往往被其中错综复杂的关系搞得云山雾绕,不得其踪迹。一个游戏引擎分成那几个部分?从那个部分开始入手?那个呢....?哈哈,这么多的问题。torque这个游戏引擎算是比较有名的了(价格便宜量又足),可是这方面的文档却少得...
2007-12-27 20:30:00
167
[原]从TopLanguage上关于D和其他语言的一些观点
总结几点:1.Walter Bright不善于经营D语言,表面功夫做得不够吸引人。2.一个语言的本身成功或失败的关键不是其本身。3.D语言成功在于语言的使用上,应该发挥gp(泛型编程 gerenic programming)的优势,引导大家使用和学习gp。4.c++的失败地方在于库的不完善。比如没有一个优秀的图形库,网络库,数据库库等。5.D语言不应Java化,应该引导c++社群的人们来加入D语言...
2007-10-29 10:17:00
151
[原]3D中的坐标变换(一)
相机变换:1.建立一个欧拉相机模型的过程: I: 计算出相机的平移矩阵(根据相机位置计算平移矩阵的逆矩阵)。 II: 根据相机沿各个坐标轴的变化角度,计算一下各坐标轴的欧拉角度。 III: 然后建立各坐标轴的旋转的逆矩阵。左后根据坐标轴的变换顺序,如:xyz、yxz、xzy、yzx、zyx等旋转顺序,产生一个计算好的旋转矩阵(个坐标轴的旋转矩阵相乘)。 IV:...
2007-10-23 21:10:00
413
[原]分布式系统(一)
本系列文章主要是对分布式系统的原理和一些范例做一个细致的介绍,争取对没有接触过分布式系统的人有一个帮助。一.什么是分布式系统呢?没有具体的定义,仅仅是一个感性上的大体描述。分布式系统是若干独立计算机的集合体,这些计算机对于用户来说就像是单个相关系统。看过上面的答案可能没有什么具体的概念,举几个分布式系统的例子吧。现在非常热门的一项技术---p2p技术,每一个客户端通过对自身的信息反馈,以及对所需信...
2007-10-19 20:33:00
100
[原]线程消息拾遗
PostThreadMessage函数是给线程发送线程消息用的,所以接受消息的线程首先要建立一个消息队列才能接受该线程消息。用PeekMessage函数就能强制系统建立起一个消息队列。建立方法如下:PeekMessage(&msg, NULL, WM_USER, WM_USER, PM_NOREMOVE);但是,会出现下面这种情况:如果发送线程消息的时候,接受线程的消息队列没有启动的时候,...
2007-10-12 07:11:00
94
[原]“Int 13/AH = 02h”的一些说明
1。“int 13/ah=02h”的作用把磁盘扇区读取到内存当中;也就是为了突破引导扇区的512字节限制,写一个loader程序,然后由引导扇区把这个loader程序加载到内存当中,loader程序实现实模式到保护模式的切换,从而不受内存大小限制的加载其它程序。2。相关寄存器说明AH = 02h:必须是该值;AL=要读入的扇区的个数(一定不能为0);CH=磁道号的低8位CL=0-5位放起始扇区号,...
2007-10-04 08:50:00
367
[原]静态类型和动态类型
概念解释:1。所谓静态类型:就是在声明时所采用的类型,仅仅是程序文本上表现出来的类型。2。所谓动态类型:就是将来对象将要表现的的类型,也可以说时运行时表现的类型。好了,概念已经解释完了。那么这两个概念有什么现实的意义呢?1。效率:在效率上静态类型要比动态类型快得多;2。设计:在设计时候往往把接口中得对象类型声明为BaseClass类型得指针或引用,但是运行时候该对象有可能是该BaseClass的D...
2007-10-03 17:21:00
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人