游戏开发
juanzi
这个作者很懒,什么都没留下…
展开
-
一个手机游戏服务器的架构
原文:http://www.youxijishu.com/blogs/19.html 说起来游戏服务器的开发,是一个非常宏大的命题。到如今谁也说不清楚服务器到底是一个什么。无非就是游戏逻辑计算,数据存储,高并发之类的话题。服务器架构更是众说纷纷,其根源在于,没有放之四海而皆准的架构。每个公司的游戏类型不同,服务器架构也就不同。新手,可以根据别人的架构获学习和认识一般的游戏服务器都转载 2015-05-01 20:25:08 · 1285 阅读 · 0 评论 -
游戏交互设计中的114条原则
1.游戏中的交互界面设计不是凭空猜测。要符合用户习惯。 2.用户界面应该基于用户的心里模型,而不是基于实现模型。 3.目标导向的交互反映了用户的心理模型。 4.用户不理解布尔逻辑。他们不管为什么,只要结果。 5.不要全盘复制机械时代产品的用户界面,而一定要按照信息时代的客观情况进行改良。 6.重大变革必须是非常好的改变。 7.没有人愿意停转载 2015-08-08 23:23:33 · 1156 阅读 · 0 评论 -
游戏品质无法较大提升? 试试从这几个数据提高玩家留存率
“游戏品质无法做出较大提升”应该指的是画面无法改进且无法增加较复杂的玩法或系统。 如果理解没错的话,可执行的建议如下: 3秒留存 玩家打开游戏后一看画面不喜欢,直接退出就删。所以你可能会发现后台数据里有很多基本没怎么玩就流失的玩家,如果不是登录、引导等方面出了严重的问题,那么可以肯定这部分流失是因为画面导致的,没救。 次日留存 首先确保新手流程完全通畅转载 2015-07-25 22:20:20 · 541 阅读 · 0 评论 -
游戏中MyBatis的动态SQL语句写法
MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。MyBatis中用于实现动态SQL的元素主要有:123456ifchoose(when,otherwise)trimwheresetforeach转载 2015-06-22 19:04:37 · 591 阅读 · 0 评论 -
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 · 908 阅读 · 0 评论 -
自己写Java NIO服务器实例
我一直想学习如何用Java写一个非阻塞IO服务器,但无法从网上找到一个满足要求的服务器。我找到了这个示例,但仍然没能解决我的问题。还可以选择Apache MINA框架。但我的要求相对简单,MINA对我来说还稍微有点复杂。所以在MINA和一些教程(参见这篇和这篇)的帮助下,我自己写了一个非阻塞IO服务器。我的代码可以从这里下载。这只是个示例代码,如果需要可以随意修改它。这个示例由一个抽象转载 2015-06-22 18:55:29 · 605 阅读 · 0 评论 -
读取文件或超大文件的几种方式
在游戏服务器的开发过程中,有很多地方需要读取文件,比如:服务器配置文件,日志文件。有的文件小,有的文件大。针对这些操作,我们需要采取不同的策略。直接上代码package com.test; import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.F转载 2015-06-22 18:41:13 · 641 阅读 · 0 评论 -
查看Linux游戏服务器运行性能
在游戏服务器运行的过程中,可能会出现任何我们想不到的问题。最常见的就是cpu或内存莫名的占用很高。这个时候我们就需要追踪引起这个问题的原因。Linux自带的一些命令可以很好的帮助我们解决问题。一,查看Linux上游戏服务器运行情况 有时候我们需要了解游戏服务器的运行情况,CPU的占用率是一个非常重要的参考指标。在Linux上,我们可以使用top命令,显示当前Linux系统的一转载 2015-06-22 19:00:44 · 484 阅读 · 0 评论 -
游戏上线前需要注意的一些技术问题
在开发环境下,由于对各种资源的使用不多,我们在调试或运行的时候也不会出现问题,而在正式环境下,由于用户量比较大,资源占用较多,会出现很多意外的问题。比如连接数大,TCP连接不上,数据库连接被占完等。下面把我遇到的问题总结一下,希望对遇到类似问题的朋友有所帮助。一,Linux最大连接数的限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,转载 2015-06-22 18:33:53 · 519 阅读 · 0 评论 -
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 阅读 · 0 评论 -
游戏中缓存的设计(二)--内存缓存的实现
一般游戏中的缓存架构为:内存—分布式缓存(redis,memcache)。这里的内存缓存需要我们自己实现。一,缓存需要考虑的几个问题1,缓存的总大小2,达到缓存最大值时的删除策略3,缓存的过期处理,防止冗余的数据占用过多的内存。二,详细实现1,缓存的总大小 因为内存的大小是有限的,所以缓存的数量必须有一最大值,当缓存达到这个最大值时,必须考虑转载 2015-05-15 20:32:02 · 1857 阅读 · 0 评论 -
游戏主程序亲述游戏职场生涯
作为游戏开发中不可缺少的一个环节,游戏程序人员一直作为幕后英雄存在。大家对程序员都不陌生,那么做游戏程序员和其他的软件程序员有什么样的区别呢?要从事游戏程序的开发需要从业者具备什么样的素质呢?本期,我们邀请到巨人网络《龙魂》游戏主程序周昌贵,让他带领我们去感受游戏程序员的酸甜苦辣。职场明星:周昌贵 年龄:28岁 从业经历:2005年毕业于四川大学计算机学院计转载 2015-05-01 20:20:21 · 791 阅读 · 0 评论 -
游戏行业的人工智能设计(二):路径搜寻和感知
在上一篇文章(第一部分)中,我们讨论了如何管理智能代理可能作出的基本决策——因为人工智能 (AI) 研究涉及到使用人工智能的实体。 在本文中,我为游戏男主角(或怪物或任何类型的游戏实体)作出的决策提供了一些背景。 智能代理需要确定游戏领域的兴趣点,然后明确如何达到目标。 最后,本文还将介绍如何优化这些方法并提供管理它们的方法,以说明多线程。 本文非常接近真正的人工智能 (AI)。 所有智转载 2015-08-08 23:18:49 · 884 阅读 · 0 评论