摘要: 原文作者:Jake Simpson 译者: 向海 阅读全文
posted @ 2010-02-24 10:53 Maxice 阅读(1853) 评论(0) 推荐(1) 编辑
摘要: 介绍  很多游戏都允许玩家捡取、携带、使用、买卖、丢弃、饮用,穿戴各种物品。这绝对是个庞大的系统,里面有太多需要关联的东西。在这篇文章中,会展现一个基础的物件管理系统给大家。系统构架  面对的第一个问题是如何将物品信息对应到各自的身上:比如血瓶有它的名字、外观以及属性;某些物品拥有特定属性,如数量、魔法属性、个性名字,磨损度等等,而且这些属性有可能是在稍后被添加的。  那么,我们用类cItem来表... 阅读全文
posted @ 2010-02-24 10:47 Maxice 阅读(1514) 评论(0) 推荐(0) 编辑
摘要: A Practical Implementation of a 3-D Game Engine 阅读全文
posted @ 2010-02-24 10:45 Maxice 阅读(1351) 评论(1) 推荐(0) 编辑
摘要: by Kylinx一个游戏引擎做好了,最重要的是缺什么?脚本。打个比方,游戏引擎是一部电脑,则脚本就是电脑的软件。既然脚本这么重要,那该怎样实现呢?下面我就来说说我的做法。首先理解一下消息循环一个好的游戏离不开好的消息循环。它是游戏实现很重要的一部分。下面我就来说说我的游戏《宿命传说》的做法。首先,我定义了一个全局变量extern int GameState;在游戏中定义了许多当前的游戏状态例如#... 阅读全文
posted @ 2010-02-24 10:43 Maxice 阅读(1046) 评论(0) 推荐(0) 编辑
摘要: 就像修房子一样,别管你用多贵的砖头,它只是一块砖头而已,并不是你想要的房子。砖头可以在开发的时候随时换,但是结构一旦定下来,就不好修改了。那么一个基本,却又efficient的结构究竟是什么样的呢?很简单。所有你所需要的就是引擎,无限状态机和内存池。这三个东西一点都不复杂,你可以从头开始写:首先是你的引擎类,需要些什么呢?class CEngine {public: CEngine(); ~CEn... 阅读全文
posted @ 2010-02-24 10:42 Maxice 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 注:虽然不推荐使用,了解下还是可以的. 阅读全文
posted @ 2010-02-24 10:39 Maxice 阅读(860) 评论(0) 推荐(0) 编辑
摘要: 这是GAMEGEMS中的第三章的第一部分,番的不好。你可以直接阅读原文。原本以为这是人工智能的部分,看到一半才发现只是一个简单的框架。如果你想学人工智能,这里没有,就不要浪费时间了。由于本人水平有限,其中难免会出现原则性的错误,希望指正。关键字:有限状态机、状态、输入、状态转换、输出状态当前状态一个有限状态机类在这篇文章中,我们创建了一个通用的有限状态机(FSM)的C++类。有限状态机是计算机科学... 阅读全文
posted @ 2010-02-24 10:37 Maxice 阅读(2157) 评论(0) 推荐(0) 编辑
摘要: 不想让ime显示默认的窗口,只想用它的转换和选字功能,看过拿铁游戏论坛上的一个兄弟的一些代码,修正了一些我认为的bug,加入了一组控制函数,使得程序中可以显示一些button,玩家可以不必用热键就能切换输入法、全角/半角,中/英文标点。//不知道这个能不能解决缩进的问题下载演示例子 #pragma comment ( lib, "imm32.lib" )#include <windows.h... 阅读全文
posted @ 2010-02-24 10:35 Maxice 阅读(1067) 评论(0) 推荐(0) 编辑
摘要: 在这一节中就要向大家介绍另外一个重要的部分,并且也是最头疼的部分:线程同步和数据保护。  关于线程的概念我在前面的章节中已经介绍过了,也就在这里不累赘—“重复再重复”了。有一定线程基础的人都知道,线程只要创建后就如同脱缰的野马,对于这样的一匹野马我们怎么来进行控制和处理呢?简单的说,我们没有办法进行控制。因为我们更本就没有办法知道CPU什么时候来执行他们,执行他... 阅读全文
posted @ 2010-02-24 10:28 Maxice 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 在游戏的编写中,不可避免的出现很多应用数据结构的地方,有些简单的游戏,只是由几个数据结构的组合,所以说,数据结构在游戏编程中扮演着很重要的角色。  本文主要讲述数据结构在游戏中的应用,其中包括对链表、顺序表、栈、队列、二叉树及图的介绍。读者在阅读本文以前,应对数据结构有所了解,并且熟悉C/C++语言的各种功用。好了,现在我们由链表开始吧!1、链表  在这一节中,我们将通过一个类似雷电的飞机射击游戏... 阅读全文
posted @ 2010-02-24 10:26 Maxice 阅读(2699) 评论(0) 推荐(0) 编辑
摘要: 说明:本文由kylinx本人亲自撰写,欢迎各位游戏制作同仁转载和指点,但是任何人不得在本人许可之外以任何理由篡改,模糊本文。谢谢。联系方式:game-diy@163.com 很久以来由于工作上的繁忙没有写新东西了~hoho~ 本文基于2D表现的游戏,在当今3D大行其道的时代,说2D是否显得格格不入?这个问题我不作讨论,因为本人从事的一直都是2D游戏的开发,所以如果你认为讨论2D技术是一个过时的东... 阅读全文
posted @ 2010-02-24 10:22 Maxice 阅读(1559) 评论(1) 推荐(0) 编辑
摘要: 一、斜视角地图介绍  2D斜视角地图的游戏多了去了,例如《暗黑》、《突袭》、《模拟人生》、《盟军敢死队》。这些游戏之所以采用这种视角的地图,那就是开发公司能够回答的了的问题了。  这里介绍暴雪的《魔兽争霸3》,就是类似《模拟人生2》的那种地图制作方法。  玩过看过《魔兽争霸3》的朋友问了,它不是3D地图吗?这里简单说明一下,其实我认为《魔兽争霸3》的地图就是2D的,之所以看上去像3D的效果,只是貌... 阅读全文
posted @ 2010-02-24 10:18 Maxice 阅读(2629) 评论(0) 推荐(0) 编辑
摘要: 1.1 Surfaces之封装CXSurface1、Surfaces是什么:  通俗的讲surfaces就是一个二维的矩形平面。在DX9中,与其对应的com接口为IDirect3DSurface9,LPDIRECT3DSURFACE9。2、Surfaces的作用:  作为一个矩形平面,surfaces用来在屏幕上显示平面图象,即从文件中读取图象数据呈现给用户。3、IDirect3DSurface9... 阅读全文
posted @ 2010-02-24 10:09 Maxice 阅读(657) 评论(0) 推荐(0) 编辑
摘要: 续上在这里我将要向大家简单介绍一下游戏服务器中必须要处理另外一项主要技术:  内存分配处理技术也可以称为内存池处理技术(这个比较洋气,前面通俗的好,呵呵)  开始向大家介绍一般情况下我们对于内存的一些基本操作。简单而言,内存操作就只有三个步骤:申请、使用、销毁。而对于这些操作我们在C和C++中的处理方式略有不同:在C中我们一般用malloc(….)函数来进行申请,而对应销毁已经申请的... 阅读全文
posted @ 2010-02-24 10:05 Maxice 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 续上在这里我将要向大家简单介绍一下游戏服务器中必须要处理另外一项主要技术:线程池技术  开始 我来向大家简单来介绍一下线程池的概念,先简单了解下线程先,线程可以理解为一个function , 是一个为了进行某一项任务或者处理某一项具体事务的函数。例如:UINT WINAPI FunctionCtrl(void *) //线程处理函数{ 进行某一项任务或者处理某一项具体事务 …&hel... 阅读全文
posted @ 2010-02-24 10:04 Maxice 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 续上在上面我简单的说了一下服务器完成端口处理部分,接下来我想大家介绍一下关于如何建立服务器和客户端的联系规则,也就是服务器和客户端的游戏协议部分。有不足之处希望大家和我进行交流。  首先解释一下这里协议的概念,协议大家都了解是一种通信规则,例如:TCP/IP,UDP等等,这些是我们在网络通信过程中所处理使用的协议。而我们这里的协议是我们的游戏服务器和客户端的通信规则。简而言之,也就是客户端发送到服... 阅读全文
posted @ 2010-02-24 10:03 Maxice 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 这系列文章,也许在日新月异的游戏开发行业已经有些地方值得商榷了,但却不失为较好的入门的材料. 阅读全文
posted @ 2010-02-24 10:00 Maxice 阅读(445) 评论(0) 推荐(0) 编辑