- 浏览: 23703 次
- 性别:
- 来自: 重庆
最新评论
文章列表
epoll用到的所有函数都是在头文件sys/epoll.h中声明的,下面简要说明所用到的数据结构和函数:
所用到的数据结构
typedef union epoll_data
{
void *ptr;
int fd;
__uint32_t u32;
__uint64_t u64;
} epoll_data_t;
struct epoll_event
{
__uint32_t events; /* Epoll events */
...
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:
#define __FD_SETSIZE 1024
表示select最多同时监听1024个fd,当然,可以通过修改头文件再重编译内核来扩大这个数目,但这似乎并不治本。
epoll的接口非常简单,一共就三个函数:
1.int ...
Name: Subclipse 1.6.x (Eclipse 3.2+) URL: http://subclipse.tigris.org/update_1.6.x Name: Subclipse 1.4.x (Eclipse 3.2+) URL: http://subclipse.tigris.org/update_1.4.x Name: Subclipse 1.2.x (Eclipse 3.2+) URL: http://subc ...
最近一直在思考MMORPG的任务系统的设计。以下是需要达到的几个设计目标:
1. 任务逻辑与程序逻辑完全脱离;
2. 服务器端程序和客户端程序提供有限的功能之后,可以由脚本程序员完成任务编写;
3. 必须方便任务的更新。
当然,任务系统的具体实现受策划案的影响很大,我这里只是空想的一个一般的实现方案:
<场景编辑>:
场景数据文件和任务相关的主要是NPC和调查触发器(例如调查一个石碑)。当玩家与NPC谈话,或者调查某个物品时,需要开启某个特定的任务。某个对象可以开启哪些任务,以及开启任务的条件需要事先编辑到场景数据文件中。任务条件也可以写入任务脚本 ...
目录
引言:………………………………………………………………………………………………………… 1
绪论:
² 什么是游戏平衡? …………………………………………………………………………. 1
² ...
——★单播★——
单播(Unicast)
单播(Unicast)是在网络中从源地到目的地转发单播通信的过程。单播通信是去往一个独特的地址的。在这种情况下,仅有一个发送者,和一个接受者。这个术语对多播存在对照区别,在一单个发送者和一组被选择的接收者之间的通信,和无限传播,在任何发送者和一组接近在一个网络中的发送者的接收者之间的通信。一个早期的术语,点对点通信,在意义上与单播相似。
网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单播”,此时信息的接收和传递只在两个节点之间进行
单播:一对一
单播在网络中得到了广泛的应用,网络上绝大部分的 ...
角色扮演游戏中敌人AI(人工智能)的设计方法一
角色扮演游戏,Role Play Game(RPG),它总的来说包括三大类:动作类(即时)角色扮演;回合制角色扮演游戏;战棋类角色扮演。这三类游戏在遭遇敌人时,就是一场战斗要展 ...
角色扮演游戏(RPG)是深受广大游戏迷们喜爱的一种游戏, 它以独特的互动性和故事性吸引了无数的玩家。它向人们提供了超出现实生活的广阔的虚拟世界,使人们能够尝试扮演不同的角色,去经历和体验各种不同的人生旅程或奇幻经历。这些体验都是在现实生活中无法实现的。在玩过许多游戏后,许多玩家都不再仅仅满足于一个游戏玩家的身份,而会思考游戏是如何制作的,并且打算制作一个自己的游戏,网上的各种游戏制作小组更是如雨后春笋般涌现。下面我就给大家介绍一下角色扮演游戏引擎的原理与制作,希望能对游戏制作爱好者有所帮助。
一 游戏引擎的原理
说到引擎,游戏迷们都很熟悉。游戏引擎是一个为运行某一类游戏的机器设计的能 ...
在游戏中, 如果只有玩家操控的角色在游戏世界里孤单的产生一系列行为, 而没有其他任何可以和玩家角色形成交互活动、产生事件的话, 玩家会觉得非常索然无味。此时如果在游戏中加入一些有一定功能和智能的人物和怪物, 使 ...
《XX游戏》AI设计文档
一.本文简述
1. 游戏介绍
《XX游戏》是前段时间和朋友一起练笔写的一个横版过关单机游戏,仅共同写了游戏设计文档,游戏内容是将传统的勇者斗恶龙模式,放到现代社会中,某恶霸抓走男主角女 ...
自从看完PIL之后,就暂时没有时间做更多的尝试,也因此没有弄明白如何将AI脚本,剧情脚本之类的嵌入到C++的硬编码中。最近看了一些AI的文章,并思考了一下,得到以下认识。
首先要说的是,并不是说AI,剧情逻辑必须非脚本语言不可,用C++也可以写,甚至更习惯一些。但是脚本语言有脚本语言的长处,动态类型以及相当人性化的数据构造方式,特别是LUA中的表类型,似乎比较擅长描述这种复杂的AI/剧情结构。当然,为了验证自己的想法,我也写了4K的LUA代码,结果觉得该脚本语言相当不容易构造简洁的内容。
AI从高自低的分别是计划,状态机,模式。我不知道这种划分是基于何种角度,但是我个人的理解是状态机最高,模 ...
在用Lua写AI脚本这一块,这是我从网上找到的唯一一篇文章,而且写的非常好,读后受宜菲浅!让我少走很多弯路。但文章源出处找不到了,在这里对这篇文章的作者表示非常的感谢!
LUA实现角色AI的新方法
怪物AI只需要提供3种条件集:
1. 无目标的条件集
2. 有目标的条件集
3. 无论是有目标还是无目标, 都必须检测的条件集. 或者叫做定时器条件集.
假设目前我们为游戏提供如下类型的怪物表现: [来自ai_define.lua]
--ai类型 : 废材型 表现为被打也不还手, 继续随机走动
ai_useless = { no_target = as_idle, has ...
RedFox在JavaEye正式开博啦,欢迎和各位同行进行技术性交流
Gtalk:redfox163@gmail.com