游戏入门编程、基础教程

[複製鏈接]
叛逆不羁 發表於 2008-11-25 00:39:11 | 顯示全部樓層 |閲讀模式
编程新手真言(Word) 3 I2 Q) N9 e: a/ k- cUpdate: 2008-11-21 Author: MuziSoft08 From: GameRes 1 I; }2 h) T1 U2 ~* j }    本书的架构就是第一部分到第三部分都是独立的一章,既有知识架构,也有学习方法,技术细节的描述,这三部分要为第四部分用到的细节都给出了详细解释。。(四部分都是独立且相互联系的)第二到第三部分很多知识点的讲解都为了第四部分服务,比较侧重于游戏编程(兼顾了通用的编程知识),因为我们本书的主要任务之一是产生一个游戏。(文档大小:4MB) 4 ]5 k9 m- G) V$ y* s 5 S1 `9 C( C# m# w3 ]4 D5 A& V模版函数指针,C++委托的实现 9 x9 q% j- g4 N mUpdate: 2008-10-12 Author: tonykee From: tonykee's Blog " L+ b, n4 t J3 h    今天写引擎的时候,很想加入一些回调函数,以前一直没时间整理这块,这次一定要下决心好好整整代码,纯粹用多态,很多类非要加个帽子,类之间的关系也显的很单一,有的情况需要用到委托的回调机制,这是个很好的东西,在C#里面是原生支持的,C++里面本来函数指针是个不错的选择,可到了对象里面,成员函数指针还有那么好用吗? : h9 i4 ?% Q# @/ ~; V& u( C3 | : L% }! V1 B$ q. {9 c[翻译] 如何使用HTMLLITE 2 D8 N7 T. R* J6 O& `! C4 h% T Update: 2007-4-22 Author: vrkiller From: vrkiller " y" ]" Y" }/ Y5 b3 n5 X1 E1 s    在VS.NET的安装包里有一个没有文档说明的DLL组件。它可以让你在自己的应用程序中渲染HTML,而且所有的一切只需要一个简单的WINDOW类。 3 { h: r2 E& o; {( ]! K) a 9 ^% v5 }/ V; w. c8 a深入分析物品系统 & x7 n8 w) d' E9 v: u, T Update: 2007-3-21 Author: 张 From: GameRes 2 l) Q9 O# R9 t3 ^/ m   我们先形象看一下物品。物品从游戏整体来看是以流的形式在运行。假如,物品掉落到场景中,那么物品就流入场景了。而物品被角色检起来,放进背包,这时候物品就流入角色的背包了。然后,物品如果被装备到角色的身体,这时候物品就流入角色的身上了。 ' ^9 ^( M( D. |* b5 ^ 4 N, H" V* Z. ]1 v+ R; f" c. n 用rand()和srand()产生伪随机数的方法总结 5 H0 u9 w. y5 a9 L; eUpdate: 2007-1-19 Author: 赤龙 From: 赤龙博客 / Z9 m( W6 Z8 ^' E2 Z   标准库(被包含于中)提供两个帮助生成伪随机数的函数。 $ P( {7 {# r3 d; o. m 9 O) H L; v- M4 n$ i C++断想:5x5系列之四 C++历史上最重要的人物 2 v2 s( } `4 [) K. FUpdate: 2007-1-18 Author: 黄小非 From: $ g: K- y* N. Y# x6 j3 |0 v/ \    C++是一项技术,但在技术背后却隐藏着那些发明它,塑造它,推广它和使用它的人群。在本周,我将向大家介绍我认为的在c++发展史中最重要的五位大师。 ) a% d. [ ~5 a1 b! I' v# P' o ) \8 i; q/ o2 H8 ]- m4 R非静态类成员函数指针解决方案 6 G5 y Y# I( N7 H Update: 2007-1-7 Author: 无情公子 From: 无情公子 Blog 5 M8 m" c/ i. T8 Q. r8 j   略。 9 s* r& X; ?, m o $ I" ^) E( m' A6 P) V 深入分析规则引擎 5 h* p* g$ p) H: }Update: 2006-12-21 Author: PassByYou From: GameRes . R ]' u- T" t# M8 z    撰写本文目的是将规则引擎的标准整理成大家都可以用来做实际参考的东西。其实这并不是目前我做的游戏引擎,这几乎跟我的引擎完全不沾边,因为这些只是方法,思想,还有经验。我只是想让大家知道规则引擎的水深,还想让大家了解一些制作核心规则的思想。让大家了解什么是规则和科学的制作方法。 % Q2 J6 u$ P& T" |* q' t; L6 j) ^ ( v7 Y( Y0 j! h. O) K6 v' o0 B$ e9 OC++基本功和Design Pattern系列(3) constructor & destructor ( m" F' F" w0 @9 u: x Update: 2006-11-8 Author: Aear From: Aear Blog 4 Q7 ?9 h+ u. l4 k   最近实在是太忙了,无工夫写呀。只能慢慢来了。呵呵,今天Aear讲的是class.ctor 也就是constructor, 和 class.dtor, destructor. 相信大家都知道constructor 和 destructor是做什么用的,基本功能我就不废话了。 ; J) V; f7 T7 w8 J 3 O9 Y+ X, _9 u6 z* xC++基本功和Design Pattern系列(2) Type Cast, Interface Inheritance VS Implementation Inheritance # c, h0 y/ C3 K8 Y/ X Update: 2006-10-30 Author: Aear From: Aear Blog " p* W0 K+ \1 V Y8 N5 _' s; A    又到周末了,Aear在此感谢大家坐这么近来听我说书。今天讲的是C++的类型转换(比较无聊的内容,但最好看看,因为可以帮助大家减少程序中的bug)。 ; e4 R1 m% }/ s5 J 8 t2 q3 P4 }4 _) G% XC++基本功和Design Pattern系列(1) - Inheritance VS Delegation 4 p( Y0 D1 o. ~0 Z# H Update: 2006-10-25 Author: Aear From: Aear Blog ( n# b# u# r/ d% y+ l3 S. t( u    为什么Aear继续写基本语言的东西? Aear本来想写一些DirectX啊,shader啊,game开发理论什么的。不过想来想去,还是觉得不要误导大家的好。主要原因是,看aear文章的大部分都是非专业人士,想走进游戏开发这个领域。根据Aear的个人经验,游戏开发最重要的是基本功,而不是DirectX和OpenGL这些API的使用方法。 7 H, J: R+ ~; J' t, p8 w8 a! W ) j% Q8 w& W4 q. P! o C语言基本功教程系列(5) - 文件, Socket 和 其它 # y7 k* _2 t! z1 ~3 A% z* ]: V" `Update: 2006-10-20 Author: aear From: bbs 5 S; X1 p+ u4 Y" a    这个系列的最后一章了,基本上这篇里边拿不准的,或者记得不太清楚的,以及很确定的结论,都在网上或者书里找到了依据。如果大家不同意文章里的论点,拿砖头拍我或者拍原作者都可以。 # L2 q# ^9 K+ `/ ?: m: B, W4 e& N/ r! F0 h3 z3 |) r$ `9 ~ C语言基本功教程系列(4) - 高效无错的内存访问 - N2 w/ X, n) ?% O+ R& x( R Update: 2006-10-15 Author: aear From: bbs ' P' C0 K0 o w9 g) K3 V   大家周末好,希望一个星期的学习和工作没能把大家累垮,这样又可以在这里听Aear在这里讲废话了。这个周末的主题就是内存访问,主要是谈谈写程序时候关于使用内存的技巧,以及一些应该注意的地方。 1 p0 Y8 q+ z& r0 i' n Q; i$ z- N$ v8 ~* I5 [ C语言基本功教程系列(3) - 快速的函数调用 : G) a1 o7 ^8 C% k Update: 2006-10-11 Author: aear From: bbs 5 c$ q) B M' Y0 N; i1 z; i' V    我又来了,今天坎坎函数调用的问题。函数哪里都有,小的程序一两个函数,大的程序成百上千个函数。即使在游戏的关键循环中,调用几十个函数也是很常见的。所以函数调用代码的质量,在很大程度上影响着游戏的质量。 ( D2 S, q$ W) M$ g ! W" k% J2 w$ T! ]$ B$ L0 [C语言基本功教程系列(2) - if 语句 ) L$ T% D: g3 [. mUpdate: 2006-10-8 Author: aear From: bbs ( w2 b3 Z, s# z8 U1 \; \   if语句很简单,相信大家都会,但是确有很多值得注意的。首先来说一下code style的问题。 " Q0 V z' a+ | / z7 O$ v9 Q8 S8 N6 vC语言基本功教程系列(1) ; ?2 m) ^9 r% |! l5 uUpdate: 2006-10-7 Author: aear From: bbs ; h9 b! G3 m' A9 Q   看了那么多文章,感觉到大家学习游戏程序设计的热情,经常看到很多人提出关于openGL directX和computer graphics的问题。但是我个人人为,游戏程序设计,最最最重要的还是C C++语言的基本功。如何编写高效率、整洁,和尽可能少的Bug的代码,是成为一个游戏程序设计员的关键,所以我开拉这个小系列,来帮C或C++语言基础不牢靠的人补补基础知识,希望能够对大家有所帮助。 % u7 d( ^1 W6 y- e& n) t8 f5 O' F8 M+ e Collision AI # j1 U. R- T6 ^8 l! f5 ` Update: 2006-9-19 Author: PassByYou From: GameRes C, u( S9 M$ ?! _& y2 T    前段时间开始开发新游戏引擎,目前也是正在开发状态。我常说,碰撞+空间算法部分是3D游戏中的核心,也是最难制作的一部分。抱歉,这样说恐怕有点不够准确,准确来说,Collision AI是最难得一块。难点在于,在制作过程中,那些数字很抽象,往往要思考很久才敢下手。 0 ^6 c Z: k3 `. E/ w$ A % a" k8 Y9 p$ |5 M- D[翻译] 关于游戏中的调度器 ) J3 \5 I" q6 N9 L Update: 2006-9-11 Author: kevinlynx From: 紫月城 0 m0 }! M$ Q, [2 f) g A3 @/ U   一个调度其可以有效帮助以下游戏技术的实现,他们包括物理仿真,人物运动,碰撞检测,游戏中的人工智能,渲染。在所有这些技术中有一个关键问题就是时间。在不同的时间里,当数百个不同的物体和过程都需要更新时,这些仿真技术的很多种东西变得非常复杂。 0 e3 R& C- o9 ]& E. |; C, S " y& q! B0 E3 E! o: t! k0 R7 w. e 谈谈MMOG的项目测试期相关技术 # m8 q7 W, H0 U" q5 V Update: 2006-5-25 Author: 王志勇 From: GameRes 8 w9 K7 d" F5 r% D) z3 U    经过一番奋斗之后,你的新项目已经有了宏大的世界观、无缝链接的超大场景、精美的人物和场景、爽快的战斗和技能,还有——为媒体宣传所打动的成千上万的玩家们在激动的等待着她的面世……所有事情看起来都很美妙,但是接下来你要面对的才是真正的挑战——你要证明你的网游真正可以玩,不会总是黑屏死机加回档,你要以实际行动告诉玩家:“哦,那些Bug我们很快可以搞定”——对于热心支持国产游戏的玩家们来说,这听起来相当不错,但是你需要有一些技术和准备来做到这个,我们接下来就谈谈怎么干。 / A6 g- J* S( s7 l 9 x. k' x% S6 P( _" N$ s9 `, m 使用Boost.Python构建混合系统 4 e/ N# p" e9 Y4 u% a) k Update: 2006-5-21 Author: 王志勇 From: GameRes 3 m+ e. [8 U+ r" }( F, N   Boost.Python是一个开源C++库,她提供了一个简明的 IDL 式的接口用于绑定C++类和函数到Python。得益于C++编译期的内部处理(译注:原文是introspection,我不知道怎么翻译合适)和最近开发的元编程(metaprogramming)技术,成就了Boost.Python不需引入一种新的语法而只用纯C++的实现。 , O9 n1 @0 n0 h" O3 z. v+ m4 }' a( f: R9 |9 z$ V 斜45度游戏开发(提高篇) % ^$ g$ d. F# Z; a* C Update: 2006-2-23 Author: Flysky From: GameRes ' H5 Q1 \7 ^- @ e5 t, |+ N    这篇文章我们主要讲的是遮挡的详细制作方法,我认为,如果你知道了上面几篇的原理,应该也能制作出来,如果你制作出来了,就请不要往下看了,下面的很可能对你来说是浪费时间。 ; W$ F5 e ~$ L8 k6 T! F: c5 J2 { 4 }+ M+ _7 K# ~! w脚本系统的实现 ' }3 ^5 Q/ G5 |# x$ B$ wUpdate: 2006-1-23 Author: Flysky From: GameRes 4 i% i Y( z; S, \9 ?$ C    说实话,原来《电脑报 2004年合订本》有个很好的直角90度游戏开发系列,里面的游戏脚本系统讲得还可以,如果你对本文还存在疑惑,可以看那一个游戏开发系列。 Y' ]/ H1 I. l) C+ z# M4 Q5 H( b ( [5 p7 L0 \ J" B: E斜45度游戏开发(二) ! O$ ]( N9 t) S a4 e, b4 EUpdate: 2005-12-22 Author: Flysky From: GameRes 4 l- i0 ]* ]! s; o, O   上一篇我们讲了地图的结构和地图的基本的绘制,这个属于较简单的步骤,我做这些也不是特别的麻烦,如果你是老手,那么1天对你来说已经足够,我们这一组文章也没有讲任何的优化技巧,如果你想优化,还是需要在实际中摸索,当然,我有时间也会写的。 - k: Y w7 {+ H z / Y0 M s& j7 f1 i& X; ^ 斜45度游戏开发(一) 8 N) l# E6 T. v* @& ~5 UUpdate: 2005-12-20 Author: Flysky From: GameRes / f( ?' t8 a* ]8 Z* h   最好的游戏末过于RPG游戏了,但如果赢得大众的好评,那么必须要采用(甚至说现在是一种标准)斜45度地图、人物游戏引擎,下面我们分别展开分析。 l, q9 y9 s3 c2 |9 @* N# O 1 n7 t T( f8 Y VB.NET下的托管DX9编程入门 " ]1 q; o( ?/ @6 u4 r* ]5 u& x Update: 2005-7-19 Author: bigbook2000 From: GameRes 7 k: z5 ~! l) A9 x9 ?4 T" ]   VB.NET从语法上扩展了VB6,具有VB6不可具备的优点。从本质上来说VB6是积木式的编程方式,语法上不是一个大型软件语言,是对象语言但不是面向对象的语言,但其与COM和API的良好结合,使得这个语言的应用变得极为广泛。我们为什么要从VB6转向VB.NET,现代软件由于规模庞大,往往不得不采用面向对象的方式来设计软件,一种语言或多或少都是具有面向对象的特性和面向过程的特性,纯粹面向对象和面向过程的语言都十分难以控制。 n8 |& N% D: h% p" M/ w* z/ ]2 c5 u/ ^3 w3 X9 ]: { MMORPG开发入门 - M( b: U( ]8 A" c" s& W2 mUpdate: 2005-6-12 Author: pAnic From: 17173 3 ]- Q) L5 u' e1 H0 ]0 q   这是一篇讲解如何开发一款MMORPG的入门文章,作者本人也是一款游戏的开发者,文中的内容源于实践,有很高的参考价值。很多人都想拥有自己的游戏,这篇文章对那些想自己开发游戏的人来说可能是一纸福音,也可能是一盆冷水。无论如何,开发游戏都不是一件简单的事情。 5 c9 p: u, ^) Z# l 0 k/ Z' O' ?1 d( m* B游戏编程入门 7 Q6 V$ d: J! E; gUpdate: 2005-4-30 Author: David Astle From: GameRes R# J) t, u+ z4 y. o' I   经常有人问我,没有编程经验的人该如何开始开发游戏。在此之前,我总是一个个的尽力回答。然而,后来提相同问题的人数增长到难以处理的地步。我决定,是时候把我所有的建议写成文章,作为一个大概。 ( V6 g& s. A1 g9 o$ l4 k1 [7 z2 p: |& L0 A9 |; i8 X 游戏中对象选取的方法 4 ^7 S d1 O' }8 X Update: 2005-3-19 Author: Panic From: Panic的小屋 . |3 \ f/ l }+ _1 V    对于PC游戏,在鼠标大行其道的今天,如何由鼠标的位置判定其下的对象是什么,是几乎所有游戏都必须面对的问题。 ! m2 K$ {2 W0 E1 l 4 ^; E G; L5 W/ W3 c 撒旦的语法 6 [- I; m# f, o, i. a$ LUpdate: 2005-3-17 Author: Panic From: Panic的小屋 # Z2 p) q" F! y9 a8 C, S$ v" ~    很多人写代码是照猫画虎,这些“猫”最终就变成了教条(注1)。一旦教条被人熟知,不同的变量,数值,功能就被按照教条使用,然后用一些“胶水”代码组合起来,实现需要的方案。通过对语法的深入了解,我们可以消除很多的“胶水”。这篇文章举了几个怪异的C语法的例子,以及如何在不导致歧义(注2)的情况下,利用(滥用?)他们实现更高效的代码。 7 j# @7 T" B6 j# T ! y. A; v B% A 斜视角图形引擎:它适合你吗? + }+ y+ Y; I5 J* a2 oUpdate: 2005-2-20 Author: 张戴维 From: GameRes & h' C' g( c1 M6 v   说到斜视角图形引擎,可追溯到早期的图形化电脑游戏。《Fairlight》、《上帝也疯狂(Populous)》及较近期的《暗黑破坏神(Diablo)》等游戏使它闻名。它仅通过对位图的绘制便展现出一个三维的场景。本文中我将谈谈何谓斜视角图形引擎、如何使用它、以及我们为什么需要它。6 d0 r' V& o1 `2 B. q1 C- ? & x! T+ T, O }0 s& D' z/ a Windows游戏编程快速入门 7 Q3 |+ @8 T( _. h Update: 2005-2-5 Author: 宋良(Easideao) From: GameRes 3 N% y7 \ J w/ C7 a q/ V2 J   虽然毅力在学习的过程中有着不可置疑的位置,但是有个合适的方法和适合自己的方法还是很重要的。假如你的兴趣和毅力都过了关,我接下来将以一个游戏的代码编写过程写下来,我坚持写下来,你坚持读完,按照我讲述的步骤去做。我这里不会把所有细节都讲述出来,因为那是太庞大的任务,我的力量无法实现,我们下面的方法就是:我说怎么做,你就怎么做,先知道怎样做一些事情,当你能够按照我说的做出正确的结果说明你已经会了,如果有不懂得再去查看相关资料。 $ U- k4 | {, Y: h . [# _7 T$ j, Q" e* w# g4 d2 h深入Managed DirectX9(五) , [% _: ?8 L2 V6 G1 M Update: 2005-1-31 Author: clayman From: GameRes 8 n e- W* q% i: P; ]    至今为止,我们的渲染工作效率都很低。每次渲染场景时,都要分配新的顶点列表,并且所有东西存储在系统内存里。现代显卡集成了足够的显存,把顶点数据存放在显存可以获得大幅的新能提升:存放在系统内存里的数据,渲染每一帧时都要拷贝到显卡,这会带来极大的损失。只有移除每帧时的这种分配才能帮助我们提高性能。 # a- c5 t1 V P5 R; x g ' W# p/ Z6 g) l 深入Managed DirectX9(四) # s; A$ H! h4 U; N, [" w Update: 2005-1-27 Author: clayman From: GameRes % V3 F# ]0 _% R3 \% k6 Y) K3 z   The number of possible permutations when cretion a device is quite staggering. 如今,市场里有大量不同类型的显示卡,记住每种显卡所支持的特性几乎时不可能的。你应该询问device,让它告诉你它所支持的特性。 1 V) N" q; k. u; D S" v : O$ |. y7 U' J6 L+ H p) n4 Y深入Managed DirectX9(三) ' d$ O9 \5 H. ]7 D3 Q* g/ L Update: 2005-1-24 Author: clayman From: GameRes 5 O" ]; n6 ?' X   任何曾经使用C++或VB开发DirectX3D的人都知道,在改变窗口大小时,需要重新设置devicd,否则,DirectX3D会按原来的分辨率继续渲染场景,并且把结果拷贝到(通过拉伸)新的窗口。当通过Windows Form控件创建device时,聪明的Mamaged DirectX能发现你改变了窗口的大小,并且重置device。毫无疑问,程序总是能在正常的行为下运行,同时,你也能方便的自己重置device。 9 f3 N% M3 i- p8 J* j' | 9 s# A6 D" |1 o深入Managed DirectX9(二) ) c2 _6 `7 F/ w$ ]( s9 @ Update: 2005-1-22 Author: clayman From: GameRes 4 P9 z/ v. f( r   再来看看我们的程序,看起来并不是那么“三维”。而且我们所做的都能用GDI+轻易完成。So,我们应该怎样在3维空间里绘图,并且给人留下深刻的印象呢?实际上,简单的修改就能达到这样的效果。 ( C+ }$ F# U# i7 X . v% c8 {# q% z5 U深入Managed DirectX9(一) % r- s& j8 V$ G7 TUpdate: 2005-1-21 Author: clayman From: GameRes ' \5 @0 T- {+ A4 K+ N/ Z2 p    Device类是DirectX里的所有绘图操作所必须的。可以把这个类假想为真实的图形卡。场景里所有其他图形对象都依赖于device。你的计算机里可以有一个到几个device,在Mnaged DirctX3D里,你可以控制任意多个device。 6 B" k% @5 v( n# L0 @
# ], E& s+ E( P7 i 1 z1 P; H+ ?0 v, ?. f: ? C#游戏开发教程 9 y/ E' Y0 G( S8 V5 T Update: 2004-12-17 Author: genic From: GameRes ( H' B1 q" U3 u' B @: w    本文适合有一定编程基础的爱好者!本文不会涉及基本的语法等内容,本文适合所有游戏开发初学者,本文从Microsoft DirectX 9.0 SDK (Summer 2004)中的D3D下Tutorials文件夹下的例子开始! # D7 U1 @5 t& ?/ T0 S" T/ {& {( p9 q, A: S: b+ Y Windows网络编程 ( p4 D+ R2 m* ]1 W9 ` Update: 2004-11-7 Author: 快乐魔导师 From: Ares * t |1 X. w* i$ ]   我写这个专题的目的,一方面是为了通过对网络编程再一次系统的总结,提高自己的网络编程水平,特别是Windows下的网络编程水平。同时,我也希望,能为众多初学网络编程的人提供一点帮助,因为我开始学习网络编程的时候,能找到的资料就很少。当然,花钱可以买到翻译版本的书:) / M \6 b1 z# X' `5 o 0 n/ M' i& z% L2 tC/C++语言编码规范 1 E2 T* Y4 u, F# A4 c# O3 p& _ Update: 2004-10-5 Author: unknow From: CSDN # ]% h) ^8 j$ h0 W. c8 k   语言编码规范是为了保证在软件开发过程中,全体成员的代码风格一致,便于维护,提高软件产品的质量和保持开发产品的延续性,特制定本编码规范。本规范详细规定了源代码书写、变量命名、函数/过程的书写、错误和异常处理等方面。 % W( O" ~+ j3 P/ O, [- W c: {7 G7 Q! F 游戏开发指南 & b" N) I( p4 a7 v2 {5 A Update: 2004-8-12 Author: 无情公子 From: GameRes $ l/ z& p6 z1 A8 ]    造一个什么样的游戏?如果叫您来答,您会答什么?是角色扮演还是即时战略?对于广大游戏编程爱好者来说,答案肯定会是角色扮演。0 p8 J$ ]7 g% g! r I   那么,我们要造一个什么样的角色扮演型游戏呢?相信这个问题也是毋庸质疑的,大家肯定都会说:“《仙剑》式”。的确,《仙剑奇侠传》自1995年出世以来,在游戏界中已经成了一个不败的神话。 5 D' T# m1 R/ h- C e. W% e2 q/ K学VC、编游戏[下载档] 7 {; u8 w( D& I: K2 h! AUpdate: 2004-7-14 Author: 唐明理 From: GameRes - p) [( Y- t+ A   DW游戏教学方案,本方案的教学内容是从在VC环境中建立一个程序框架入手,一步一步地介绍在计算机上实现游戏的方法;其中根据游戏发展的需要介绍VC编程的具体方法。每一教学环节的完成,就是游戏的一个效果的完成。 $ f, j5 L6 q- B% v , H8 G! k$ \$ g6 O梁健雄游戏制作方案 4 e2 W# u& v" z0 y( ` Update: 2004-5-19 Author: 梁健雄 From: 健工作室 $ o! O, Q/ |% [- p+ Y' {    虽然说的很简洁,但这些都是我自己理解之后,一字字打出来的,都是在互联网上找到并总结的。具体的程序在网上有很多的下载,我也不会很正规的说一大堆。 ' d2 e" A$ U7 N' E  如果可以写完上面那四个例子,我就可以详细地设计一个龙与地下城风格的MMORPG的游戏,是大型的3D再线游戏。这是我这次学习游戏编程的毕业论文吧。 " |5 G0 p9 ?1 ?( D6 e & j ?+ F7 p. t2 e; M, yVAE范例:Apple 制作过程 4 T2 s3 D8 w; t2 i Update: 2004-5-17 Author: From: vczh游戏工作室 - a' @ ^# Q& y ]5 `4 @$ l$ h   介绍VAE的文章终于写成几篇了,我便忍不住要开发一个完整的小游戏并写一篇文章来展示展示。所以,这个Apple就新鲜出炉了。这里将介绍Apple这个游戏如何编写,可以通过下载Apple这个游戏来进行参照学习。VAE专题页面。9 q" G) ^1 r, M8 Z; g6 T4 B) U# `
; Z7 b4 a3 B M 5 a* v d; u) `& f- ATile Based Engine的设计 - Tile形状的选取 & W' T) g1 x& R$ u$ jUpdate: 2004-5-13 Author: 云风 From: 云风工作室 : S1 G6 B3 T) w3 B4 G, h    Tile Base Engine的优点在于其处理速度,如果我们设计Isometric Engine而无视这个优点,那未免太亏了,所以贪图一时编程或美工的方便,将游戏设计成Tile大小随意,而又不去发挥任意大小Tile的优势,(例如形状任意,Sprite 运动路线的任意等等)将无法超越从前的游戏Engine。+ \4 Q4 R( J4 h! }/ I% P( q
8 O" U9 q/ r6 x 5 L/ i1 ?- J" w1 ?Tile Based Engine的设计 - 精灵链表 ( b1 ~& D4 e2 Q/ a/ B$ B" ^ Update: 2004-5-12 Author: 云风 From: 云风工作室 $ z5 I- Z; q2 U: ~9 f   通常说来, 第三人称 2D 游戏中通常把景物和精灵分开处理 (至少我是这样的) 尤其是游戏机上, 硬件对精灵有支持. 现在我们的显卡多也支持显存间的 keycolor 检查 Blt 操作, 实际就是用来加快精灵处理的 (也包括景物)。 + [* u6 z$ [+ f8 F' g! A2 t0 C! A' z% ]7 A2 B- q# W$ w Tile Based Engine的设计 - 坐标变换 / L+ U; f0 I1 C+ D8 ~ Update: 2004-5-10 Author: 云风 From: 云风工作室 4 V3 M; h+ `& j+ H `. B _5 J. N( n4 M   Isometric Tile的处理比矩形的稍微复杂一点的地方在于屏幕是矩形的, 而反映出来的游戏世界的坐标轴有些不同. 无论是精灵的移动, 还是处理 Tile 都需要经过坐标变换. 而一个屏幕的区域在游戏世界的地图上却成了一个菱形. 我想,所有第一次设计 Isometric Tile 引擎的程序员都为这个烦躁过 (自己的感受啦;-) 不排除因为这个原因修改自己的原始设计的可能性 ^_^. * i# `. n$ r# Z
( N0 @# t: \2 p2 Y7 |, }; I& r) t- q* x4 o$ N0 q Tile Based Engine的设计 - 遮挡处理 $ i6 J! E, `' K" iUpdate: 2004-5-7 Author: 云风 From: 云风工作室 1 H5 E0 m3 V' @- D    所谓 Isometric, 应该是指等距视角, 和透视相对, 指视野内的物体, 无论远近都用同一大小来表现. 而Tile 就是指的砖块, 我们平常所见的许多 2D 游戏, 都是 Tile 的. 比如新出的决战朝鲜, 还有去年的皇朝霸业;-), 这两个游戏都是典型的 Tile 游戏, 游戏中的元素被分割为一个个的砖块拼装起来. 不同的是, 前者是矩形的 Tile, 而后者是 Isometric 的. 它的Tile 有高度, 底面为一个菱形. Isometric 的外观更接近真实物体。7 |, c+ p5 \! z" n( t
 
& d5 {$ v+ ^. w+ M! d 5 e# k4 V$ X# p* ^) G/ lTile Based Engine 中的墙壁自动拼接处理 " Y& o! U. F; ~5 B Update: 2004-5-5 Author: 云风 From: 云风工作室 7 r& n- m. V( q3 Y# p/ ?. n    基于 Tile 的引擎中重复利用率最高的图素,除了地面就是墙壁了, 大家回想一下恺撒III 中的修筑城墙, 或是 Simcity2000 中拉扯电线, 道路,每种物体都只有十几种基本的图素来拼接,而交叉处理都是程序自动选择正确的图素. 假设我们做一个地图编辑器, 这个功能应该也不能少吧:-) . F, N0 A# @6 m( Z% h' H : q) S& i" z% b% A! H- F 角色移动的步长、步速与滑步现象 ; ^& }; G0 B0 s$ r1 @ Update: 2004-4-30 Author: 云风 From: 云风工作室 ' _" Z9 j; `% k* d+ L+ a' \    滑步只跟步长有关,就是一轮人物行走(或跑步)实际移动的像素。当然国产游戏大多做的不好。大多数根本不去认真做人物行走的播放程序,简单一帧帧播放动画,并随意移动小人在地图上的位置了事。 & b: @+ C/ M9 i# x - |( b; ~0 S: y$ @7 W, z; K斜45度角地图拼接 ; {& L( m5 ^6 K5 E7 e, L; m7 j& _1 u Update: 2004-2-2 Author: Lacutis From: cn-gamedev.net ; d0 B6 J: K1 K7 Q   一篇斜45度场景地图拼接的介绍,对想了解斜45度场景地图制作的朋友会有所帮助。 + m; S, a/ _ Q' T! N# N / g% u. i2 U, Z0 zDirectX—昨天,今天,明天[2] 9 E7 y! h9 B0 k$ l) rUpdate: 2004-1-20 Author: 龙芯X From: 计算机科学技术网 6 z$ h& c' a, C7 `7 { k; r   DirectX这个词对玩家来说似乎并不陌生,现在的很多游戏说明里都有“该游戏需要DirectX….以上版本支持”此类的话,甚至3DS Max启动时的加速模式选项中也有DirectX身影。那么DirectX究竟是什么呢?现在就让我们揭开它面上这层神秘的面纱,一探究竟吧。 * K' f1 j2 b# x* c : t. ?- Y3 Y0 I P" M8 s6 ?- zDirectX—昨天,今天,明天[1] " Z. k1 r: t( F' ?% P) ?) s nUpdate: 2004-1-19 Author: 龙芯X From: 计算机科学技术网 6 w7 j# N* X1 O9 |   DirectX这个词对玩家来说似乎并不陌生,现在的很多游戏说明里都有“该游戏需要DirectX….以上版本支持”此类的话,甚至3DS Max启动时的加速模式选项中也有DirectX身影。那么DirectX究竟是什么呢?现在就让我们揭开它面上这层神秘的面纱,一探究竟吧。 c% q: U) S7 c3 a4 H! [+ b 6 u n$ f& C: k( i( A" J- n DirectDraw 与 DirectInput 的游戏编程体验 9 k/ h6 C. A b) I6 ]1 yUpdate: 2003-11-10 Author: 徐优 From: 放飞技术网 1 N( ]% l" q) E1 d z    我想关于这个主题的文章,不算少,但也不算太多。但大多是分别介绍 DirectDraw 与 DirectInput,而并没有将其结合起来,也许你会问:“分开与合并起来并没有本质区别啊!”。其实的确没有本质区别,但那样使那些最初对游戏编程报有极大热情的爱好者感到非常失望,因为这其中的一个并不能完全满足他们的要求,并且使其感到巨大的阻力,从而失去信心。所以本文将 DirectDraw 与 DirectInput结合起来去讲一个主题就是“游戏编程”,请注意是“游戏编程”,当然这只是一个简单的桌面游戏,但这已经与先前有很大的不同了,这已不是简单的 DirectDraw或 DirectInput编程。我想你现在应该能够体会出其中的区别了。 " S7 U/ P3 t1 N4 W7 s8 @% ~+ s8 r; I# B% d6 R 游戏开发—图形图像篇 , m% n) Z* w# p9 a2 nUpdate: 2003-9-5 Author: [url=mailtoava_Leon@163.com]lava_Leon[/url] From: CSTC # R8 Z; B. r8 W& d& f   记得我第一次玩的PC game 是KKND(绝地风暴),当时的游戏平台是DOS,我只是觉得很好玩,经常和几个小学同学一起厮杀到12点。可是现在回忆起来,KKND无论是从智能设计还是在游戏画面与操作上都是非常出色的。他的音效同样是很棒的,而且全中文配音让当时很多不懂英语的玩家找到了许多的亲切感。这真是一款很棒的游戏。It is great! " B1 ^ M* o; g( ] $ a( F( A5 U, Q- p2 v游戏程式设计指南(HoHo篇) Lesson 5 — 字体绘制篇 ( V6 D: b1 M0 \% ~2 C; cUpdate: 2003-8-20 Author: 林德辉(Sea_Bug) From: GameRes - N9 A! O+ U7 p# a, u   图像作为游戏的主要输出途径,其中不可或缺的就是文字,不管是作为游戏中使用,或者作为我们程式的调试手段,文字的输出表示是相当重要的,本节就是要给大家介绍如何在HoHo游戏程序中绘制文字;HoHo为大家提供了两种绘制方式,一种是通过Windows的GDI来进行文字绘制,另外一种则是通过HoHo自己的处理方式来进行文字绘制。 8 H; O# w5 T1 k' [5 M ' r" b% E1 S! I# Z. p/ }/ \游戏程式设计指南(HoHo篇) Lesson 4 — 图形绘制篇 3 W4 }% U3 U* M, h/ y1 ?5 V1 z; J, _ Update: 2003-8-17 Author: 林德辉(Sea_Bug) From: GameRes . Z; [, T0 m- N8 e6 ]8 Y    这节讲述的是HoHo的2D模块最重要的功能,不用我多说,这就是HoHo的图像绘制部分,相信没人会否认图像绘制对于游戏的重要性,基本上游戏给玩家的表述多是用图像来说明,HoHo提供了多种多样的图像绘制方式,同时在性能方面也有相当的表现。 ! p5 R+ v! N) i, V' c' Q 7 u$ P& D: X% J& l游戏程式设计指南(HoHo篇) Lesson 3 — 图形加载篇 % Y6 ?2 B+ o9 n' r A% R5 C Update: 2003-8-13 Author: 林德辉(Sea_Bug) From: GameRes . [ d2 Q. h+ j5 s    通过Lesson1和Lesson2的介绍说明,我们的游戏程序框架基本上已经具备了初步形态,同时也完成图形部分的初始化工作,接下来我们来了解一下利用HoHo引擎,游戏是如何将图像文件的数据装载到内存中。 ) G- M. L- Z- U. b& P% }: j H- X% W" d( G3 ` 游戏程式设计指南(HoHo篇) Lesson 2 — 完善篇 / C/ t( d8 ^8 y0 p BUpdate: 2003-8-11 Author: 林德辉(Sea_Bug) From: GameRes / O! f9 I( w+ Z# i5 f5 j+ h! k   此章节的内容不单单是为了HoHo游戏引擎所使用,实际上是讲述了Windows应用程序的控制方式,不管你是否使用HoHo,多了解一下用Windows API来创建控制应用程序对你来说会有所帮助的。 5 g% F, K8 t0 v " f- b9 u8 r) B- Q- c2 e' l" T游戏程式设计指南(HoHo篇) Lesson 1 — 基础篇 " _8 P7 m5 u8 A; Y4 T0 C; {8 jUpdate: 2003-8-10 Author: 林德辉(Sea_Bug) From: GameRes : a9 I6 i8 C6 w5 n$ S   游戏程式设计是令人向往而神秘的学科,其中涉及到非常广的程式技术,同时还需要对数理算法有相当的认识,可以说游戏程式设计是一条非常艰苦而漫长的道路,此文的目的就是希望能 通过对HoHo游戏引擎的介绍,让读者能尽快的成为真正的“游戏程式”。 * C% S' l L; i( F* ]8 H0 x # m4 B! J2 b& r- |/ Z, X《游戏编程》第一部 基础篇 6 Q* `8 [( G$ y6 ^Update: 2003-6-14 Author: Sailor From: GameDIM.com / x/ W6 x' y( ^8 P0 c- c    其实现在网上关于游戏编程的技术文章越来越多了,但是我发现关于最基本的了解游戏的文章还是比较少的。大多数文章是以 DirectX 作为开始教学起始的,因此,我觉得花点时间写下这篇文章还是值得的。今天,我就开始介绍一些关于游戏编程的基础东西,以便大家能够真正的开始了解游戏,从而能够很快的转入游戏开发。
daili786 發表於 2023-2-23 20:17:48 | 顯示全部樓層
叛逆不羁 發表於 2008-11-25 00:55
6 r  E$ M" U- r/ x( y0 X# M游戏制作经验乱弹 & d. G3 g, z: j# q# F+ a
Update: 2001-3-18   Author: 李爽   From:
. g* `/ j$ A5 ?* I   RPG游戏通用开发工具 “盗亦有道” 返 ...

2 ?( j% V  T$ _3 R& T  l; c2 z+ q& n看的我就两眼昏花了
回覆 赞 踩

使用道具 舉報

小白SC3 發表於 2023-11-18 02:10:37 | 顯示全部樓層
本来抱着学习的态度点进来的。。看了小一半睡着了。。大神 对不起
回覆 赞 踩

使用道具 舉報

hjc588 發表於 2014-3-7 13:35:43 | 顯示全部樓層
看帖就回,拿分闪人~你懂的~
回覆 赞 踩

使用道具 舉報

 樓主| 叛逆不羁 發表於 2008-11-25 00:53:28 | 顯示全部樓層
游戏编程指南 ; G0 A1 W c# B# M, xUpdate: 2003-1-14 Author: 彭博 From: KanePeng ) l+ ^5 O& D4 B" s    想必大家都听说过“计算机语言”吧,我们就要靠它来向计算机表述我们的游戏到底是怎样的----这个过程就是所谓“编程”。由于游戏对速度的要求较高,过去我们一般使用C语言,因为用它编制的程序不仅执行速度快,还可以充分地使用硬件的各种资源… 9 T, |4 n2 G( }5 q5 A8 j! z' b" w+ t6 n- y$ F3 G0 m! F) @% _5 Y 游戏程序新手指南 4 }0 `5 v; { ?Update: 2001-6-8 Author: SoftBoy From: 金点时空 ) q+ M( Z+ W: [* M \    很多人问应该怎么学游戏编程?需要掌握哪些知识?学习的顺序又该怎么样?虽然我也还在不断的学习过程中,不过结合自己几年来的实际经历,多多少少有一点经验之谈,希望能帮各位少走点弯路,早日进入游戏程序员的行列。 / r) `+ Z, f3 X$ f4 k8 y6 Z5 b# x, f, e 显示游戏精灵 3 d: @8 Z8 ^8 G# z: R Update: 2001-6-3 Author: Kylinx From: - q( X' Z+ l' u6 [8 W   大家看到,我的游戏里每幅精灵图片都是由很多个方向和脚步不同的精灵构成的。由于我没有用任何斜视角,所以精灵图片有4个方向:上下左右。 & v! g5 q: @' w+ B Y 0 \4 u9 [2 Y, X- |) U, V 淺談遊戲程式設計入門 - [概論篇] 2 V y# O/ Q+ a$ w6 r. h( c# o Update: 2001-5-26 Author: HalfLucifer From: 遊戲人間 , \ N1 d; g, e1 {: M   在本篇文章中,我將以力求清楚易懂的文字,帶領想一窺遊戲程設殿堂之美的初學者,概略性的就三個大方向,來談遊戲程設入門所應具備之基本素養與能力。認識「遊戲程設」,其實不是很困難的事;真正需要深思琢磨的,應該是自己是否真的「認識自己」?自己真正想要什麼?「遊戲程設」這個東西,在自己心中佔了什麼樣的地位?諸如此類的疑惑及省思,希望能藉由此篇文章,帶給初學者一些概念性的思維啟發與引導。 8 q% m) H# c$ _0 k+ z+ c* N& w# d. e0 W) X- A. c& [ 淺談遊戲程式設計入門 - [基礎篇] / a, B* P6 `) k* J; w% w# A- FUpdate: 2001-5-26 Author: HalfLucifer From: 遊戲人間 $ {+ ^, p2 V4 k3 d- X G   什麼是遊戲程式設計所需具備的基礎能力?本篇文章將從四個方面,循序漸進的來探討各項能力的入門知識與學習途徑。如何入門?要學習什麼?往往是困擾初學者的大問題之一;許多人都是在一路跌跌撞撞的摸索之後,才恍然大悟自己之前是繞了多大的圈子。如果能夠在學習的一開始,就有正確的目標以及清楚的思維,我相信無論目標是什麼,都必定能夠達到良好的學習成效。 & g- |6 u. w" ~ 5 H% M! I) [9 G3 Z& T淺談遊戲程式設計入門 - [進階篇] : ?0 V1 {+ N) k: T6 D2 R* x5 e6 b Update: 2001-5-26 Author: HalfLucifer From: 遊戲人間 * @1 q% T9 v' t* Y( H    讓我們把焦點轉回遊戲程設的核心工作上:也就是 Graphics API — DirectGraphics 與 OpenGL 的學習上。無論是學習何種 API,一開始免不了都是需要熟記很多很多的函式名稱、呼叫方式、傳入參數等等繁複的東西。然後還需要把整個繪圖 API 的程式設計流程架構,從頭到尾的徹底瞭解;在學習 API 時很重要的一件事,就是要用心去思考繪圖 API 設計者的想法,盡可能的掌握住這個繪圖 API 的「設計思維」,以其思維模式來學習。 ' P' C: S- C5 O l' O 1 b% i; u& M: t) Q! { 电脑游戏编程入门 5 _* E5 Z1 v7 H6 `Update: 2001-5-21 Author: From: # r* f$ J- d5 S   这里以电脑VGA 13H视频模式为例,系统介绍制作电脑游戏的基本方法。VGA INT 13H模式是一种工作在图形方式下的模式,它具有320X200的屏幕分辩率,同屏上可以显示256种颜色。 c( P2 I4 Z2 _, @3 m- z- j% ` , b* o4 U9 A1 f7 A4 I4 p在DirectX中贴瓷砖:Part 2 " a) e" [# j# X+ C Y- S) EUpdate: 2001-5-20 Author: Codehunter 译 From: ; j0 X- ^& D: ^* `, c    朋友们,大家好,欢迎来到新的章节!在第二个部分我将在第一部分的基础上继续讨论贴瓷砖这个话题。由于缺乏时间在本文中我仅仅讨论平滑滚动的问题。这样可能会使你们当中的某些人失望,但是请理解我,我是学生,我有自己的要做的事,我的时间日益减少,对不起了。 . M7 R6 [# Z1 d. y* c ' X u8 ?. p2 I U: e0 u9 O4 N在DirectX中贴瓷砖:Part 1 % X# p0 y$ J$ h Update: 2001-5-20 Author: Codehunter 译 From: 6 Q, N/ ?4 t4 t% l" v/ ~   对C/C++和DirectX知识都要有较好的基础,我希望读者应该能通过这个指南获得一些东西。我假定读者能够使用DirectDraw并能够将图像文件加载到一个离屏表面。在本文中我不再描述怎样载入位图。 . r5 |) P0 }* c8 Y2 D ' w8 ?' R. d2 S, ~) v! i* F并行处理 " E, E; p5 I& F, M Update: 2001-5-19 Author: 吴进 From: 7 f& q. R- P* U/ O7 q1 q' M   要编写一个好的游戏,必需使用到并行机制。并行机制要涉及到一个重要的语句,那就是While语句。你可能不禁会问:那不就是循环吗?对,并行机制就是要利用循环,即游戏循环(Game Loop)。 . }5 b% j, c0 H% p$ C$ B9 d 6 _& h; w2 w+ J" b, S4 C斜视角的讨论 ( y% x5 `) M) `3 Z8 wUpdate: 2001-5-11 Author: 杜宇欣 From: 9 H& w( U8 e3 V# s' K   这篇关于斜视角游戏的文章节选于前段时间我根据自己的实践体会写的一篇关于游戏制作的文章。对于其中的观点或者说算法,有的是我自己想出来的,有的是借鉴了其他人的。 0 b4 A9 n4 ]7 b; L/ [- G3 \2 U, b/ p( }2 w6 y 我该使用何种语言 + X5 }8 j% d7 ~ B1 AUpdate: 2001-5-10 Author: John From: 9 k. h3 b5 r# D B   这是每个游戏编程FAQ里都有的问题。这个问题每星期都会在游戏开发论坛上被问上好几次。这是个很好的问题,但是,没人能给出简单的答案。在某些应用程序中,总有一些计算机语言优于其他语言。下面是几种用于编写游戏的主要编程语言的介绍及其优缺点。希望这篇文章能帮助你做出决定。 ) ^" A l% J- y : O* [5 Q& M- j$ U% q0 K" E$ n游戏制作入门指南 + u5 f4 _/ Q+ x: i: \$ D( S2 hUpdate: 2001-5-9 Author: Dave Astle From: ' u, e. i: c& q3 Z; j ]   我经常被问及:一个具有很少甚至没有编程经验的人要如何开始游戏制作。直到目前为止,我总是尽我所能一个一个解答。然而,问题的数量已经增长到了一个难以处理的水平,于是,我便决定把所有的建议汇总在一篇文章里作为参考提供给人们。 0 Z( W* e& o2 J , g. }( Y6 R( h5 g关于指针的说明(初级水准) 3 i* K1 p& e! }1 E2 K! kUpdate: 2001-5-8 Author: littleme741 From: - v6 q2 B' t2 T5 Z5 @3 f% d   我们定义一个指针,比如char *pStr=NULL; pStr=myString(比如这里myString是一个字符串数组,它的内容为”HELLO”,首地址为0x123456) }1 ]8 k+ a& F* Z # Y9 N4 v3 ~ D# Q$ u3 z) B; n5 j, _DOS到Windows的 游 戏 移 植(10) 7 C% E1 ~) \ }$ \ Update: 2001-5-7 Author: 谭翁 From: 4 g* Y" a+ X; [6 g6 N, G    安装程序----由于资源的共享方式,在Windows下的任何软件的安装程序都比在MS-DOS下需要更多一些的技巧。一个设计良好的基于Windows的游戏同样需要注册它自己,并且提供一个卸载程序,当用户想要把它踢出硬盘时清除自身。 " y: D5 H" R6 [, }& v0 j ^7 G 3 q+ j4 h3 F1 ~( G& v2 |+ rDOS到Windows的 游 戏 移 植(9) 0 q4 T9 i5 j4 h* `2 H Update: 2001-5-6 Author: 谭翁 From: ( d+ ~2 l7 l. n! Z, h    本期我们将讨论有关图形方面的问题。和本系列文章的前面文章相类似,我们还是主要讨论在Windows下编程和在DOS环境下编程的主要差别。 # Y( ^: j. O3 T6 z! r9 K0 q* M, \8 [# y2 F$ T; S DOS到Windows的 游 戏 移 植(8) ( a0 P' o. [3 \! _0 B% t Update: 2001-5-5 Author: 谭翁 From: 4 s# o+ @ y. m/ _    在本系列文章的前面几部分中,我们介绍了一个简单的DOS游戏Moby Dick,并且带它走过了在 Win32环境下开发的第一阶段。现在,我们将对该游戏的Windows版添加更多的功能:立体声效果、MIDI音乐、TrueType字体、和用DirectDraw图形实现的透明效果的“捣蛋鬼”。 : M- [5 g: E. r ' {' S- E6 }, uDOS到Windows的 游 戏 移 植(7) / \: f! ~3 h% q% B" LUpdate: 2001-5-4 Author: 谭翁 From: 7 |8 m6 D+ T% s' R7 i7 h8 Y/ }" S   我们已经讨论了一些在Windows下读取鼠标的常用方法。现在,让我们看一看DirectInput 3.0所提供的实现方法。 : ^# P* n5 n9 K. k- N - U$ S! Y6 B/ N4 |- xDOS到Windows的 游 戏 移 植(6) + \$ i. V; n( g0 `- J wUpdate: 2001-5-3 Author: 谭翁 From: # _: d. |( W0 s% x    本期将讨论鼠标方面的问题。Moby Dick DOS实际上没有使用鼠标光标,并且切换到图形模式时,默认情况下是鼠标光标是不可见的。在Windows中,情形刚好相反。光标总是出现在窗口中,除非特意将它藏起来,比如在全屏幕的应用程序中。 , T: @& i3 G) j9 r0 f2 Z . D2 N2 j& P, a. o8 \DOS到Windows的 游 戏 移 植(5) - T* J( c7 X4 bUpdate: 2001-5-2 Author: 谭翁 From: 3 s7 D4 X& ^1 P$ X5 d' I2 w; L    在本系列文章的前面几篇中,笔者介绍了一个名为Moby Dick的简单的DOS游戏,并且讨论将其移植到32位Windows环境下。现在,我们要把游戏操纵杆和鼠标输入程序加入到该游戏的两个版本中。键盘输入程序仍旧保持不变。本文讨论前半部分:游戏操纵杆的实现。 4 J" t' Y7 P& e4 p y; i+ B) A' k * |& r( W4 X- ] i: Z! H DOS到Windows的 游 戏 移 植(4) ! J! d* d+ n2 t/ G& M7 f5 s! k. j Update: 2001-5-1 Author: 谭翁 From: ' H* d) f5 j5 A3 g0 s5 I f ]   Moby Dick DOS使用了一个时钟中断服务程序,以确保Ahab和鲸鱼以一种独立于处理器速度的稳定速率移动。Windows没有提供这种访问硬件的机制,但是它提供了许多的时钟(timer),可以完成此工作。 : G0 e1 }5 \, @2 ~8 h* x & j% P: R; V1 S; J( w0 M* |0 j, @DOS到Windows的 游 戏 移 植(3) 6 A. A; c9 E+ @% Z+ ?* {9 `+ m. r+ n Update: 2001-4-30 Author: 谭翁 From: 4 z4 E! S: t; \* ]! G    在DOS和Windows两个版本的Moby Dick中,我们都保持了一个键状态表,当有对Move_Ahab的调用时,该表能够告诉我们按下的是哪一个光标键或数字键盘键。但是在Windows版中我们不能使用键盘中断处理程序来更新该表----那些代码是在黑箱内部的,不允许我们打开。 2 B0 F; B9 {8 ^5 B4 V7 \ 8 j( ?: a9 W& x/ G0 C0 S# xDOS到Windows的 游 戏 移 植(2) : I7 P9 u) m6 Y# |* KUpdate: 2001-4-29 Author: 谭翁 From: ' J9 F6 ~$ v6 J5 a   Windows最杰出的功能之一是能够同时运行多个程序,但有时也会让人感到头疼,特别是对于那些习惯于完全控制计算机甚至时钟频率、非常自信的游戏程序员(当然,我们的确在乎那些没礼貌的、在退出时不恢复正确的系统时间的游戏。但是幸好,现在我们可以忘掉这些了)。 / J. m: ~ n s3 G$ x5 G" M1 O% e+ Y1 { DOS到Windows的 游 戏 移 植(1) ' K. t3 o* j! SUpdate: 2001-4-28 Author: 谭翁 From: : x* g8 x* ]+ a& Y. G$ t- i    对一些程序员来说,将DOS环境下的游戏移植到Windows 95环境下,可能感到无从下手。本系列文章将介绍一些在32位 Windwos环境下编写游戏程序的基本概念和关键之处,并引导用户将游戏移植到Windows环境下。 1 Z2 e# y* n7 F1 m3 j . a5 ]! i5 s6 H% g4 s) N' C1 K% c 斜视角游戏中遮挡的判断 , J4 l0 @ s" Z1 a' T Update: 2001-4-26 Author: GameDragon From: 2 n A$ I1 c8 X   遮挡的判断是游戏里非常繁琐的一个工程,但又是必不可少的。否则每次只要有一个东西移动,就要重画整个屏幕,这样好象有点得不偿失了。在3D技术中,就有什么画家算法、Z-Buffer算法、BSP树等很多消隐方法。 3 a9 f! y! T: s- ` 6 J* w* g& ]: _) j0 t斜视角游戏制作初步 - c, o( U2 k( |+ T9 m! ^ Update: 2001-4-25 Author: GameDragon From: 7 O6 U# w/ S$ J0 p {& w) w   斜视角已经成了目前RPG游戏的一个标准,它比普通的垂直视角在视觉表现方面要更胜一筹,但是也带来了一些不便。 : u' [/ l2 z9 P$ R9 l7 B4 u , @1 t8 q' u3 b$ T; l+ V一般性 DirectX 开发事宜 7 F6 E: \8 T+ P' U: ~8 |Update: 2001-4-24 Author: From: # M8 z# j. X) g7 c; {    我在试图编译示例时,为何得到那么多错误消息?我得到关于全局唯一标识符 (GUID) 符号重复或缺失的连接器错误,怎么办?我能否将指针指向一个到较低版本号的 DirectX 接口? + I' O, B! P9 z1 b. J) B % N- c2 ]- A/ q7 u8 C9 T; L" d隨筆 -- 遊戲程式設計初學者常遇之疑問 3 ?: X+ C7 ?4 D9 V4 R$ uUpdate: 2001-4-22 Author: 陳寬達 From: ( V( \+ K/ L: B+ S8 s    DirectX在遊戲開發者的歡呼聲中帶著一身眾人的期許誕生後,由於它的版本更新速度遠比作業系統還快,因此,使用者不得不自行至網路上下載或由光碟來安裝DirectXruntime library,DirectX就是由此吸引使用者的目光而得聲名大噪,就如同ActiveX,COM,OLE一般,即使不曉得它究竟是什麼玩意,至少也能琅琅上口,輸人不輸陣嘛。 / S* @: b4 o& F9 S/ ]% D: f 7 j' a! q" G% c2 V游戏编程起源(初学者)ⅩⅢ ; |- [9 t Q$ ^5 {: jUpdate: 2001-4-18 Author: 傻马乱踢 译 From: 7 j& S1 f$ ^2 g) h& ^& p   上一章的结尾,我曾经承诺将在本章教你写一个小的游戏引擎。但在结束上一章,然后我在考虑怎样更好的完成这个系列教程时,我感到这并不是一个好主意。(别,别,先把臭鸡蛋放下)让我告诉你我的真实想法。 7 C( T4 y/ W: K" d |! Q. R1 n0 I% v4 R) R 游戏编程起源(初学者)ⅩⅡ ! ?2 N6 }2 G& g; t& w* [& x' NUpdate: 2001-4-17 Author: 傻马乱踢 译 From: 4 G. m. g" H& @" l! \* x2 D   颜色键使一个位图被拷贝到另一个位图上时,不使所有的象素都显现。例如:当你把一个精灵(游戏中会动的对象一般都称作精灵)拷贝到地图上(背景上)时,这个精灵位图一般不会是一个精灵形状的位图,它通常都是一个矩形位图,位图里包含你所需要的精灵(除非你的精灵就是一个矩形机器人^_^),不使用颜色键拷贝的结果如……
回覆 赞 踩

使用道具 舉報

 樓主| 叛逆不羁 發表於 2008-11-25 00:54:38 | 顯示全部樓層
游戏编程起源(初学者)ⅩⅠ 1 G1 s$ N6 J w# a7 gUpdate: 2001-4-16 Author: 傻马乱踢 译 From: 1 }- O6 a4 P1 X% F$ |    终于,你已经掌握了制作一个完整游戏的基础知识了,只不过你现在还只能使用GDI。今天,我们就学习使用DirectX来执行每一件你以前用GDI完成的工作,以及一些关于DirectX其它的东东。具体内容是:装载(调用)位图,使用位块传输,填充表面,使用剪裁板、颜色键等拷贝位图。 ; [4 Y4 k2 z, J. O* U! L4 t' {* m$ v% ]/ F( S9 S! Q; m 游戏编程起源(初学者)Ⅹ . ?% U5 ^6 v: s: \: zUpdate: 2001-4-15 Author: 傻马乱踢 译 From: / K7 X! N' R/ o* n! N1 k. Z" ~ a   锁定表面:没什么令人意外的东东,我们将使用的函数是IDirectDrawSurface7:ock()。 0 J! W" E4 L; e: s* p. _+ L) S ' h+ y0 s# W4 H游戏编程起源(初学者)Ⅸ / U* ^+ j9 G h& x7 | Update: 2001-4-14 Author: 傻马乱踢 译 From: / K: z8 Q# P2 [! L/ Q    今天我们将分别使用调色板和RGB模式来熟悉DirectDraw的基本图形。它们有什么不同呢?如果你曾经在DOS下编程,你可能使用过调色板映射模式。调色板是个颜色查询表,为了绘制象素,你将一个单独的字节写入视频内存,通过这个字节你可以索引到一个拥有各种颜色的链表,这个颜色的链表,或查询表就叫作调色板。 4 }# z! |! ^% A$ T, U( k, H2 H5 `+ r" _1 i 游戏编程起源(初学者)Ⅷ 0 X4 ~8 P0 q6 N Update: 2001-4-13 Author: 傻马乱踢 译 From: + ^5 w/ h0 @, r# j5 h& y   我不需要说太多。Windows编程设置协作级别你只需要调用IDirectDraw7::SetCooperativeLevel()函数;设置显示模式你就调用IDirectDraw7::SetDisplayMode()函数。就这么简单!先来看看协作级别。 ( q1 j/ E' \: v! B& T# p$ F/ i$ C) m8 P* ]/ V4 G- m 游戏编程起源(初学者)Ⅶ 1 S$ v0 ?5 \3 t9 r- D1 O, e4 JUpdate: 2001-4-12 Author: 傻马乱踢 译 From: ; S; Q1 U2 A$ k' `   啊哈!今天是个好日子,知道为什么吗?因为今天我们要接触到令人敬畏的DirectX。它比Windows GDI要快好几倍,可用于不同的语言和多种平台,支持从绘制象素到高级3D图象,从播放简单声音到数字音乐,从键盘控制到反震手柄……它给你游戏编程所需的一切(有点夸张)。 & \' } c- t, x/ e: }3 k& t$ }6 ^) U E5 J8 N2 s# | 游戏编程起源(初学者)Ⅵ # ~3 [; `1 M* Q; C& RUpdate: 2001-4-11 Author: 傻马乱踢 译 From: . O( ?3 y: l7 s: F    有三个消息看起来差不多,都是处理关闭的事情的。它们是WM_DESTROY,WM_CLOSE,和WM_QUIT。它们的确很相似,但你需要知道它们之间的不同!一个窗口或者应用程序应该被关闭时发出WM_CLOSE消息,当接收到WM_CLOSE消息时,如果你愿意,向用户提出是否真的退出。 , P# M2 C2 X. B* N0 ]- U7 s( E0 m' @# V& x# Q& o 游戏编程起源(初学者)Ⅴ / q3 c* g8 p+ K" U j1 uUpdate: 2001-4-10 Author: 傻马乱踢 译 From: 8 t3 [, P2 G. F4 k6 [    如果你看过了头两章,你或许已经在问我什么时候能给你讲一点有成就感的东东呢?OK,时候到了。这次我们将学习WINDOWS GDI(图形设备接口)和其它一些相关的东西,象响应用户输入和处理Windows产生的一些消息。至于显示图形,我们将接触三个课题:文本显示,绘制象素,显示位图。我们先来研究一下几个Windows消息的细节。 5 R9 V* O8 f1 ]8 I! p + o' k' k4 `* B+ {; v g7 g游戏编程起源(初学者)Ⅳ 3 {3 w& X( t2 P3 | Update: 2001-4-9 Author: 傻马乱踢 译 From: * r! q" {; y; i' U( y: t   字符串表是我最喜欢的资源类型。正象你所想的:一个充满字符串的庞大表格。字符串表有很多用处。你可以用它存储你的文件名称,游戏中的人物对话,消息框中的文本,菜单中的文本等等。 7 [9 o' X' r2 k" e; Z4 t2 c0 O ' n/ j4 O3 J% X7 K7 e" R6 L8 v8 I 角色扮演游戏引擎的设计原理 4 v$ e9 D5 A) v' q+ Q# ^Update: 2001-4-8 Author: 赵旺 From: 创新软件 3 k) O0 y$ E' M6 I0 B3 N   角色扮演游戏(RPG)是深受广大游戏迷们喜爱的一种游戏, 它以独特的互动性和故事性吸引了无数的玩家。它向人们提供了超出现实生活的广阔的虚拟世界,使人们能够尝试扮演不同的角色,去经历和体验各种不同的人生旅程或奇幻经历。 # i# c9 K0 o, i7 D6 n' u9 F0 E: G' k/ ~% _$ S! L1 m 游戏编程起源(初学者)Ⅲ 9 G; I, Y | O! l% _) D) Q* W& C Update: 2001-4-8 Author: 傻马乱踢 译 From: ! S s0 b( x7 {* j) J   欢迎继续收看!通过本章题目可能你已经猜出了本章论题,我将教会你在Windows程序中使用资源。简单的讲,资源即数据,它们通常是和程序的EXE文件相关联的,但是它们又是独一无二的。 1 D% _& ?: j1 O& ~' L& n 4 c4 i. r9 ~! E& K6 n" {6 D7 d4 x4 F游戏编程起源(初学者)Ⅱ " D* F8 E) X" o# I- k% C, N, N6 m Update: 2001-4-7 Author: 傻马乱踢 译 From: % k8 ^; C9 V6 `6 Q6 \    好消息,创建窗口你所要做的只是调用一个CreateWindowEx()函数。坏消息是,这个函数有好多的参数。嘿!把刀放下,有话好说吗!真的不难,做事情总得走走形式嘛! & P9 G9 s+ O/ h8 W4 { - O* k1 h/ W/ [1 R2 w7 y6 {) w 游戏编程起源(初学者)Ⅰ / R1 e; C! _ n2 Z" [1 m Update: 2001-4-6 Author: 傻马乱踢 译 From: 5 N. T( V; E0 f; p   本章目的是介绍WINDOWS编程基础。在本章结束时,你应该能够很好的工作了,虽燃可能是简单的WINDOWS程序。你需要有C语言的基础知识,我很少将C++的代码扩充到程序中。当然,由于WINDOWS本身就是面向对象的,一点类的知识是不会对你有什么损害的。如果你不熟悉C++,没有关系,我想你还是能从我这里学到大部分的东西。 , O% b+ F$ g5 \6 `1 P# O : V, H( j9 w$ ?5 h" D9 M8 h C++源代码游戏编程--WinMain()函数集 ' S2 x4 b* s$ S8 }. j+ T# `Update: 2001-4-5 Author: fuzipin From: ( b# F' b) P& O5 d s' l" ^   此文讲述了多种WinMan函数的执行方式,也描述了游戏中通常使用的循环结构,比较具有参考价值。 " S* a7 J) r, F9 L7 O 2 K+ H9 B/ c5 @+ z2 y8 F 斜视角视图(四) : Y/ N# p! p" ^& _Update: 2001-4-5 Author: 残雪 译 From: * k4 c& C0 w' e3 d; j3 x    我们现在有了我们的预步进坐标。当我们准备用mx和my来从地图中绘制图形块时,我们向左移动prestep_x个象素点,向上移动prestep_y个象素点。 - Z8 p6 w9 O, H2 N# d: e1 Y- V# g0 N! M& r# @- { 斜视角视图(三) 1 m1 |* C: M8 n7 F5 JUpdate: 2001-4-4 Author: 残雪 译 From: ) i* O6 ~- }1 o! p0 ~   现在我们得定义图片块的样子。草地是最容易的,就是一个画着草图案的16x15的图形块。墙是一个16x50的图形块。既然我们用叠放的方法绘制,高墙就是两个墙。一个比另一个要高。 . f9 {" H- V2 w& G7 z6 V( t% D k ?0 `9 N+ g5 S 斜视角视图(二) % Y0 A3 J/ P5 LUpdate: 2001-4-3 Author: 残雪 译 From: % r9 j, q5 B7 M5 M/ \! m- G! k    如果你稍微研究一下这个形状,你就会发现他们可以很容易的摆在一起。画完一个图形块时,向右走16个象素,向下走8个元素,再画下一个。于是…… , G; R$ I# W# O- c # J: {0 u. V* z4 I8 R: B斜视角视图(一) 1 U- b" Q, z/ cUpdate: 2001-4-2 Author: 残雪 译 From: * {% ]% A6 R$ |, b    如果你对平铺(tiled)图形还一无所知,那么在这儿它就放在一个“坚果壳”(nutshell)里。一组象素,通常是矩形的形状,构成一个平铺图形块,如同地板上的一块瓷砖。当你把这些图形块放在一起的时候,他们就形成了一个图案。你还可以把砖块图案的图形块堆放起来以构建更大的平铺图案。 1 E3 J* Z4 g) |8 Q0 {& C 1 G8 U9 n1 k8 a* lPC游戏编程 ( o! j7 h- [% ~7 X% s8 V; r Update: 2001-4-1 Author: liu-gang From: 7 v& ~! [+ R" i* ~, ]5 R    我做游戏的历史只有三年,我所写的内容都只是我在此期间的感觉和经验,还远远谈不上完整和正确,甚至有些内容我们自己也没有完全达到,我只是试图说明我们曾经是怎样做的和在最近的将来打算怎样做。 # |8 e7 c: e9 l5 p1 S9 r1 d 4 m$ f2 N* [: {& a, w续《地图遮挡算法》 ' x4 I. ~2 y9 q8 t Update: 2001-3-30 Author: Lino From: " m8 L2 W7 b5 a9 M; t    看了你的关于《流星之舟地图遮挡算法》及其系列文章,有一些看法。不过首先要声明的是我没有编过什么大程序,对你和天眼的文章也看不太懂,这里只是抱着学习的态度。 , W; }1 j$ y! d1 r: A" J2 \ & ^1 O/ i: Y, l# T& j流星之舟地图遮挡算法(第一稿) 5 K) e$ j2 M3 w/ I: j% z8 m' p, k Update: 2001-3-29 Author: SoftBoy From: 金点时空 & h4 E c$ j5 ?. K% Y   下面的文字将叙述成都金点工作组所设计的RPG游戏《流星之舟》的地图遮挡算法,游戏地图采用斜45度的视角,屏幕分为了20*15个菱形图块,每个图块的大小为64*32(像素点)。 / M% p4 y2 |2 {: _4 B) n3 B9 s8 T `2 C . P9 ]. |, W2 L# H9 ~# d 答softboy关于《回应Softboy之‘流星之舟地图遮挡算法》 7 b9 O9 K* \( _3 k m: m9 r Update: 2001-3-28 Author: From: 5 u7 F! D" V7 V/ O8 Z" W5 ]" I    Softboy声明:我的所有问题都是根据‘天眼的“回应”一文’产生的,有些问题也许是因为天眼并未在“回应”一文中注明,或是我理解上的偏差而导致的,这里仅仅是讨论技术,并不包含任何感情因素。 6 x5 \9 q: m, o: ~8 R 6 C# _" C1 F! w" g6 h' u. t回应Softboy之《流星之舟地图遮挡算法》 6 _, S8 l5 w2 xUpdate: 2001-3-27 Author: From: * Z% ?8 G; x$ x4 ]    每屏大约显示20*15个格子(考虑屏幕的象素级卷轴和物体高度,实际是679个),这些格子的显示顺序可以用实时计算来确定,但我采用了更快的方法,对于每个格子我定义一个结构对应这些格子…… 9 B) c) s7 P# G+ J) a0 f: H 3 {4 s3 q3 f, D4 n# X$ P/ t+ `+ I 一封讨论斜45度RPG地图遮挡的E-mail * g2 [4 d/ x3 L3 @& I, E- T6 s, XUpdate: 2001-3-26 Author: SoftBoy From: 金点时空 3 d& } W! _7 }: r    你说的这个方法好象没有考虑到大物体的遮挡,如果所有物体都是一个格子大小的话,这应该是一种非常好而且快的手段。 ( f' A) ^7 v, w, Q/ [: f " i0 Y& h! v& |; h8 W! `制作手札---RPG是怎样做成的 (四) 9 X4 s. h& ?' g/ A* T8 s; KUpdate: 2001-3-25 Author: SoftBoy From: 金点时空 1 }" o, z" z+ I* e% E   经常听见有人说“RPG游戏不就是一个小人在屏幕上走来走去,碰到了人就说两句话吗!”。虽然这种评价有点过于偏激,但是,也从一个侧面反映出了对话在RPG游戏的作用和影响。 ~5 G+ u! g D9 M. `- i9 s$ R- @) o: q4 O/ d/ B9 V, o 制作手札---RPG是怎样做成的 (三) " O) ?+ |0 V- X( R- DUpdate: 2001-3-24 Author: SoftBoy From: 金点时空 t" {: z# _+ w: m; C7 U2 Y    如果说‘消息处理’是整个程序的核心!那么‘场景显示及行走系统’就是整个游戏的核心。因为作为RPG游戏,其所有事件的发生几乎都是和场景有关,例如:不同的地方会碰到不同的敌人、与不同的人对话得知不同的事情、在特定的地点才能找到宝物等等,所有的这一切都说明‘场景’在一个RPG游戏中的重要地位。 1 G4 O0 ]% v' F , @8 L9 J$ s6 L; x! k 制作手札---RPG是怎样做成的 (二) * v( Q/ j0 ~- B! y; z/ c Update: 2001-3-23 Author: SoftBoy From: 金点时空 9 [8 p2 K+ i. t# T+ S8 F/ z; O    “系统分析”如此专业的词汇可能会立刻吓退一大片人,我当初也是如此!不过只要你认真读完下面的文字,也许你会说一声:‘系统分析’也不过如此嘛! 4 R% p8 B2 ?. ^/ _ $ s8 p3 d- y* }: s. N h制作手札---RPG是怎样做成的 (一) * S. ]7 }: w. I" Y) y0 T1 j. A; MUpdate: 2001-3-22 Author: SoftBoy From: 金点时空 6 m' s- K) o) K) x4 l& Z% }" B    自从我们的第一个正式电脑游戏《冲击》完成之后,已经有很长一段时间没有碰这方面的东西了,不过在我心中好象一直在期盼着什么东西……目睹着当今五彩缤纷的游戏世界和国产游戏的尴尬境地,我忽然有一种莫名的冲动,做游戏的冲动。也许是以前有过这方面的经验或者说是教训吧! + ]9 o& ]2 S9 t( l: |( G) q# m- s 8 h& Z! K! g$ q7 ]4 n9 d7 J DirectX编程技术 / m" [' |7 c: _6 r, N# D7 B6 D+ YUpdate: 2001-3-21 Author: SoftBoy From: 金点时空 9 G M2 r1 |# \* ^% w- m    大家对DirectX一定不陌生吧,因为在微软刚刚推出WINDOWS窗口操作系统时,由于显示界面采用统一的GDI,禁止程序员直接操作硬件,这使得在WIN 3.x系统上的游戏程序速度奇慢,根本无法推广。 ( R( L8 c3 b7 j2 q' F 7 g1 X/ \0 X5 {) K7 b, lRPG游戏通用开发工具——图形部分的处理 + I7 m3 D9 Q/ t4 U2 J! ~- f Update: 2001-3-20 Author: From: " ]) V' O) G* F: z- j5 `   " g; O3 t2 g& Q+ b & r# } n; A+ `; K, ?. i MFC架构下的DirectX8 T% g" Q) V( H, Y- j* l" bUpdate: 2001-3-19 Author: 陈伟凡 From: 1 M% Z3 f1 B$ i; s- K1 j   这里的MFC框架指的是一个符合游戏开发应用的框架,当然你也可以写一个符合你要求的MFC框架。如果你对MFC比较熟悉的话可以直接从第二章开始阅读。本框架是以后几个例子的基础,如果你对MFC不是很了解的话,就要认真阅读本章,以求对这个MFC框架有一个深入的了解。
回覆 赞 踩

使用道具 舉報

 樓主| 叛逆不羁 發表於 2008-11-25 00:55:01 | 顯示全部樓層
游戏制作经验乱弹 ( A: p8 n8 H0 m' l Y Update: 2001-3-18 Author: 李爽 From: ) u; c7 N3 u( O- r8 T" E   RPG游戏通用开发工具 “盗亦有道” 返回上页 开头的几句废话因为我从来没有过机会,能够真正参与一个商业游戏的制作,所以我这些所谓的经验,完全来自于我自己平时对一些游戏的观察,和自己的一些尝试。 ' X0 V) U7 f. L' z( a9 a: O; ^* P: @: G5 K/ L1 w1 x8 y3 J! H 关于滚屏 * t4 Z2 v! r/ I& Z7 [$ z1 \Update: 2001-3-17 Author: From: 1 e+ L ^7 V1 m5 @+ J) _   DOS时代常用的一个方法是所谓的“硬件滚屏”——通过对显卡芯片扫描屏幕缓冲区的起始地址寄存器进行递增或递减操作来实现高速平滑的屏幕滚动。到了WINDOWS时代,这个方法在硬件上行不通了,因为DirectDraw没有提供存取扫描起始地址寄存器的功能。 0 S/ o. B( [/ X7 A/ H- ]! R5 f( V % w5 y/ ?# I4 j$ r5 L游戏中的地图 , ~( {, W: Z/ S/ l+ gUpdate: 2001-3-16 Author: From: & x7 z) _2 L* v8 n! ?   《仙剑奇侠传》地图图块(Tile)的大小为32X16(以象素为单位)。实际每个图块的大小为32x15(以像素为单位),通过拼接刚好天衣无缝。地图大小为128x128(以图块为单位)。 * h K) V& d5 X" Z: P) f 0 h1 Q! m4 ~& F2 G, N$ P游戏中的图像表示 $ k) h) Y) X, b Update: 2001-3-15 Author: 林伟 From: 5 Q. x# q! D( ?( O   我对这个问题没有太多研究,只发表一点个人意见。因为游戏种类的不同,图像的表示方法也会有很大的差异。通用的方法是存在的,但并不是最有效的。有个性的程序员通常都会根据自己程序的特殊需要而在通用的方法上加以改进。 - ?# A z1 c" g% N! ^9 P 1 D( d6 ~: `3 o' T% e 后台模拟多任务的实现 * n5 n# I w, q8 c: ~Update: 2001-3-14 Author: From: 6 ~6 E8 i/ J9 [1 N0 q9 ?    记得以前学过 Win9x/NT的利用时间片轮转实现了多任务,而其中又用时钟中断作为任务调度的方法。每次发生时钟中断,多任务系统就自动保存当前任务的各种状态,标志到状态表。 ! U& C* @* i0 {! I7 N/ P; e% t + Z- |' G) v9 W9 p7 f精灵链表 % D& G. J) y4 w3 R Update: 2001-3-13 Author: Jonathan From: " w P8 A2 L9 k. i, I; f   通常说来, 第三人称 2D 游戏中通常把景物和精灵分开处理 (至少我的这样的) 尤其是游戏机上, 硬件对精灵有支持. 现在我们的显卡多也支持显存间的 keycolor 检查 Blt 操作, 实际就是用来加快精灵处理的 (也包括景物) ( [' K- ]2 g& r, X: B- \& u# l: ]5 c ' Z. P8 e% Q. z/ f& SRLE 精灵教程 ) |! |: o6 S$ G6 H Update: 2001-3-12 Author: From: 9 r: f* G2 s( Y! w- C   精灵是电脑游戏中使用的最普通的元素之一,直到最近由于3-D浪潮蜂拥而至才被“多边形”所取代。然而,即使3-D游戏也能因设计完美的精灵而得益。这篇文章就是一个关于实现一个高水平的,高效的RLE精灵系统的简短教程。 # \# e1 E( p! B# Z - E3 n2 v2 e% x) x: I 关于地图编辑器 $ k) \! D) [- u" Y! ^ Update: 2001-3-11 Author: From: $ b; G8 l8 p7 K( Q2 H1 [2 i' {    地图编辑器,顾名思义,就是用来编辑地图的工具,如果玩过魔兽争霸或是帝国时代2,英雄无敌的话,应该会知道这几款游戏都附有地图编辑工具,可提供玩家自行编辑地图关卡,地图编辑器就具有类似的功能。 3 U& n4 M" x- d2 F ) m. F: j l8 N! {. @游戏开发基础(10) 1 z4 }" N! p& \7 ]- ?$ DUpdate: 2001-3-10 Author: From: 9 u0 B9 } q1 N    设计3D光线投射游戏包括从高解析度图形到快速动画的许多技术。尽管3D场景在这些不同的游戏中可能变化很大,玩游戏的方法和设计游戏的基本技术却是类似的。场景中较明显的组成部分包括生成的墙壁、地板、天棚、可移动的物体和静止的物体。 # s5 i2 L% c# B7 z% A3 x( ^6 _$ a ' c6 \6 F+ M+ h) U; `1 L游戏开发基础(9) 2 [3 A8 I3 [; `' v/ Y Update: 2001-3-9 Author: From: " N) [9 O2 T0 P) X   它的运行过程是这样的:在全屏模式下且使用拉伸算法时用gfxStretchBackbuffer()对后备缓冲区和拉伸缓冲区之间进行blt操作,然后在有一个以上(不含一)的后备缓冲区时用gfxFlip()调用IDirectDrawSurface_Flip( lpFrontBuffer, NULL, DDFLIP_WAIT )进行一次页面翻转操作将后备缓冲区中的图显示到屏幕上。 5 _, [" f( J2 s ' J1 j! q' @+ ^6 i 游戏开发基础(8) + |4 S) Y) s# u) J% l6 p4 f Update: 2001-3-8 Author: From: ) k( _" }: x- j% M   ! K: }" N6 L3 Y# J8 R* D8 A& Z- ]6 a; ]& E) R( g3 @ 游戏开发基础(7) 2 ]& q" f0 l, L( y5 R Update: 2001-3-7 Author: From: - P* L0 S2 K! K" I% b5 @    电脑游戏在计算机发展使用中可以说扮演了一个极为有趣的角色,一方面不为很多人所赞同,认为是一种浪费;而另一方面电脑游戏却是推动计算机的各项技术迅速发展的最有力的力量之一。 & [$ Z9 D+ F# C6 e7 M5 _ ' p$ z( m0 s+ ^9 v 数据结构在游戏中的简单应用 $ V3 J6 O$ Z0 B0 n) h4 V, P: R Update: 2001-3-6 Author: 源代码之光 From: NGame2000 ( a9 g" B5 p( w1 q4 U" ^+ x   本文主要讲述数据结构在游戏中的应用,其中包括对链表、顺序表、栈、队列、二叉树及图的介绍。读者在阅读本文以前,应对数据结构有所了解,并且熟悉C/C++语言的各种功用。好了,现在我们由链表开始吧! 4 J3 B! P! G: | . E; j% g: l' z7 m' X' W游戏开发基础(6) ], L4 H2 A; v/ EUpdate: 2001-3-6 Author: From: : x3 Q% T j' s4 q3 n6 i+ V   声音是空气的一系列振荡,称为声波,一般可以用二维的波形图来表示。数字音频是指使用某种设备将声波记录下来并保存为一种数字化的文件。播放相应的文件就可以产生某种声音效果。数字音频的音质随着采样频率及所使用的位数不同而有很大的差异。 N2 a( f3 ]# D% H) F) \8 H, O8 W8 \' ] 游戏开发基础(5) - f" _4 t/ u3 V4 X. IUpdate: 2001-3-5 Author: From: 4 X; p. Y, {6 ~$ @! Z% Q; b$ d! I V& x   Grubers的一个观点是DirectDraw“只是一个bltting发动机”。这是相当准确的,但却太简化了。更准确地讲,DirectDraw是一个可以提供软件仿真测试的独立于硬件设备的bltting发动机。DirectDraw的主要用途是尽可能快、尽可能可靠并且尽可能连续地将图形考贝到视频显示设备上。 , E& K% F4 |" {. L. L! m" \( T , z3 W( y2 Z5 Q5 i Tile文件的组织 + F& T( }$ _8 E# _# K/ j+ [Update: 2001-3-4 Author: GameDragon From: . i0 ]& e) z5 s8 @' n8 z% B    斜视角Tile游戏中,Tile是组成地图的最基本的东西,整个地表(不包括上面的建筑)都是由Tile拼出来的。每个Tile就是个小图片,描述了这个地表(象地板、街道、草地、溪流等等)的样子。依照(我的)习惯,同类文件就组织在一起打成一个包,下面就给出一个Tile文件的结构。 3 l8 v7 B4 q! ~. @0 } + a% D$ c8 B, n2 g6 u0 b" y 游戏开发基础(4) * K+ \9 d$ ?9 i: w8 h8 o; W& fUpdate: 2001-3-4 Author: From: ; k. ~- p: R# Y4 i    3 ~3 G r! V- [( x# A8 G% k9 u7 {. y8 H 游戏开发基础(3) ( G5 E8 i5 L) o, o" Q# w6 IUpdate: 2001-3-3 Author: From: ' Y) F' S4 ^7 u: a2 g    Microsoft DirectX提供了一套非常优秀的应用程序接口,包含了设计高性能、实时应用程序的源代码。DirectX技术将帮助您建构下一代的电脑游戏和多媒体应用程序。它的内容包括了DirectDraw、DirectSound、DirectPlay、Direct3D和DirectInput等部分,它们分别主要应用在图形程序、声音程序等方面。 + B, y0 i( G% C! q& A$ \6 y! a# a; l3 t( K& O0 v7 m9 `9 W' J 游戏开发基础(2) " C4 i+ |5 }# hUpdate: 2001-3-2 Author: From: 6 E* f: g7 ~* i7 D8 F" F   为了跟上潮流,我们抛弃了已快被淘汰的DOS操作系统,所有的讲解和例程都是基于微软的Windows操作系统的。考虑到很多的用户并没有Windows编程基础,所以我们设置了这一专门讲述、讨论Windows的术语、概念的部分,以使这部分用户能较快地理解和掌握我们所讲述、讨论的编程思想和编程方法。 # G$ N' V2 Z4 ?, ~ 6 _+ t6 ?, p( ^3 ^游戏开发基础(1) ' Y# B: i' E5 T" s( p2 g# k, J$ g5 BUpdate: 2001-3-1 Author: From: 1 W. q. Z! K) G5 U' d   随着计算机技术的发展,计算机从高技术的神坛上走下来,走进我们的家庭,走进我们的娱乐生活中。在家用计算机的使用中,作为游戏机的使用率是很高的。同时对于游戏迷来说现有的游戏中总有很多不足之处,让人想一试身手作出一套更好的游戏(不过,这可不容易)。
回覆 赞 踩

使用道具 舉報

だBe_n尐 發表於 2008-12-10 10:07:48 | 顯示全部樓層
看完就成仙了 0 j. [" G* Y) K7 ?6 l& x但是看到一半会先成魔 5 b7 `, i, @6 G3 F. X哈哈( M' i) @" ] [* n3 I6 Z7 n 我看了就溜。。。 * a- d" w% t7 P因为我晕呼呼了。。。4 u, `- S s: C 好长好长。。。。 [s:9]
回覆 赞 踩

使用道具 舉報

xueraiwo 發表於 2009-1-29 12:37:23 | 顯示全部樓層
[s:2][s:2][s:2][s:2]
回覆 赞 踩

使用道具 舉報

465146837 發表於 2009-8-7 15:58:10 | 顯示全部樓層
晕了 - -哈哈
回覆 赞 踩

使用道具 舉報

qingzihappy 發表於 2009-8-31 13:02:57 | 顯示全部樓層
看的我头晕,
回覆 赞 踩

使用道具 舉報

蝶舞天下 發表於 2009-9-3 16:47:56 | 顯示全部樓層
现在很想静下心来研究研究,可是心中杂念太多,佛祖说:“红尘事未了,勿潜心修炼”。O(∩_∩)O~
回覆 赞 踩

使用道具 舉報

252600 發表於 2011-1-28 19:10:27 | 顯示全部樓層
看帖回回帖,健康每一天
回覆 赞 踩

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版發帖QQ客服返回頂部