自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 环型内存的实现。

有两个线程,一个在读一个BUF,另一个在写这个BUF。最开始的做法是这样的:定义一个尾指针,每次写的时候都往尾指针里面写,读的时候就从头读,读完之后把剩下没读完的重新拷贝到头,并修改尾指针。考虑到每次读的时候都需要使用到内存拷贝(memcpy),于是想了办法,用环型内存来处理。需要两个指针,一个叫小偷(thief_ptr),另一个叫警察(police_ptr),其中小偷扮演写的角色,警

2004-09-25 14:38:00 1857 8

原创 游戏的基础结构。

就像修房子一样,别管你用多贵的砖头,它只是一块砖头而已,并不是你想要的房子。砖头可以在开发的时候随时换,但是结构一旦定下来,就不好修改了。 那么一个基本,却又efficient的结构究竟是什么样的呢?很简单。所有你所需要的就是引擎,无限状态机和内存池。这三个东西一点都不复杂,你可以从头开始写:首先是你的引擎类,需要些什么呢?class CEngine {public:    CEngine

2004-09-25 14:34:00 1852 5

原创 游戏开发之策划入门课

针对目前国内大部分策划在设计游戏时的“经验主义”作风,希望本文能够让大家 对如何正确看待游戏设计中出现的各种问题有比较科学一些的了解。 首先,我们把网络游戏定义为一个网络虚拟的世界(Net-VEs),那么我们来设计这 样一个世界需要注意些什么呢?因当让玩家沉浸在这样一个世界里面,积极的响应 来自这个世界的各种信息,也就是常说的那种身临其境的感觉。 接下来先来看看网络虚拟世界所应该具备的五种要素:

2004-09-21 13:21:00 1237

原创 基于规则系统的人工智能在游戏中的应用

首先介绍一下RBS(Rule Based System)。从字面上很容易看出,这是指基于规则的系统,和神经元网络不同,这是人工智能的另一个分支。该系统用来解决问题的方法是基于如下形式的一个过程:其中当前状态作为输入,兰色区域为人工智能处理的过程,输出为事件,同时事件本身又会影响着状态的变化。这篇文章讲着重讲解关于匹配和结果过滤的算法理论和具体的C/C++实现。 要做匹配,首先就应该确定匹配的格式,

2004-09-21 12:17:00 3584 4

原创 最近打算写个轻量级的Binary RPC库。

上网转了圈,发现大部分的RPC都是基于XML配合WEB来实现的。感觉这种模式冗余太重,对于某些对效率要求比较高的分布式系统来说,并不适用。于是想着写一个简单的Binary RPC库,基于C/C++的。主要是针对网络游戏的服务器端而设计的,是基于固定的服务对象的RPC服务设计,所以不用担心传输安全方面的问题,采用TCP保持连接的C/S模式。在客户端调用RPC方面,将采用开线程执行完并呼叫

2004-09-09 10:18:00 2098 1

原创 让脚本引擎支持动态链接库。

大家是不是总是郁闷,要在脚本中访问数据库,就又要重新编译一次脚本引擎,写一堆的接口来来让脚本可以访问数据库,或者又碰到要在脚本中访问网络,又要重新编译一次脚本引擎,写一堆的接口。每增加一次新东西,都需要重新修改脚本引擎,是不是很麻烦呢? 其实有个简单的方法,直接让你的脚本引擎支持动态链接库即可。 首先,我们知道,访问动态链接库有两种方法,一种是在连接的时候指定,另外一种则是在运行中指定。为了能让脚

2004-09-09 10:03:00 1716 1

原创 社会学和游戏制作的关系。

回想起当年我玩各种网络游戏的时候,一进游戏,什么都没有,眼前看着一堆穿着金光闪闪的漂亮装备的人跑来跑去,看到有人在不停的刷屏叫买叫卖的打着各种广告,有一种和现实社会截然不同的感觉,实打实的觉得自己在这个虚拟社会里面是个新手。虽然游戏都设置有密语等功能,但是这些对于新手来说,几乎是多余的,一开始总是一个人在孤单的打低级的怪物,这个时候的同伴只可能有两种人,一种是和你一样的新手,另外一种,则是练小号的

2004-09-09 09:55:00 1795 1

原创 谈谈网络游戏中的互动。。

组队系统需要什么?帮会系统又需要什么? 加个聊天频道,弄个链表保存一下就叫组队啦? 先看看队伍的定义:共同的,统一的时间,空间,目标。 没有哪个玩家会觉得你打你的怪,我做我的任务这样组队在一起比较有意义吧。 当然,当他们只是想利用组队进行交流的话,这个到无所谓。 但是经常就会有些玩家,由于不明白对方的意愿,而不知道该不该和他组队。 那么如何来改进这个组队系统呢?有些网络游戏做得比较好,就是提供了征

2004-09-09 09:52:00 1500

原创 网络游戏中的网络编程

谈谈网络游戏中的“网络”编程????近段时间总是有不少人问我关于完成端口模型的一些资料,很多时候其实我很郁闷,为什么大家会选择使用完成端口呢?或者说很多时候他们竟为了使用完成端口,而使用WINDOWS作为网络游戏服务器平台,还一开口罗列出一堆使用WINDOWS平台的网络游戏案例。有些兄弟跟我一直争论“Windows?2003?Server很猛的,效率很高的”,这句话的正确性暂且不讨论,先说Wind

2004-09-09 09:49:00 3841 1

原创 防外挂系列

可能有点长,大家耐心点看完,呵呵。《老子看不惯外挂系列 之 彻底粉碎钩子型外挂》现在大部分的主流外挂,包括按键精灵,自动做一些动作之类的外挂。 都是通过HOOK进游戏窗口,并且用不同的HOOK类型来完成的,比如对于 网络,通常是通过HOOK消息,把DLL弄到我们的游戏程序中,然后通过 GetProcAddress得到DLL中它们卑劣的函数的地址和真实的函数地址, 然后通过WriteProc

2004-09-09 09:43:00 4013 6

原创 再谈网络游戏同步

呵呵,一年前的这个时候发过一系列讨论网络游戏同步的帖子。一年后的今天,再重新讨论讨论这个问题。。。不知道大家是否碰到过这种情况,当某个玩家发出一个火球,这个火球有自己的运动轨迹,那么如何来判断火球是否打中了人呢?大部分情况,当策划提出这个要求的时候,一般会被程序否认,原因是:太麻烦了,呵呵。复杂点的还有包括两个火球相撞之类的事情发生。那么网络游戏中,是否真的无法模拟实现这种模拟呢?首先

2004-09-09 08:36:00 2110

原创 网络游戏同步

小谈网络游戏同步   同步在网络游戏中是非常重要的,它保证了每个玩家在屏幕上看到的东西大体是一样的。其实呢,解决同步问题的最简单的方法就是把每个玩家的动作都向其他玩家广播一遍,这里其实就存在两个问题:1,向哪些玩家广播,广播哪些消息。2,如果网络延迟怎么办。事实上呢,第一个问题是个非常简单的问题,不过之所以我提出这个问题来,是提醒大家在设计自己的消息结构的时候,需要

2004-09-09 08:35:00 2617 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除