游戏开发收藏
文章平均质量分 84
Garfield
老人家
展开
-
DIRECTX中独占模式与窗口模式的切换
最近在GAMEDEV上发现了这篇文章,觉得挺不错的,特此翻译过来,有不对的地方希望大家指正DIRECTX中独占模式与窗口模式的切换介绍让你的游戏能够在独占(全屏)模式与窗口模式下运行应该很简单,但想要让它合理且优雅的运行就要多做些工作了.在这篇文章中,我将用业界十分常用的C++语言来讲解这方面的技术,如果你想,可以用类把这个例子封装起来以便于使用.我假设你已熟悉独占模式下的DirectDraw的设转载 2005-02-05 02:06:00 · 7200 阅读 · 0 评论 -
用DirectDraw实现屏幕截图
在DirectDraw的非独占模式中,主表面即为当前屏幕。你可以直接Lock住主表面,从而取得主表面图象数据。但如果你要对大量的数据进行直接的操作,最好还是先在系统内存中建一个和主表面一样大小的后台表面。用BltFast把主表面复制一份到后台表面,然后锁住后台表面,再进行操作,这是因为CPU对显存的操作是什分慢的。1、初始化DirectDraw 你可以响应WM_CREATE消息,并在OnCr转载 2005-02-12 15:22:00 · 7335 阅读 · 1 评论 -
DirectInput 编程入门
游戏编程可不仅仅是图形程序的开发工作,实际上包含了许多方面,本文所要讲述的就是关于如何使用 DirectInput 来对键盘编程的问题。 在 DOS 时代,我们一般都习惯于接管键盘中断来加入自己的处理代码。但这一套生存方式在万恶的 Windows 社会下是行不通的,我们只能靠领 API 或者 DirectInput 的救济金过活。 在 Windows 的 API 中,有一个 GetAsyn转载 2005-02-21 04:02:00 · 2412 阅读 · 0 评论 -
DirectInput里的键盘鼠标的应用
设计一个PC游戏,键盘鼠标的输入是绝不能少。Windows也提供了诸如WM_LBUTTONDOWN、WM_RBUTTONUP等鼠标消息以及WM_KEYDOWN、WM_KEYUP等键盘输入消息。但是DirectInput中仍然提供了对鼠标键盘的支持,其原因就是DirectInput提供一个更直接更快捷的对输入设备的访问方法。就象我们在DOS下直接接管键盘中断,而不是去用什么讨厌的INT16来处理转载 2005-02-21 04:03:00 · 3542 阅读 · 0 评论 -
16位Alpha混合的MMX优化
最近,我开始学习汇编程序,用来优化我的引擎,断断续续的学习了20多天,也有了一些心得体会,希望和他家一起分享:) 游戏中图形操作就是吃系统资源老虎,大量的cpu时钟都被他吃掉了,为了加速我的游戏引擎的图形处理速度,我对一些图形操作进行了汇编优化,并使用了威力惊人的MMX指令。为什么说威力惊人呢?看下去就明白了。 MMX指令适合用来做大量的串操作,在MMX处理器中,提供了8个64位的寄存器,并转载 2005-02-12 04:01:00 · 1985 阅读 · 0 评论 -
DirectX5.0最新游戏编程指南
DirectX5.0最新游戏编程指南综述篇 对于众多的游戏制作者来说,Microsoft的DirectX 5的推出不啻是一个极好的消息。它包含了编制下一代计算机游戏和多媒体应用程序的最新技术和工具,为广大的程序员提供了一整套的应用程序接口API,使程序员能够设计高性能实时的应用程序。DirectX使运行在Microsoft Windows操作系统下的游戏比运行在 MS-D转载 2005-02-12 04:09:00 · 4450 阅读 · 0 评论 -
理解I/O Completion Port
欢迎阅读此篇IOCP教程。我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼。OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力。以下是我会在这篇文章中提到的相关技术: I/O端口 同步/异步 堵塞/非堵塞 服务端/客户端 多线程程序设计 Winsock API 2.0 在这之前,我曾经开发过一转载 2005-02-22 22:36:00 · 1319 阅读 · 0 评论 -
完成端口代码
//采用完成端口的代理服务器原型代码 http://www.vckbase.com/code/listcode.asp?mclsid=9&sclsid=901 --------------------------------------------------------------- http://www.vctop.com/View.Asp?ID=484&CateID=1 ----转载 2005-02-22 22:39:00 · 2253 阅读 · 2 评论 -
小谈Online-game服务器端设计
谈这个话题之前,首先要让大家知道,什么是服务器。在网络游戏中,服务器所扮演的角色是同步,广播和服务器主动的一些行为,比如说天气,NPC AI之类的,之所以现在的很多网络游戏服务器都需要负担一些游戏逻辑上的运算是因为为了防止客户端的作弊行为。了解到这一点,那么本系列的文章将分为两部分来谈谈网络游戏服务器的设计,一部分是讲如何做好服务器的网络连接,同步,广播以及NPC的设置,另一部分则将着重谈谈哪转载 2005-02-23 04:46:00 · 1794 阅读 · 0 评论 -
DrawText API.
2.2 在窗口中输出文字在这里我假定读者已经利用ApplicationWizard生成了一个SDI界面的程序代码。接下来的你只需要在CView派生类的OnDraw成员函数中加入绘图代码就可以了。在这里我需要解释一下OnDraw函数的作用,OnDraw函数会在窗口需要重绘时自动被调用,传入的参数CDC* pDC对应的就是DC环境。使用OnDraw的优点就在于在你使用打印功能的时候转载 2005-02-23 18:43:00 · 2732 阅读 · 0 评论 -
完成端口重叠I/O模型的服务器中,存储和管理数万个socket句柄
完成端口重叠I/O模型的服务器中,如何存储和管理数万个socket句柄 --------------------------------------------------------------- 链表吧,,要么HASH链表,hehe.. --------------------------------------------------------------- 根本就不可能建立几转载 2005-02-22 22:47:00 · 2245 阅读 · 0 评论 -
五种WinSock I/O模型的特点及比较
====== select 模型: select模型是WinSock中应用最广泛的模型之一,核心就是select函数,它可用于 判断套接字上是否存在数据,或者能否向一个套接字写入数据。 这个函数可以有效地防止应用程序在套接字处于阻塞模式中时,send或recv进入转载 2005-02-22 22:49:00 · 3909 阅读 · 0 评论 -
载入JPGE图象文件到DirectDraw的表面中
Loading JPEGs to DirectDraw Surfaces 载入JPGE图象文件到DirectDraw的表面中by Johnny Wood译: sea_bug译者的话:这是一篇关于使用Intel JPGEs Library的文章,在翻译的同时,译者根据自己的使用经验对文章进行适当的添减章节,希望适合各位读者。In order to keep the size of this arti转载 2005-02-12 03:59:00 · 1780 阅读 · 0 评论 -
16-Bit Pixels
/************************************************************************/本文纯粹是译者学习,不作任何它用.译者尊重原作者拥有的一切权力!转载请告知,E-mail: linuxsunshen@163.com/*****************************************************转载 2005-02-12 15:18:00 · 1581 阅读 · 0 评论 -
Alpha混合浅谈
alpha混合技术对熟悉游戏的人来说不会陌生,这种技术在如今的游戏特效里已经被用烂了。3D的游戏就不说了,2D的游戏里,这种技术也是满眼皆是。 alpha混合听上去很神秘,实际非常简单,其作用就是要实现一种半透明效果。假设一种不透明东西的颜色是A,另一种透明的东西的颜色是B,那么透过B去看A,看上去的颜色C就是B和A的混合颜色,可以用这个式子来近似,设B物体的透明度为alpha(取值为转载 2005-02-12 04:00:00 · 1562 阅读 · 0 评论 -
2D游戏中的技能特效
在我们的2D图形游戏中不可缺少大量的光影、技能特效,像Diablo II中的魔法效果的实现,幸好我们拥有强大的CPU来为我们实现Alpha混合与色彩饱和混合,接下来让我们来讨论一下如何用这些方法来实现我们游戏中所需要的技能特效。一、Alpha混合特效 Alpha混合可以让我们让我们将一张图象按一定程度的比例与另一张图象进行混合(如图1),但普通的Alpha混合并不适合游戏中的技能特效转载 2005-02-12 03:58:00 · 1585 阅读 · 0 评论 -
一个中文输入的类
一个中文输入的类 不想让ime显示默认的窗口,只想用它的转换和选字功能,看过拿铁游戏论坛上的一个兄弟的一些代码,修正了一些我认为的bug,加入了一组控制函数,使得程序中可以显示一些button,玩家可以不必用热键就能切换输入法、全角/半角,中/英文标点。//不知道这个能不能解决缩进的问题#pragma comment ( lib, "imm32.lib" )#inc转载 2005-02-21 03:59:00 · 1492 阅读 · 0 评论 -
Alpha混合代码
WORD * pwBitmapDest, * pwBitmapSrc;WORD * pwDest, * pwSrc;DWORD dwColorDest, dwColorSrc;LONG lPitchDest, lPitchSrc;pwBitmapDest = (WORD*) ddsd2.lpSurface; // 锁定的目标表面pwBitmapSrc = (WORD*) ddsd.lpSurf转载 2005-02-05 03:21:00 · 1294 阅读 · 0 评论 -
《Windows游戏编程大师技巧》(第二版)第11章
第三部分:核心游戏编程 第11章 算法、数据结构、内存管理和多线程 第12章 人工智能 第13章 游戏物理 第14章 文字时代 第15章 综合运用:编写游戏!第11章 算法、数据结构、内存管理和多线程"You think I can get a hug after this?"—Bear, Armageddon(电影《世界末日》)本章将讨论在其他游戏编程参考书常常会中疏漏的细节问题。转载 2005-02-07 02:13:00 · 2621 阅读 · 0 评论 -
游戏的基础结构
就像修房子一样,别管你用多贵的砖头,它只是一块砖头而已,并不是你想要的房子。砖头可以在开发的时候随时换,但是结构一旦定下来,就不好修改了。 那么一个基本,却又efficient的结构究竟是什么样的呢?很简单。所有你所需要的就是引擎,无限状态机和内存池。这三个东西一点都不复杂,你可以从头开始写:首先是你的引擎类,需要些什么呢?class CEngine {public: CEngine转载 2005-02-07 02:28:00 · 1403 阅读 · 1 评论 -
A Beginner's Guide to Creating a MMORPG
This article will focus on the first steps in building your own Massive Multiplayer Online Role Playing Games (MMORPG). Its target is the indie game developer, with limited resources and experienc转载 2005-02-07 01:26:00 · 1621 阅读 · 0 评论 -
RPG之谜
还有什么东西能让你扮演勇者去逗逗恶龙(龙龙乖喔…)? 还有什么东西能让你扮演古时少年去追求梦中的仙女(灵儿,你在哪里…)?当电脑游戏进入人们生活之后,人类的一切梦想,几乎都可以在RPG的世界中获得满足。RPG之谜相信阅读本书的每一位电脑玩家都不会对“RPG”一词感到陌生;即使被要求随口报上一大串RPG代表作品的名字,相信对于一个稍具游戏龄的玩家来说也不会是一件难事。的确,随着近几十年来高科技的突飞转载 2005-02-07 01:34:00 · 3116 阅读 · 0 评论 -
《Windows游戏编程大师技巧》(第二版)第1章(上)
第1章 学海无涯"Oh, you want some too?!?"—Hudson, AliensWindows 编程就像是一场由来已久并还在进行着的战争。尽管游戏程序员曾经一度拒绝为Windows平台进行开发,但正如《星际迷航》中Borg种族的生物常说的那样:“抵抗是徒劳无功的……”,我觉得这个说法很合适。本章内容将带你快速地巡视一下Windows游戏开发的各个方面:• 游戏的历史• 游戏类转载 2005-02-07 02:09:00 · 2506 阅读 · 0 评论 -
《Windows游戏编程大师技巧》(第二版)第2章
第2章 Windows编程模型"Lilu Dallas Multipass!"—Lilu, The 5th Element(电影《第五元素》)Windows编程就像去见牙科医生:虽然明明知道对自己是有益处的,可还是没人喜欢总是找牙医。对不对?在本章中,我将要使用“禅”的方法——或者换句话说,就是深入浅出地向你介绍基本的Windows编程。虽然我不能保证在阅读本章之后你会变得更加喜欢去见牙医,但是转载 2005-02-07 02:11:00 · 1741 阅读 · 0 评论 -
DirectDraw编程基础(zz From GameRes Blog)
本文面向有几个月学习编程经历的初学者:看过C++的教程,看的懂基本的C++语法;有点点VC使用经验,知道怎么去组建一个工程;理解一些windows编程的基本概念,比如窗口、消息循环等;还有,不懂的地方会去查资料:)。看过几本关于DirectDraw的书,这些书都不错,在此感谢她们的作者。美中不足的是这些书的部分起点较高,虽然我们仍然能够清晰的理解一些概念,但在组织这些文件上会有不少困惑。在此我重申转载 2005-02-05 03:41:00 · 3483 阅读 · 0 评论 -
网络游戏中的数据包设计与定义(初论)
接触了一段时间的网游封包设计,有了一些初步的思路,想借这篇文章总结一下,同时也作个记录,以利于以后更新自己的思路。 网络游戏的技术研发,分为三个主要的方面:服务器设计,客户端设计,数据库设计。而在服务器和客户端之间实现游戏逻辑的中介则是游戏数据包,服务器和客户端通过交换游戏数据包并根据分析得到的数据包来驱动游戏逻辑。网络游戏的实质是互动,而互动的控制则由服务器和客户端协同完成,协同就必然要依转载 2005-02-05 17:13:00 · 1307 阅读 · 0 评论 -
RPG游戏的对话系统
我要和各位谈谈角色扮 演游戏中的最重要的一个部份~那就是交谈系统。若是各位 玩者接触的角色扮演游戏够多的话,应该会知道在角色扮演 游戏中有着单句式以及关键字两种完全不同的交谈系统,今 天我们就来看看这两个不同系统。 要怎麽分辨单句式和关键字系统呢?我们可以简单的从在 游戏中玩者和游戏中的人物交谈时是如何获得讯息来看。在 一般国内的角色扮演游戏中,经常使用的就是单句式的交谈 系统,也就是那种玩者只要转载 2005-02-07 01:30:00 · 1792 阅读 · 0 评论 -
游戏开发开门
一、造个什么游戏 造一个什么样的游戏?如果叫您来答,您会答什么?是角色扮演还是即时战略?对于广大游戏编程爱好者来说,答案肯定会是角色扮演。 那么,我们要造一个什么样的角色扮演型游戏呢?相信这个问题也是毋庸质疑的,大家肯定都会说:“《仙剑》式”。的确,《仙剑奇侠传》自1995年出世以来,在游戏界中已经成了一个不败的神话。 我们也许会问:“谁来打破这个神话呢?”我的答案是:“我们!由我们广大的转载 2005-02-07 01:31:00 · 2192 阅读 · 1 评论 -
《Windows游戏编程大师技巧》(第二版)第1章(下)
实例:FreakOut在沉溺于所讨论的有关Windows、DirectX 和3D 图形之前,应当暂停一下,先给你看一个完整的游戏——虽然简单了一点,但毫无疑问是一个完整的游戏。你会看到一个实际的游戏循环和一些图形功能调用,最后一霎那就可以通过编译。不错吧?跟我来吧!问题是我们现在才讲到第一章。我不应该使用后面章节中的内容……这有点像作弊,对吧?因此,我决定要做的是让你习惯于使用黑黑(black转载 2005-02-07 02:10:00 · 1542 阅读 · 0 评论 -
利用双计算机调试游戏程序
在游戏编程时,调试程序是很困难的事情,特别是全屏模式,总是无法切换到VC的IDE环境,以前我一般是利用BltFast代替Flip以保证GDI Surface始终在前,但效果不是太好,前一段时间我在VC中发现一个宝贝,可以利用两台计算机调试程序,一台运行程序,另一台运行VC来调试,再加上TRACE输出,真是爽的不得了,下面是我的做法: 1. 保证两台电脑是联网的,最好是都摆在你的面前转载 2005-02-13 03:30:00 · 1239 阅读 · 0 评论 -
文字和字体
显示文字是本书所要解决的首要问题,现在我们来研究Microsoft Windows中各种有效字体和字体大小的使用方法以及调整文字的方式。Windows 3.1发表的TrueType使程式写作者和使用者以灵活的方式处理文字的能力大幅增强。TrueType是轮廓字体技术,由Apple Computer公司和Microsoft公司开发,并被许多字体制造商支援。由於TrueType字体能够连续缩放,并能应转载 2005-02-23 19:41:00 · 5325 阅读 · 0 评论