a算法:初识A*算法

   写这篇文章初衷是应个网友要求当然我也发现现在有关人工智能中文站点实在太少我在这里抛砖引玉希望大家都来热心参和   还是说正题我先拿A*算法开刀是A*在游戏中有它很典型使用方法是人工智能在游戏中代表   A*算法在人工智能中是种典型启发式搜索算法为了说清楚A*算法我看还是先说说何谓启发式算法 、何谓启发式搜索算法   在说它的前先提提状态空间搜索状态空间搜索如果按专业点说法就是将问题求解过程表... [阅读全文]

搜寻者:A* 搜寻法

首先要先说下是 A*搜寻法是是种最佳化搜寻思路方法既此搜寻法所找到路径成本总是最小也就是说从起点到终点路径是最短. 首先我先介绍两个概念: 1.最佳优先搜寻法 ( Best-First-Search ) 命名为 \" 最佳优先搜寻法 \" 是个令人可敬称呼,但其实有点名过其实 , 毕竟,假如我们每次都可得知哪个点是最好下点 ,那就不用搜寻了. 在这个主题中,... [阅读全文]

findingnemo:即时战略游戏中寻径(Path-finding)算法的原理及实现技术

  前几年我在学校上学时经常和同学在宿舍里网络对战“红色警报”玩多了也直在探索象“红色警报”这类即时战略游戏背后隐藏编程奥秘最近找到段空闲时间终于把以前想法付诸实施用VC写了个即时战略游戏雏形(执行在附件中采用了本文介绍算法)在此把即时战略游戏中寻径(Path-finding)算法原理及实现技术写给大家  想象下当你兴致勃勃地坐在电脑前正指挥着屏幕上千军万马... [阅读全文]

提拔将领:即时战略游戏将领指挥AI方案设想

C&C巨大成功标志着即时战略游戏正式崛起而到了今年即时战略游戏无疑已占据了游戏主导位置然而C&C及RA巨大成功并不能掩盖其人工智能低劣而近期推出大量即时战略新作虽然很多在人工智能上都有定突破但离玩家要求往往相差甚远其结果使即时战略游戏在单人作战时总难以摆脱苦守再屠杀固定模式从而大大降低了游戏可玩性 人工智能发展到现在实际上水平还是相当低下但对于即时战略游戏来... [阅读全文]

最短路径算法:A* 算法求解最短路径

  在介绍 A* 算法前,先提下广度优先搜索,广度优先搜索就是每次将当前状态可能发展策略逐层展开,比如个地图中,对象允许向 4个方向移动, 那么,就将地点处,对象向上下左右各移动步, 将 4个状态都保存在内存中, 然后再从这 4个出发点向各自 4个方向再移动步... (当然这里可以剔除不合理移动思路方法,比如不准向回移动) 实际上, 整个搜索好似个... [阅读全文]

人工智能

人工智能简称AI是指用计算机来模拟人思维和行动应用计算机或家庭游戏机游戏中就会使玩家感到他所面对敌人是同现实中样拥有智能当然这也是游戏编程中极具挑战性问题的因此本章内容仅仅是针对AI并不涉及设计章中所提到其他问题 把AI单独设为章另个理由就是应该对单人游戏引起足够重视随着多人游戏 不断发展许多玩家担心制作者把大量时间财力和精力花费在如何协调游戏对多人游戏 对... [阅读全文]

多元化的即时战略AI

有关如今即时战略AI实在不想多说如今没有几个不是通过电脑作弊 而完成看似高AI即时游戏电脑和其操作是体所以自然速度 要快但是如此就是对玩家不公平 完成个高AI就需要赋予电脑在区别情况下研究能力研究越严密 仿真程度就越高而其研究过程就是分步判断敌我双方状态 举个地形AI例子: 我们把整个地图根据地形分成若干个区域分别以区别字母来标记如 地图中央有块易守高地(攻10防10移3)设区域为AA西北方 3 ... [阅读全文]

高级碰撞检测技术 第一部分

高级碰撞检测技术 第部分Advanced Collision Detection Techniques这文章原载于Gamasutra共有 3部分我想将它翻译请大家指教http://www.gamasutra.com/features/20000330/bobic_01.htmhttp://www.gamasutra.com/features/20000330... [阅读全文]

飞行射击游戏:飞行射击游戏中的碰撞检测

在游戏中物体碰撞是经常发生怎样检测物体碰撞是个很关键技术问题在RPG游戏中般都将场景分为许多矩形单元碰撞问题被大大简化了只要判断精灵所在单元是不是有其它东西就可以了而在飞行射击游戏(包括象荒野大镖客这样射击游戏)中碰撞却是最关键技术如果不能很好解决会影响玩游戏者兴趣飞行射击游戏说白了就是碰撞游戏——躲避敌人子弹或飞机同时用自己子弹去碰撞敌人  碰撞这很简单嘛... [阅读全文]

slg游戏:SLG游戏的路径寻找

  SLG游戏类游戏可谓“棋盘式游戏”如 3国志2、4、5机器人大战梦幻模拟战等都是典型SLG游戏该游戏大特点就是:走格子移动攻击范围都是以格子为攻击单位其实SLG游戏特点远不止这些在这里实现个给出MP(移动力)寻找可达路径先看看我们要达到效果:点击放大\" width=160 border=1 在该地图中画黄色框为得到移动范围浅绿色为草地对NPC MP影响为1深绿色为树林对MP影响为2;灰色为山... [阅读全文]

随机数生成器:精美的随机数生成器程序

/////////////////////////////////////////////////////////////////////////////// ELEMENT GDI/DX Game Engine [Version 2002/3/1]///////////////////////////////////////////////////... [阅读全文]

寻路算法: 4种寻路算法并比较

好久没搞这些东西了...想了十分钟才勉强回忆起来...写了 3个钟头...好累啊... 4种算法是DFS,BFS,Heuristic DFS, Heuristic BFS (A*)用了两张障碍表张是典型迷宫:char Block[SY][SX]={{1,1,1,1,1,1,1,1,1,1,1 },{1,0,1,0,1,0,0,0,0,0,1 },{1,0,1... [阅读全文]

游戏引擎:游戏引擎剖析( 8)

原文作者:Jake Simpson 译者: 向海 Email: [email protected] 第8部份: 脚本系统 脚本系统    我们从第 7部分游戏网络问题来到了脚本系统其呈现故事叙述机会最近已经形成种很大游戏元素在个需要以受控制方式解释情景预先编制电影脚本是解决问题思路方法在电影中这通常用来处理或者由主角向个伙伴解释情形或者敌人对英... [阅读全文]

游戏引擎:游戏引擎剖析(十)

原文作者:Jake Simpson 译者: 向海 Email: [email protected] 第10部分: 人工智能和导航(路径发现) 人工智能(AI)    我们上面已经用了其他 9个章节介绍了游戏引擎现在让我们深入到非常有趣和重要人工智能主题人工智能如今正在变成被谈论得最多仅次于游戏引擎渲染能力游戏开发领域的确实如此直到大约两年半以前... [阅读全文]

游戏引擎:游戏引擎剖析( 9)

原文作者:Jake Simpson 译者: 向海 Email: [email protected] 第9部分: 现成产品和定做游戏引擎设计工具游戏特定主题 现成产品和定做设计工具    我们从第8部份脚本引擎来到这章节中许多主题我们认为那些铁杆游戏玩家和有志成为游戏开发者那些人将会发现它们相当有趣我们将开始讨论现成产品和定制设计工具    ... [阅读全文]

网络游戏制作:网络游戏制作技术( 5)

  最近自己主持项目出现些问题太忙了所以好久都没有继续写东西和大家进行探讨制作开发部分了在这节中就要向大家介绍另外个重要部分并且也是最头疼部分:线程同步和数据保护   有关线程概念我在前面章节中已经介绍过了也就在这里不累赘—“重复再重复”了有定线程基础人都知道线程只要创建后就如同脱缰野马对于这样匹野马我们如何来进行控制和处理呢?简单说我们没有办法进行控制我们... [阅读全文]

模拟飞行:介绍飞行模拟游戏的制作思路方法

  对许多读者朋友而言,玩游戏是件令人愉快事情,但是能因此而想到要去亲手制作个游戏-----甚至是大型游戏朋友可能就不是很多了,其中原因,说来也简单,除了些通常理由(如喜欢游戏并不等于喜欢制作游戏)而外,技术繁杂和制作条件上诸多硬性限制是造成这种状况主要原因,正是这点将许许多多游戏设计制作爱好者阻隔在游戏设计制作大门的外;然而其实这限制并非不可逾越,些优秀游... [阅读全文]

定时器设计:定时器的设计和实现

开始想学习DX编程时个朋友介绍了这个网站WebSite平时在里面也学习了不少内容自己经常听同事说起定时器而自己第次使用时所设计个定时器是问题多多经过些整理总结和研究设计了个新定时器拿出来和大家共享也免了总是拿来而不付出:}定时器是个应该来说游戏最基本常用功能它易用和否直接影响了开发效率;功能完备和否直接导致实现难易;性能好坏直接影响到了游戏运行表现那么如何实... [阅读全文]

通用编程器:游戏引擎中的通用编程技术(一)

  你是否正在考虑构建个游戏引擎呢?你对如何构建个游戏引擎是否已经有了个明确计划呢?你是否已经对如何组织游戏引擎各个模块的间关系有了个通盘考虑?如果没有那么本文将对你建立个良好游戏架构提出些有益方案如果你已经对上面问题有了个明确答案那么本文不是你需要阅读内容本文目是给那些没有任何建立完整游戏引擎经验人提供些入门性知识使他们初步了解下如何来构建个游戏引擎构建游... [阅读全文]

网络游戏制作:网络游戏制作技术( 2)

   续上在上面我简单说了下服务器完成端口处理部分接下来我想大家介绍下有关如何建立服务器和客户端联系规则也就是服务器和客户端游戏协议部分有不足的处希望大家和我进行交流   首先解释下这里协议概念协议大家都了解是种通信规则例如:TCP/IPUDP等等这些是我们在网络通信过程中所处理使用协议而我们这里协议是我们游戏服务器和客户端通信规则简而言的也就是客户端发送到服务器数据包和服务器发送数据包双方解释规... [阅读全文]

网络游戏制作:网络游戏制作技术( 3)

   续上在这里我将要向大家简单介绍下游戏服务器中必须要处理另外项主要技术:线程池技术   开始 我来向大家简单来介绍下线程池概念先简单了解下线程先线程可以理解为个function , 是个为了进行某项任务或者处理某项具体事务例如:UINT WINAPI FunctionCtrl(void *) //线程处理{进行某项任务或者处理某项具体事务…………. EXITFUNCTION_CODE; //退... [阅读全文]

网络游戏制作:网络游戏制作技术( 4)

   续上在这里我将要向大家简单介绍下游戏服务器中必须要处理另外项主要技术:   内存分配处理技术也可以称为内存池处理技术(这个比较洋气前面通俗好呵呵)   开始向大家介绍般情况下我们对于内存些基本操作简单而言内存操作就只有 3个步骤:申请、使用、销毁而对于这些操作我们在C和C中处理方式略有区别:在C中我们般用malloc(….)来进行申请而对应销毁已经申请... [阅读全文]

网络游戏制作:网络游戏制作技术(一)

  当今网络游戏在中国大陆已经在大范围蔓延暂且不论这样种趋势会带来什么样游戏产业趋势这里只就网络游戏制作和大家进行交流同时将自己制作经验写处理希望为中国游戏业发展做出点点贡献网络游戏开发从某种意义上来看最重要应该在于游戏服务器端设计和制作对于服务器端制作将分为以下几个模块进行:1.网络通信模块2.协议模块3.线程池模块4.内存管理模块5.游戏规则处理模块6.... [阅读全文]

网络游戏服务器编程:浅谈网络游戏的设计——服务器端编程(2)

  非常感谢大家对上篇文章支持在大家支持下我决定推出浅谈网络游戏开发(2)这篇文章  首先再次强调下网络游戏开发极为困难技术含量相当高其编程知识涉及网络编程操作系统进程、线程编程图形图像编程(DirectX / OpenGL)WIN32 API编程(Windows下开发)以及各种算法和数据结构同时对设计人员策划能力要求也颇高如不能构思出个吸引玩家游戏世界也必... [阅读全文]

潜艇大战 游戏的制作

prefix = o /做个小巧而又好玩游戏是每个软件Software爱好者梦想当然我们不可能下子做出像仙剑和星际争霸这样游戏这些游戏开发需要非常专业知识也需要大量人力及物力目前主流游戏开发环境是Visual C和Directx技术开发要涉及到许多算法如:A*算法(寻找路径)等主要技术还有Alpha光影以及人工智能技术对于初学者来说这些技术都不是在短时间内... [阅读全文]

网络游戏结构:游戏结构

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

java事件机制:游戏框架设计Ⅰ—— 游戏中的事件机制

  事件机制在很多高级设计语言中都有支持譬如VB、C#(delegate)、CBuilder(并不属于C范畴CBuilder中事件处理器必须用关键字closure闭包修饰)等等甚至在HTML中也可以见到它身影事件机制引入使软件Software系统变得更加易于理解——它使种语言(平台)更加接近于这个世界真相事情发展变得像现实世界中那样顺理成章某事件产生引发了系... [阅读全文]

有限状态机:游戏中的有限状态机(InGems)

这是GAMEGEMS中第 3章第部分番不好你可以直接阅读原文原本以为这是人工智能部分看到半才发现只是个简单框架如果你想学人工智能这里没有就不要浪费时间了由于本人水平有限其中难免会出现原则性希望指正关键字:有限状态机、状态、输入、状态转换、输出状态当前状态个有限状态机类在这篇文章中我们创建了个通用有限状态机(FSM)C类有限状态机是计算机科学和数学理论抽象它在... [阅读全文]

网络游戏服务器编程:浅谈网络游戏的设计——服务器端编程(1)

  本游戏服务器端操作系统采用UNIXUNIX是标准服务器操作系统可保证网络游戏稳定性因此以下所有编程都将针对UNIX进行  服务器端整体构架如下:通讯模块消息传递模块游戏规则模块线程管理模块游戏世界管理模块  通讯模块:  通讯模块主要实现和客户端通讯功能实际上通讯模块就是对套结字Socket封装Socket是UNIX下网络通讯基础对于个Socket我们可... [阅读全文]

directx开发:使用C++和Directx开发GUI( 3)

欢迎回到\"使用C和DX开发GUI\"第 3部分.(这里是第部分和第 2部分).接着我们主题(描述我如何为我未来游戏构建GUI),本文将探讨建造GUI所需些通用Control控件.我们将详细描述几种区别Control控件形式,包括按钮,列表框,文本框等等.这节并不像其他章节那样有很多代码--这主要是我们员对于GUI外观是很挑剔.我们喜欢把我们按钮,文本框和GUI... [阅读全文]
< 1 2 3 4 5 6 7 8 9 10 11 > 共325条 分11页