随笔分类 - 游戏编程
游戏编程
摘要:以下是一个完整的以xml组装游戏的实例:整个项目文件结构如下:1、assets/Level/common.xml 文件为pushButton引擎当中的组件组装文件,以下为该文件代码:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--<!DOCT...
阅读全文
摘要:用PBE的TemplateManager我们能够实例化3种类型的类,他们是entity,template和group。他们都可以出现在xml文件当中。当一个xml文件被加载以后,所有包含在xml文件都将之后在TemplateManager被实例化,注意:只是装载了一个对象的描述并不实际创建该对象。它必须被实例手动与TemplateManager。Entities:Entity tag 包含在xml...
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--package{importcom.pblabs.engine.PBE;importcom.pblabs.engine.entity.IEntity;importcom.pblabs.engine.e...
阅读全文
摘要:pushButton引擎让你通过组件帮助你很快的构建你的游戏。因为组件都是基于一致的接口,游戏只需要很简单的组织他们就可以了。1、为什么用组件:组件是一个更好的方法来开发游戏,他们避免从继承为基础来实现的重大问题。由组件拼凑的游戏自然更加的模块化,可扩展、可维护性更高。在PBE中鼓励这种做法。第一个用组件构建和发布的重要游戏是Dungeon Siege,“数据驱动的游戏的目标体系...
阅读全文
摘要:PushButton引擎,与以往的游戏引擎不同的是,这是一个模块化的游戏引擎,也就是说它提供了许多游戏开发中的通用组件来为开发者服务;PushButton引擎提供了包括知名物理引擎Box2D在内多多个类库,在googlecode上可以下到它的SDK,其中包括全部源码和相关文档。 Pushbutton引擎的特色有很多,包括建立游戏的模块片段,而不是整体式的应用;使用第三方类库更加容易;提供核心功能...
阅读全文
摘要:一、Connecting连接sgs客户端第一件要做的事情就是与服务器建立连接。 连接的步骤有以下:1、 创建一个SimpleClient实例你需要做的第一件事情就是实例化一个SimpleClient.SimpleClient 的构造器需要一个参数:一个 SimpleClientListener ,用于调用通信的事件。在一般基础的客户端程序中,这就相当于一个主类,它的代码的大体看起来如下所示:[代码...
阅读全文
摘要:1、sgs的AS3客户端有两个版本的alienos和sun官方的beyondo。我这里使用的是sun官方网站上的darkstar-as-client,里面的项目结构如下:相关连接:Sun公司开源游戏服务器Project Darkstar Server(SGS)-----AS3客户端技术详解(一)2、服务端代码:MainApp.java:代码Code highlighting produced by...
阅读全文
摘要:一、sgs Eclipse项目的建立1、下载最新的sgs-server-dist-0.9.11,解压后放在C:\Sun\sgs_server\0.9.11。2、在C:\Sun\sgs_server\0.9.11下建立项目文件夹webApp。3、在webApp下建立eclipse项目test014、在test01下建立lib,conf文件夹5、将C:\Sun\sgs_server\0.9.11\li...
阅读全文
摘要:The AppListener应用程序监听器 上面我们已经有了一个世界的管理对象,它由一个房间管理对象,一个剑的管理对象和一对玩家的管理对象。然而我们第一次开始这个游戏的时候,世界的管理对象并不是像这样的。实际上它和下面一样:这展示了什么,这是一个空的。怎样在玩家第一登陆的时候将管理对象存放到对象仓库中呢? 答案是通过一个特定的管理对象调用AppListener(应用程序监听器) ,在这个App...
阅读全文
摘要:Managed Objects and Managed References管理对象和管理关系 数据管理对象主要是一个持久化对象的集合,存储在一个叫做对象仓库的池中。和一个正常的Java 对象一样,每个对象都包含一个方法和其自己的数据。要成为一个管理对象,这个对象就要实现ManagedObject(管理对象的接口)和Serializable(序列化接口)。一个管理对象不会成为一个对象存储仓库池中...
阅读全文
摘要:Tasks and Managers任务和管理者: 从PDS 应用开发者的角度来说,PDS 应用执行在一个封闭的单线程的,事件驱动模型中。通过句柄传递事件实现编码对数据的修改,对于编写代码的程序员来说就好像是在修改自己的数据一样。因此,执行程序是一个平稳竞争和弱死锁的。在大多数情况下,没有必要 通过的代码,事实上,在管理数据对象是经常使用synchronized 关键字容易产生不稳定的bug。...
阅读全文
摘要:Darkstar 游戏服务器支持下列的硬件/操作系统组合: 1、 Windows XP on 32-bit processors 2、 Mac OS X 10.4.x on PowerPC or Intel processors 3、 Red Hat/Fedora Core Linux on 32-bit x86 processor 在一些平台(Windows和Linux)上。你可能需要安装或...
阅读全文
摘要:SGS 提供的主要功能 : 服务器端的扩展 : 传统的扩展方法是将整个游戏区域分成多个区 , 不同的区运行在不同的游戏服务器上 . 这带来两个问题 , 一个是处于不同区的玩家不能互相交互 , 另外一个是如果某个区发生的动作较少时 , 会出现服务器资源未被充分利用的情况 . 而在 sgs 的处理方式下 , 所有的处理被分割成为一个个小的执行单元 ( 称为 task), 这些 task 可以在组成网...
阅读全文
摘要:服务器端:red5的项目的建立与tomact非常的相似. 1、在 Red5的安装路径C:\Program Files\Red5\webapps下建立自己的项目文件夹: 2、将C:\Program Files\Red5\doc\templates\myapp下的文件夹WEB-INF复制到自己的项目中,WEB-INF里是red5主要的项目配置文件。3、 在WEB-INF下建立classes以及src文...
阅读全文
摘要:Red5是一个采用Java开发开源的Flash流媒体服务器。它支持: • 把音频(MP3)和视频(FLV)转换成播放流; • 录制客户端播放流(只支持FLV); • 共享对象; • 现场直播流发布; • 远程调用。Red5的官方网站是http://www.osflash.org、 Red5的主要功能和ADOBE公司的 FMS类似,提供基于...
阅读全文
摘要:一般的服务器都需要线程池,比如Web、FTP等服务器,不过它们一般都自己实现了线程池,比如以前介绍过的Tomcat、Resin和Jetty等,现在有了JDK5,我们就没有必要重复造车轮了,直接使用就可以,何况使用也很方便,性能也非常高。[代码]上面是一个简单的例子,使用了2个大小的线程池来处理100个线程。但有一个问题:在for循环的过程中,会等待线程池有空闲的线程,所以主线程会阻塞的。为了解决这...
阅读全文
摘要:每个Box2D程序都将从一个世界对象的创建开始。他是管理对象以及模拟的中心。[代码]创建世界对象b2World,(1)首先应当创建包围和盒对象b2AABB。他的大小是越大越好。因为当刚体碰到包围盒的边缘的时候他会停止模拟。(2)创建世界中的重力场。他是一个2维的适量b2Vec2。(3)当物体停止移动的时候,让物体停止模拟。节约资源doSleep。以上这3个的确定都是初始化world对象所必须的。到...
阅读全文