04
2013
08

翻出一个高二写的游戏

QQ截图20130804001928.jpg

哈哈哈哈!翻到个屌炸了天的东西!还自带地图编辑器有木有?!尼玛在软件里留学校班级是多么洋气的行为!

31
2013
07

JAVA中如何等待所有子线程处理完毕

多线程开发中,经常会遇到某个操作需要等待其它线程处理完毕才能执行。比如主线程要等若干个数据库提交线程处理完毕后关闭数据库连接,如果用join会让线程变成顺序执行,失去了多线程的意义,如果用计数来标记逻辑上又混乱,这里介绍JAVA提供的一个多线程同步工具类:

java.util.concurrent.CountDownLatch
 

CountDownLatch使用很简单,在构造的时候指定线程的数量标记,每当一个子线程run()执行完毕以后调用一次其countDown()方法来标记一个线程执行结束。在主线程中通过await()方法来完成与其它线程的同步。

29
2013
07

Eclipse下如何用libgdx开发html5

Libgdx如何安装配置这里不再阐述。官方对如何开发调试HTML5几乎没什么介绍,网上资料也较少,这里简单讲解一下如何配置环境。

首先创建libgdx工程时可以用其提供的创建工具建立包含HTML5的工程,但是导入html5的工程文件会无法识别,这是因为缺少Google plugin和Google Web Toolkit,去这里下载www.gwtproject.org/download.html,Google plugin仅安装Google Plugin for eclipse即可。

28
2013
07

2D光照引擎BOX2D LIGHTS

这个屌炸天的框架可以让你的BOX2D物理游戏拥有炫酷的效果,并且同BOX2D一样非常容易使用。

项目地址:https://code.google.com/p/box2dlights/

image


目前这个项目是基于libgdx开发的,不过作者也表示它可以很容易地移植到其它框架或者原生的openGL中去。通过我的实践来看,确实搭配libgdx使用起来更加方便。

这里还有一个老外做的教学视频,教你如何在libgdx里创建光效(记得挂代理):

http://www.youtube.com/watch?v=O1zW2XETuXA


24
2013
07

RoboVM迎来0.0.3

   昨天在RoboVM博客得知其发布了0.0.3版。这次最大的改变就是以JNI形式内嵌了llvm,并且只需要安装RoboVM的eclipse插件即可完成配置(http://download.robovm.org/eclipse/)。相比之前要安装llvm、RoboVM以及eclipse插件的繁琐步骤,现在不仅将配置RoboVM变成一键完成,还提升了项目40%的编译速度。

   另外作者最近曾发布过RoboVM进行openGL开发,以及运行javaFX示例、libgdx示例的文章,从结果来看,虽然有些不完美,但总体适配情况令人满意。libgdx作者也发表过类似文章肯定了libgdx在RoboVM上的运行效果,并多次表示将加强与RoboVM的合作。

   虽然RoboVM还仅停留在0.0.3版,离正式商用尚有一段距离,但从目前的情况来看,它已经具备一定的实用性,只是很多细节还需要处理,相信在作者的努力下,不久的将来JAVA一定能在IOS上大放异彩。


22
2013
07

我们这代人的浮躁

   网上一些社会热点相关的微博和论坛总是骂成一团,体现了一个乌烟瘴气的互联网,而我们又是当前互联网的主力军,所以充分体现了我们这代人的浮躁,举几个例子:


   凡是小贩和城管的照片,配上几行字就一定是城管不好。其实有些小贩占道经营,满地垃圾,我都巴不得去打他一顿……无论是非对错,总得弄清楚情况再下定论,大家还没辨清是非就一股脑去偏袒一方,那就算被偏袒的人是错的,也成了对的。长此下去,岂不是凡是自命弱势群体的,都可以撒泼妄为了?

21
2013
07

Ubuntu下如何安装oracle jdk

我使用的是Ubuntu12.04 LTS,关于如何安装配置JDK网上五花八门,有效的没几个,下面以最新的JDK1.7.0_25为例,根据我的实际操作简单说明步骤。

首先去oracle下载JDK的linux版,如jdk-7u25-linux-x64.tar.gz,解压后获得jdk1.7.0_25文件夹。

ctrl+alt+t打开终端,

1)sudo su获得root权限

2)创建一个文件夹用于保存jdk,如:mkdir /usr/lib/jvm

21
2013
07

Dota2的mac os版发布喽!

今天valve同时发布了dota2的mac版和linux版,以后可以在osx和ubuntu下打dota2啦!

image

19
2013
07

开发手游服务端,网络连接框架的选择

   JAVA有很多优秀的网络连接框架。Mina、Netty、Gretty、Xsocket都是不错的高性能连接框架,如果做网络游戏服务器该如何选取呢?我简单凭我的了解和使用经验介绍一下,错误之处欢迎指正。

   Apache Mina,以高性能和高扩展性著称,应用广泛。它是基于NIO的TCP/UDP框架,支持各种协议,并且能很容易的整合spring等WEB框架,可以说功能很强大,扩展性很强,较偏向于web应用方面。Mina使用起来需要了解一些通信协议以及NIO的知识,不易入门,好在网上资料很全。

12
2013
07

游戏服务器中,内存数据库的用途

大家都知道游戏服务器需要做数据库连接池和cache。但是有一些特殊的数据检索,从cache中检索实现起来非常麻烦。

比如某个游戏有积分榜,这个积分榜客户端会以各种条件去请求,比如前100名哪些是我们工会的,哪些是好友,哪些是首轮注册的玩家等等……

这些条件用SQL语句很好实现,但是时事检索数据库会带来很大的开销。内存数据库非常适合这种数据量小,写入操作少,高并发的需求。在上述的例子中,服务器可以定期检索前n条排行数据放在内存数据库中,当客户端请求时,不用麻烦地根据条件查找cache,直接将SQL语句提交给内存数据库即可,省时实力、高性能还具备良好的维护性、扩展性。