自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

转载 游戏交互设计中的114条原则

1.游戏中的交互界面设计不是凭空猜测。要符合用户习惯。  2.用户界面应该基于用户的心里模型,而不是基于实现模型。  3.目标导向的交互反映了用户的心理模型。  4.用户不理解布尔逻辑。他们不管为什么,只要结果。  5.不要全盘复制机械时代产品的用户界面,而一定要按照信息时代的客观情况进行改良。  6.重大变革必须是非常好的改变。  7.没有人愿意停

2015-08-08 23:23:33 1172

转载 游戏行业的人工智能设计(二):路径搜寻和感知

在上一篇文章(第一部分)中,我们讨论了如何管理智能代理可能作出的基本决策——因为人工智能 (AI) 研究涉及到使用人工智能的实体。 在本文中,我为游戏男主角(或怪物或任何类型的游戏实体)作出的决策提供了一些背景。 智能代理需要确定游戏领域的兴趣点,然后明确如何达到目标。 最后,本文还将介绍如何优化这些方法并提供管理它们的方法,以说明多线程。  本文非常接近真正的人工智能 (AI)。 所有智

2015-08-08 23:18:49 886

转载 游戏品质无法较大提升? 试试从这几个数据提高玩家留存率

“游戏品质无法做出较大提升”应该指的是画面无法改进且无法增加较复杂的玩法或系统。    如果理解没错的话,可执行的建议如下:  3秒留存  玩家打开游戏后一看画面不喜欢,直接退出就删。所以你可能会发现后台数据里有很多基本没怎么玩就流失的玩家,如果不是登录、引导等方面出了严重的问题,那么可以肯定这部分流失是因为画面导致的,没救。  次日留存  首先确保新手流程完全通畅

2015-07-25 22:20:20 542

转载 游戏中MyBatis的动态SQL语句写法

MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。MyBatis中用于实现动态SQL的元素主要有:123456ifchoose(when,otherwise)trimwheresetforeach

2015-06-22 19:04:37 591

转载 查看Linux游戏服务器运行性能

在游戏服务器运行的过程中,可能会出现任何我们想不到的问题。最常见的就是cpu或内存莫名的占用很高。这个时候我们就需要追踪引起这个问题的原因。Linux自带的一些命令可以很好的帮助我们解决问题。一,查看Linux上游戏服务器运行情况    有时候我们需要了解游戏服务器的运行情况,CPU的占用率是一个非常重要的参考指标。在Linux上,我们可以使用top命令,显示当前Linux系统的一

2015-06-22 19:00:44 491

转载 自己写Java NIO服务器实例

我一直想学习如何用Java写一个非阻塞IO服务器,但无法从网上找到一个满足要求的服务器。我找到了这个示例,但仍然没能解决我的问题。还可以选择Apache MINA框架。但我的要求相对简单,MINA对我来说还稍微有点复杂。所以在MINA和一些教程(参见这篇和这篇)的帮助下,我自己写了一个非阻塞IO服务器。我的代码可以从这里下载。这只是个示例代码,如果需要可以随意修改它。这个示例由一个抽象

2015-06-22 18:55:29 607

转载 Tomcat并发优化,提高处理性能

一,修改tomcat的启动参数    打开linux的tomcat bin中的catalina.sh文件,在文件的头部添加:1JAVA_OPTS="$JAVA_OPTS -server -Xmx4g -Xms4g -Xmn1500m -XX:PermSize=512m -XX:MaxPermSize=1204m  -XX:+UseParNewGC

2015-06-22 18:51:51 909

转载 读取文件或超大文件的几种方式

在游戏服务器的开发过程中,有很多地方需要读取文件,比如:服务器配置文件,日志文件。有的文件小,有的文件大。针对这些操作,我们需要采取不同的策略。直接上代码package com.test; import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.F

2015-06-22 18:41:13 652

转载 游戏上线前需要注意的一些技术问题

在开发环境下,由于对各种资源的使用不多,我们在调试或运行的时候也不会出现问题,而在正式环境下,由于用户量比较大,资源占用较多,会出现很多意外的问题。比如连接数大,TCP连接不上,数据库连接被占完等。下面把我遇到的问题总结一下,希望对遇到类似问题的朋友有所帮助。一,Linux最大连接数的限制  在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,

2015-06-22 18:33:53 520

转载 Redis在游戏开发中的应用

原文:http://www.youxijishu.com/blogs/3.htmlRedis是一个新兴的NoSql数据缓存组件,与memcache类似,但是功能却比memcache多一些。首先,Redis和memcache都是基于内存的,所以读取和写入速度都非常快。但是memcache只支持简单的key-value数据的存储方式,而Redis对key-value ,hash,list,se

2015-05-16 09:28:26 527

转载 游戏中缓存的设计(二)--内存缓存的实现

一般游戏中的缓存架构为:内存—分布式缓存(redis,memcache)。这里的内存缓存需要我们自己实现。一,缓存需要考虑的几个问题1,缓存的总大小2,达到缓存最大值时的删除策略3,缓存的过期处理,防止冗余的数据占用过多的内存。二,详细实现1,缓存的总大小 因为内存的大小是有限的,所以缓存的数量必须有一最大值,当缓存达到这个最大值时,必须考虑

2015-05-15 20:32:02 1864

转载 一个手机游戏服务器的架构

原文:http://www.youxijishu.com/blogs/19.html  说起来游戏服务器的开发,是一个非常宏大的命题。到如今谁也说不清楚服务器到底是一个什么。无非就是游戏逻辑计算,数据存储,高并发之类的话题。服务器架构更是众说纷纷,其根源在于,没有放之四海而皆准的架构。每个公司的游戏类型不同,服务器架构也就不同。新手,可以根据别人的架构获学习和认识一般的游戏服务器都

2015-05-01 20:25:08 1286

转载 游戏主程序亲述游戏职场生涯

作为游戏开发中不可缺少的一个环节,游戏程序人员一直作为幕后英雄存在。大家对程序员都不陌生,那么做游戏程序员和其他的软件程序员有什么样的区别呢?要从事游戏程序的开发需要从业者具备什么样的素质呢?本期,我们邀请到巨人网络《龙魂》游戏主程序周昌贵,让他带领我们去感受游戏程序员的酸甜苦辣。职场明星:周昌贵  年龄:28岁  从业经历:2005年毕业于四川大学计算机学院计

2015-05-01 20:20:21 794

转载 游戏服务器开发需要学习的技术

原文:http://www.youxijishu.com/blogs/4.html一,游戏服务器编程语言的选择  所谓的游戏服务器编程语言其实有很多,基本上任何一种语言都可以作为游戏服务器的编程语言。这需要根据自己游戏的类型和要求加以选择。比如C++,Java ,Erlang,go等等。目前我用过的只有C++和Java.但是以Java为主。所以接下来就以自己的经验,谈谈以Java为

2015-05-01 20:19:27 1756

转载 Linux系统下安装rz/sz命令及使用说明

1.软件安装(1)编译安装root 账号登陆后,依次执行以下命令:1cd /tmp2wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz3tar zxvf lrzsz-0.12.20.tar.gz &&

2015-04-28 20:42:11 1019

转载 Linux安装jdk7 rpm

原文:http://www.youxijishu.com/blogs/24.html1,下载JDK(http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)2, 上传到linux,执行: rpm -ivh jdk-7u79-linux-x64.rpm 

2015-04-28 20:39:54 593

转载 Linux安装Redis2.8.3

原文:http://www.youxijishu.com/blogs/25.html在Linux下安装Redis非常简单,具体步骤如下(官网有说明):     1、下载源码,解压缩后编译源码。$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz$ tar xzf redis-2.8.3.tar.gz$ cd r

2015-04-28 20:35:48 404

转载 Linux安装MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar

一,下载mysql:http://dev.mysql.com/downloads/mysql/;打开页面之后,在Select Platform:下选择linux Generic,如果没有出现Linux的选项,请换一个浏览器试试。我用的谷歌版本不可以,换一个别的浏览器就行了,如果还是不行,需要换一个翻墙的浏览器。二,下载完后解压缩并放到安装文件夹下:12

2015-04-28 20:32:29 6893

转载 游戏服务器JVM调优(Java)

JVM的堆的内存, 是通过下面面两个参数控制的 :  -Xms 最小堆的大小, 也就是当你的虚拟机启动后, 就会分配这么大的堆内存给你   -Xmx 是最大堆的大小 当最小堆占满后,会尝试进行GC,如果GC之后还不能得到足够的内存(GC未必会收集到所有当前可用内存),分配新的对象,那么就会扩展堆,如果-Xmx设置的太小,扩展堆就会失败,导致OutOfMemoryError错误提示。实际

2015-04-28 20:27:58 763

转载 一种高性能网络游戏服务器架构设计

给大家推荐一个网站:给大家推荐一个网站:http://blog.csdn.net/youxijishu/article/details/44938751网络游戏的结构分为客户端与服务器端,客户端采用2D绘制引擎或者3D绘制引擎绘制游戏世界的实时画面,服务器端则负责响应所有客户端的连接请求和游戏逻辑处理,并控制所有客户端的游戏画面绘制。客户端与服务器通过网络数据包交互完成每一步游戏逻辑,

2015-04-28 20:25:23 731

转载 Netty游戏前后台通信协议分析

给大家推荐一个网站:http://blog.csdn.net/youxijishu/article/details/44938751通信协议分析一,Socket传输方式         TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为

2015-04-18 23:05:35 2255

转载 游戏服务器中的日志处理方式之一

在游戏开发的过程中,我们需要记录一些日志,以便以后了解游戏运行的情况,以及根据日志发现并处理游戏中的突发情况。一,游戏日志可以分为以下几种:1) 系统日志2)     用户操作日志3)     异常日志,即错误日志系统日志     系统日志一般描述的是服务器日常运行的状态。比如启动是否成功,每天统计一下内存的占用量,CPU的使用量等信息。用于查检服务器运

2015-04-18 22:56:08 1228

转载 不要总想避免锁,正确认识使用锁:Lock和synchronized

给大家推荐一个网站:游戏开发网:http://www.youxijishu.com,微信订阅号:youxijishu.每天推送一篇技术文章。多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线

2015-04-16 21:57:58 482

转载 游戏Socket编程需要知道的几个要点

1,建立SocketSocket socket = new Socket(); try{     socket.connect(SocketAddress endpoint,int timeout); }catch(SocketTimeOutException e){       ... do with timeOut...  }catch(Ot

2015-04-11 17:25:02 537

转载 Java 并发与线程池应用

摘要:Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。并发编程的一种编程方式是把任务拆分为一些列的小任务,即Runnable,然后在提交给一个Executor执行,以提高逻辑处理的速度。

2015-04-01 18:04:46 346

转载 几种任务调试的java实现方法与比较

摘要:在游戏开中有一些任务调试需要程序实现处理,任务调度是指基于给定时间点,或给定时间间隔或者给定执行次数自动执行任务。本文由浅入深介绍三种任务调度的 Java 实现     在游戏开中有一些任务调试需要程序实现处理,任务调度是指基于给定时间点,或给定时间间隔或者给定执行次数自动执行任务。本文由浅入深介绍三种任务调度的 Java 实现: • Timer •

2015-03-31 22:53:12 829

转载 使用ThreadMXBean类来编程检测死锁

摘要:所谓死锁: 是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。那么在写java程序的时候,死锁是否要检测到呢,答案是肯定的。  所谓死锁: 是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻

2015-03-31 22:49:09 1415

转载 Java线程中yield与join方法的区别

摘要:Java多线程一直是一个很热点的问题,它的敏感性在于它的复杂性和两面性,用的好事半功倍,用的不好,则事倍功半。在Java的多线程应用中,理解其中的关键方法是非常重要的。  在各种各样的线程中,Java虚拟机必须实现一个有优先权的、基于优先级的调度程序。这意味着Java程序中的每一个线程被分配到一定的优先权,使用定义好的范围内的一个正整数表示。优先级可以被开发者改变。即使线

2015-03-25 22:59:50 643

毕业设计样例

毕业设计样例压缩包,里面有详细的介绍,过程

2013-03-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除