![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
游戏
iteye_14888
这个作者很懒,什么都没留下…
展开
-
doom3 源代码基本情况
doom3 源代码基本情况idLib:基础库,提供容器、数学、hash视锥体等curlib:功能库,网络、加密、协议等typeinfo:基本框架game:游戏系统(gameplay这一层)、提供动画、AI、地形察觉、事件、命令、物理、脚本、角色、装备等封装(针对所有游戏)game-d3xp:针对doom3的game封装d...原创 2011-11-29 13:08:04 · 279 阅读 · 0 评论 -
cocos2dx游戏的客户端整体框架设计
cocos2dx游戏的客户端整体框架设计: 一、传统的方式 直接在每个场景中放置具体的sprite、node、effect等,之后在update中根据game State来进行update的操作,缺点是update中的逻辑异常复杂,代码很难维护 二、分布式的方式 初始化时: GameScene添加具体的layer,递归的添加每个entity;可以有个Gam...原创 2013-07-03 13:50:37 · 610 阅读 · 0 评论 -
lua 源代码解析
lua 源代码解析源代码版本:lua-5.2.0一、概览1、lua脚本中暴露的库相关lbaselib.c - 基础函数库(方便使用lua内部的功能)lbitlib.c - 位运算库lcorolib.c - 协程库lstrlib.c - 字符串库,提供通用字符串处理功能 lstring.c - 字符串表(保存所有由Lua操作的字符串集合)lmathlib.c...原创 2012-04-26 17:57:21 · 517 阅读 · 0 评论 -
lua的并发哲学
lua的并发哲学实现并发:1、多线程(本质是共享内存数据、所以要同步多线程) 2、协程(本质是单线程、需要保证不阻塞)协程的好处:1、不用线程调度所以可以更充分利用cpu、2、不处理线程同步减少bug、3、不会为了效率而故意打断逻辑上一致的代码块(所有有IO的地方后续的代码都要放在回调里), 虚拟机内部在IO函数上yield和resume,回调对用户是屏蔽的...原创 2012-04-27 13:49:35 · 272 阅读 · 0 评论 -
关于cocos2dx中的摄像机
关于cocos2dx中的摄像机1、CCCamera 默认是从前往后看(center是原点,eye的z值很小,方向是z轴),所以z值越大,越是在前面, 2、球坐标:原点是圆心,仰角theata(从z轴开始),方位角 fai,一般数学坐标系中的逆时针角 3、 CCOrbitCamera::create(float t, float radius, float deltaRadius, ...原创 2013-08-02 15:02:11 · 540 阅读 · 0 评论 -
关于cocos2dx的主循环
关于cocos2dx的主循环1、调用栈cocos2d::CCDirector::drawScene() Line 268C++cocos2d::CCDisplayLinkDirector::mainLoop() Line 1055C++cocos2d::CCApplication::run() Line 67 + 0x20 bytesC++2、drawScene主逻辑...原创 2013-08-02 15:32:59 · 173 阅读 · 0 评论 -
3D MMORPG客户端的一般架构
3D MMORPG客户端的一般架构一、前言 通常说的游戏指的是real-time interactive video game, 这里面交互性指的是玩家的操作会影响画面的显示(这是与电影、动画片等的区别),由于系统会对玩家的操作进行反馈,所以这类的游戏更真实,更吸引人,real-time 是指玩家的操作、环境的变化必须要实时的在画面上表现出来。普通PC上运行的客户端游戏是video ...原创 2012-05-16 16:58:30 · 419 阅读 · 0 评论 -
unity中的几个目录
一、androidApplication.dataPath /data/app/xxx.xxx.xxx.apkApplication.streamingAssetsPath jar:file:///data/app/xxx.xxx.xxx.apk/!/assetsApplication.persistentDataPath /data/data/...2015-07-09 11:41:14 · 224 阅读 · 0 评论 -
mangos 的执行模型
mangos 的执行模型一、线程分布:1、主线程 main---- Master::Run() ,主要功能:初始化world、创建子线程、回收资源2、WorldRunnable -------GS主线程3、CliRunnable -----后台调试线程4、RARunnable -------事件处理和分发线程5、MaNGOSsoapRunnable---协议6、Free...原创 2012-06-21 00:13:44 · 101 阅读 · 0 评论 -
网游服务端核心技术概述 一
网游服务端核心技术概述 一一、反外挂 方案:心跳、个性化脚本验证、图片验证、Apex Protect等二、脚本系统 满足策划变态的需求变更, 方案:类似lua的脚本系统三、数据安全 添加dba之类的中间层四、高并发 协程加消息队列,实际上就是尽量不让cpu等待,--------------大系统的瓶颈都是数据库五、多连接多层架构,至少...原创 2012-04-23 17:27:18 · 137 阅读 · 0 评论 -
网游客户端使用的外部库
游戏客户端是比较庞大的,一般会使用很多不同的模块,以下是某个网游客户端的头文件目录:boost : boost库及代码cxxtest : 一个自己实现的用于C++的单元测试工具dbfs : 客户端使用 dbfs 文件系统存放资源脚本等东西expat : 一个XML解析器, freeimage : 一个图像处理库freetype : 一个字体引擎,提供统一的接口来访问多种...原创 2012-04-07 11:36:44 · 133 阅读 · 0 评论 -
网游服务端技术总结 基于mangos源码 (一)
整个game server的并发模型一 概述game server至少要提供如下几类的功能 : 1、响应客户端请求-------WorldRunnable 2、后台命令 -------CliRunnable 3、分布式架构(RMI等) -------MaNGOSsoapRunnable可以看到针对这几类功能,mangos都给予了支持。二、WorldR...原创 2012-03-19 11:20:22 · 331 阅读 · 0 评论 -
网游服务端技术总结 二
GS生命期内主要的事件---------状态机的状态转换主要是基于事件一 game server状态机startupLOADCompileinitrunningshutdown二 角色状态机loginenter_worldenter_mapleave_mapleave_worldreloginlogout三 角色comma...原创 2012-03-19 15:09:30 · 118 阅读 · 0 评论 -
网游服务端技术总结 三
session管理一、world核心数据结构:环境+sessionSessionMap m_sessions;Queue m_QueuedSessions;typedef UNORDERED_MAP WeatherMap; WeatherMap m_weathers;二、WorldSession 核心数据结构 玩家+信道+...原创 2012-03-19 15:13:59 · 128 阅读 · 0 评论 -
网游服务端技术总结 四
game server内嵌的http服务如何使gs响应http的请求? 基本思路 实现简单的http server框架、具体游戏逻辑转发给内部handler来处理一 初始化 开启监听线程(协程)检查端口、设置缓冲区大小 每一个socket连过来时 1、开新协程处理(有调度开销) 2、放入共享队列中,由worker线程池共同维护(有数据同步的问题) 设置每个请求U...原创 2012-03-19 15:44:19 · 76 阅读 · 0 评论 -
browser request server端源代码解析
一、文件功能概览 1、main.js 入口,封装网络IO、GS配置、后台监控接口等 2、worldserver.js GS(一条线),维护玩家、NPC、怪物、道具、物品、地图、刷怪区、主城等, 需要玩家间交互的逻辑,以此处作为交互的接口 3、Map.js 维护整张地图数据,其中包括zone尺度、刷怪区、障碍点、常规实体、坐标与grid索引相互转换等 4、ch...原创 2012-03-29 17:50:38 · 77 阅读 · 0 评论 -
browser request client端源代码解析
browser request client端源代码解析 main.js 入口,处理html最外层界面的回调 app.js 总配置接口 game.js 游戏主逻辑继承关系:Entity---character-----player----warrior主渲染循环 game.start --------game.click初始化:main.js----i...原创 2012-04-01 18:02:47 · 92 阅读 · 0 评论 -
学术界与游戏开发相关的期刊和会议(原创)
学术界与游戏开发相关的期刊和会议(这可都是精华啊): 花了一点时间收集了一些相关的资料,算是做个准备吧,呵呵。第一部分acm经典资料:ACM Transactions on Graphics (TOG)Applied Perception in Graphics and VisualizationInternational Conference on Computer Gra...原创 2012-04-06 10:16:10 · 498 阅读 · 0 评论 -
注册回调机制
某网游服务端的注册回调机制基本概念GS:game server 主要是处理游戏逻辑和维护数据,其基本功能是响应客户端的命令。所以GS的核心模块是无限循环取消息、处理消息的过程。网游处理的核心对象是角色,而每个角色的处理逻辑是类似的,所以服务端可以编写通用的流程,分别处理不同状态、环境和属性下的角色逻辑。服务端代码核心的编程思想是注册、回调。顾名思义,这种机制包括2个过程。注册:...原创 2012-04-06 10:17:53 · 252 阅读 · 0 评论 -
unity3d中的坑和解决方案
unity3d中的坑和解决方案 unity3d是一个很牛x的引擎,当然其也有一些东西是不太好或者说不习惯的,下面列举一些:1、制作特效时,使用animation记录的位置是相对位置,如果直接放到别的节点下会出问题; 解决方法:在特效根节点的上一层加上一个transform是(0,0,0) (0,0,0)(1,1,1)的父节点,之后再使用和处理父节点2、使用NGUI制...原创 2013-02-05 14:25:13 · 446 阅读 · 0 评论