摘要: 在Erlang运行时中,提供了几种机制来实现与其它程序或者语言的通信。一种为分布式Erlang,一种为端口,其中端口分为普通端口和链入式驱动端口,还有后面引入的NIFs。分布式Erlang:一个Erlang运行时可以看作一个分布式Erlang Node,并通过名字访问它。一个Erlang Node可以连接和监视其他的Node,甚至在其他Node上面创建Process。消息传递和异常捕获在不同的Node之间是透明的,其分布式通信在底层上是使用的Tcp/Ip,并且现有库中有大量模块可以用于操作Node,比如global就提供了全局Node名字注册的机制。分布式Erlang主要用于Erlang与Er 阅读全文
posted @ 2013-11-12 12:06 PbLite 阅读(2600) 评论(0) 推荐(0) 编辑
摘要: 最近在使用erlang做游戏服务器,而字符串在服务器编程中的地位是十分重要的,于是便想仔细研究下字符编码,以及erlang下的字符串处理。先从Unicode开始吧....【Unicode】Unicode标准确定世界绝大部分的字符编码值(code point),而对于code point的编码方式有很多种,这些编码方式称为UTF。我们需要区分开Unicode字符与Unicode编码,Unicode字符指的是Unicode标准中定义的编码值,这个值代表世界上独一无二的一个字符,而Unicode编码则是这些值在计算机中的表达方式,比如UTF-8就是Unicode的一种编码。这里我们主要谈论下Unic 阅读全文
posted @ 2013-10-14 10:21 PbLite 阅读(2034) 评论(0) 推荐(0) 编辑
摘要: 移动平台下,不同设备的宽高比不同,那么必然存在与游戏设计时的宽高比不一致的情况,Corona的解决方案是定义了一个虚拟的屏幕高宽,比如1024*768,然后在不同设备上通过定义的适应模式去调整这个虚拟屏幕。这样写代码时大多数情况下只需要考虑sprite在虚拟屏幕上的位置和大小就可以了,链接:http://www.coronalabs.com/blog/2010/11/20/content-scaling-made-easy/适应的模式有3种letterbox这种模式不会由于宽高不匹配,而拉伸或者剪裁屏幕。它类似于在4:3的老电视上面播放宽屏幕电影的效果。当然这样会由于宽高不匹配而留下黑边,Co 阅读全文
posted @ 2013-10-12 09:53 PbLite 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 最近研究下2D 下parallax effect 的效果实现。parallax effect基本可以总结为远处的物体移动慢,近处的物体移动快。就像我们坐火车时一样,近处的树移动速度给人眼的感觉总比远处的山快。 在2D下由于没有深度,所以只能通过模拟来实现这个效果。基本实现原理是将屏幕分层,不同层的移动速度不一样。这样做了,然后将各个层的速度调好,基本上效果就出来了。 我们考虑下更复杂的情况。如果屏幕分了不同的主题,不同主题包含的元素不一样,元素之间有parallax effect,并且在移动一段距离后,主题之间会过渡切换。这样一来,就必须要求同一主题下的不同层要在同一个位置下结束,因为在那个. 阅读全文
posted @ 2013-03-20 11:18 PbLite 阅读(298) 评论(0) 推荐(1) 编辑
摘要: 年后替换了Ogre的主要渲染流程,一直没有机会梳理,如今都已经有一些淡忘了.当时想替换它的渲染流程有两个 原因,第一是美术对实时灯光的需求越来越大,包括是场景,特效都会有实时灯光的需求,而以前的是前向渲染,对 灯光复杂度高的场景支持不好(灯光数,场景复杂度与灯光复杂度成几何倍数关系).第二是Ogre的通用性带来了很 多效率上的浪费,比如说pass的设置会有大量的不必要判断,rs切换浪费.于是我将他替换为后向渲染来支持灯光 复杂度,将渲染物件分类来达到rs切换的不浪费,并且将renderable的组织方式由stl容器组合变成了renderable 内部串联的list方式. 在修改的过程中有... 阅读全文
posted @ 2012-05-11 13:25 PbLite 阅读(260) 评论(0) 推荐(1) 编辑