game design
文章平均质量分 75
夜雨_倚琴
这个作者很懒,什么都没留下…
展开
-
MMO游戏设计一:角色行走
假设我们目前需要做的是一款3D MMO游戏,角色行走通过上下左右键控制,方位通过鼠标滑动来控制。先憧憬一下,应该达到的要求:1. 客户端行走时,不能出现因为网络原因卡住的现象。关于这点,在玩DOTA时深有感触,网络延时300ms+的时候,明显感觉有顿卡,发起操作指令的时候,反应很慢。然后跑到野区打野还是一样的卡,体验很差。2. 客户端与服务端之间的同步包尽可能的少。带宽有限,为原创 2014-12-02 18:23:51 · 3203 阅读 · 0 评论 -
MMO游戏设计三:架构设计
首先要说明,这里谈的架构,并不是说游戏服务器由哪些功能服务器搭建而成,而是想重点谈谈一个好的游戏架构,应该具备哪些特质。原创 2016-03-07 19:53:09 · 3355 阅读 · 0 评论 -
MMO游戏设计二:面向服务的设计
什么是面向服务的设计,其实自己也没整明白。总之,为了解决一下的几个问题。1. 游戏服务器运行过程中,由于某个玩家的操作引起服务器CPU过高,导致其它玩家有非常明显的顿卡。2. 某个模块引起的宕机,整个服务器需要停服维护。解决的方法是,为每一个服务建立一个线程,每个玩家也对应于独立的线程,每个独立的服务之间通过消息进行通讯,而服务的内部接口则是直接的函数调用。原创 2015-01-23 16:11:42 · 1039 阅读 · 0 评论 -
3D游戏中的数学基础
一般的3D游戏都包括有摄像头,投影,粒子特效,动画特效,光照等技术,这里的技术大多涉及到坐标系的变换,本文就主要应用的数学知识作一个归纳总结。0. 为什么要有转换(transform)所谓的3D游戏并不是真实的3D游戏,其实质是将真实世界中的3D投影(projection)到2D屏幕,在投影到视网膜,被人类所感知。将3D对象投射到2D,就需要用到transform。1.原创 2017-03-27 12:12:48 · 1786 阅读 · 0 评论 -
Lua源码解析之二:parser
Lua中的parser目录Lua中的parser目录前言extended BNFparse function1 function name2 function body3 end and code closure1. 前言上一章介绍了Lua的词法分析,本章论述lua语法分析,但是纵观lua源代码,发现语法分析和词法分析区分得并不明显,本章本着抽丝剥茧的精神强行分析一波parser。原创 2017-08-07 22:40:47 · 6131 阅读 · 1 评论 -
Lua源码解析之一:lexical
我们知道,任何高级一点的编译器,在解析源代码时,都需要进行词法分析。而词法分析的过程就是先识别token的一个过程,总体来说,lua里面的token大致分为:1. 数字和字符串2. 特殊字符:包括运算符和括号3. 关键词对于每一类token lua都有唯一的id与之对应,此id用int来表示,对于第2种类型,直接用该字符的ASCII码来表示,对于1,3两类,则定义一组枚举,为了与第原创 2016-03-26 19:44:14 · 3752 阅读 · 0 评论 -
Lua源码解析之三:code
前言何为CODE?本章重点讲解各语句的code是如何生成的。原创 2017-08-15 12:01:10 · 2183 阅读 · 0 评论 -
diaox框架概述
前言设计一款轻量级的游戏服务器框架diaox,需要考虑的点有:网络IO性能游戏逻辑处理的性能访问数据库mysql, memcached的性能如何保证游戏开发设计足够简洁单进程下,支持的同时在线人数上限1. 网络IO性能linux内核已经支持REUSE_PORT socket选项,假定我们有N个CPU核,这样可以创建N个socket共同监听一个端口,创建N个线程分别对N个sock...原创 2019-03-25 13:03:37 · 995 阅读 · 0 评论 -
多人在线网络游戏的同步算法一 基础篇
0 基本问题1在一款单机游戏中,玩家只需和本地游戏里面的元素(如AI,NPC等)进行实时交互即可;2而在多人在线网络游戏中,玩家还需要同同样联网的其他玩家进行互动,玩家在本地看到的其他玩家,本质上,都是其他玩家的镜像。我们知道,其他玩家的行为,通过网络传输过来,是有延时的。这个真实世界不一样,你在真实世界里看到一个人作出某个动作,从一个人做出动作到被你看到,这个时间是可以忽略不计的(光速)...原创 2019-03-18 23:01:27 · 7427 阅读 · 1 评论