
设计
博文视点
IT出版旗舰品牌,由电子工业出版社计算机分社以专业化力量打造。以开发IT类图书选题为主业,散播专业知识,善待作者,尊重读者,诚邀天下技术精英加盟。
展开
-
“李刚畅谈Java编程人生”讲座
讲座主题:李刚畅谈Java编程人生时间:2012年9月23日13:30-16:00地点:中关村图书大厦五层多功能厅主讲人:李刚讲座内容:1、 主要内容: 疯狂的本质是享受像编程一样生活,人生更快乐程序员职业生涯总结、展望享受探索,享受创业享受编程,享受生活。2、读者自由提问及交流互动3、抽奖4、签售《疯狂Java讲义(第2版)》《轻量级Java EE企业应用实战(第原创 2012-09-18 16:49:57 · 3066 阅读 · 0 评论 -
Netty高可靠性设计:优化建议
尽管Netty的可靠性已经做得非常出色,但是在生产实践中还是发现了一些待优化点,本小节将进行简单说明。希望后续的版本中可以解决,当然用户也可以根据自己的实际需要决定自行优化。1 发送队列容量上限控制 Netty的NIO消息发送队列ChannelOutboundBuffer并没有容量上限控制,它会随着消息的积压自动扩展,直到达到0x7fffffff。如果网络对方处理速度比较慢,原创 2015-06-03 13:36:07 · 3317 阅读 · 0 评论 -
Netty未来展望
作为《Netty权威指南(第2版)》的结尾章节,和读者朋友们一起展望下Netty的未来。1 应用范围随着大数据、互联网和云计算的发展,传统的垂直架构逐渐将被分布式、弹性伸缩的新架构替代。系统只要分布式部署,就存在多个节点之间通信的问题,由于是内部通信,同时强调高可扩展性和高性能,因此往往会选择高性能的通信方式,利用Netty +二进制编解码承载这些内部私有协议,已经逐渐成为业界主流原创 2015-06-04 10:37:53 · 1491 阅读 · 0 评论 -
游戏设计情境探秘之声音
我们借助声音来和玩家沟通,突出游戏中的重要交互。金属“叮”的声响能够告诉玩家他的武器对金属是无效的。一段旋律可以告知玩家刚刚触碰到的硬币是有价值的。声音和视频是完全不同的方式,它可以辅助玩家理解视觉信息、澄清视觉歧义,当然也可能带来困扰。1. 重点型声音杰夫·名特(Jeff Minter)的游戏《航天长颈鹿》(Space Giraffe,2007 年)通过视觉信息(互相融合、扭曲原创 2015-06-26 09:19:46 · 2373 阅读 · 0 评论 -
为什么要读这本书
不知道你有没有注意到,电子游戏的世界正经历着一些变化,它们正改变着我们制作游戏的方式,玩游戏的方式,以及游戏对于我们的意义。这本书的两位作者都是新一代游戏创作者中的一员,他们面临的情形是玩家已经将电子游戏视为复杂的当代文化的组成部分。对安娜(Anna)和娜奥米(Naomi)来讲,电子游戏并不仅仅是提供娱乐和幻想的家用电器,它有着更深刻的含义:它冲破了人类社会这部巨大机器原有的秩序,让人们在其中重新原创 2015-06-09 11:40:12 · 1941 阅读 · 0 评论 -
游戏设计情境探秘之动画
动作可以用来塑造角色、宾语和规则。《蜘蛛女皇》中手持盾牌的奴隶比其他角色移动更慢,但只能从背面或侧面被攻击到,玩家需要为之做更多的准备。因此他与其他奴隶的运动有显著区别,游戏中其他大多数奴隶都在自己面前挥舞着武器,手持盾牌的奴隶则是缓慢机械地前进(见图4.10)。它一直握着自己的盾牌,提醒玩家它是不能被直接击破的。图4.10 盾牌奴隶的行走动画玩家很清楚,那些活的运动的物体是重原创 2015-06-30 11:38:51 · 3487 阅读 · 0 评论 -
游戏设计创造对话探秘之迭代
当我第一次开始为《淘金者》制作关卡时,我凭直觉发现和使用了一个优化游戏中对话的方法,这也是在游戏界被使用最为普遍的技术之一:我让一个人玩这个游戏,然后在此基础上修改,然后再让他玩。游戏需要玩家,也正因为日后我们接触不到真正的玩家,我们才更需要在开发时让玩家来玩,了解他们的体验。游戏测试和迭代,也就是基于玩家的反馈不断更改游戏的过程,这是许多作者创作的基石。毕竟,很少有作曲家能够在自己听不到声音的情原创 2015-07-02 10:04:07 · 2469 阅读 · 1 评论 -
游戏情境设计案例精选
我是《尼特的故事这款游戏的作者,也是玩家。在与许多玩家持续几年的交流中我留意到许多业余作者常犯的错误。许多错误是源于设计(如场景太过生硬,设立一些出乎意料的宾语行为)或是技术性的(设置坡度过大以致主人公朱尼无法完成)。但也有一个关于沟通的错误:场景的外观或场景之间的衔接无法给玩家一个明确的预期。《尼特的故事》的地面可以是任何东西:作者可以导入自己的图片到编辑器中,也可以设置墙、地面和天花板或其原创 2015-07-10 15:04:22 · 3147 阅读 · 1 评论 -
游戏设计要素探秘之术语的呼唤
小时候,我觉得游戏创作是一件神秘的事情。我无法想象一个人要如何创作游戏,也不懂如何开始。通过创建游戏设计的真正术语,我们不仅可以让现有游戏创作者的条理更加清晰,也能给新手一个设计要则表,帮助他们开始思考和规划游戏设计。我们实际上提供了一个供新老游戏创作者沟通设计思想的工具,让所有游戏创作者能够相互沟通、共同提高。虽然游戏创作者能够从真实的设计案例中获益良多,但不只是他们,游戏评论家和记者也可从原创 2015-06-15 13:32:16 · 2216 阅读 · 0 评论 -
游戏设计阻力探秘之扩展空间
那些想要创造“流”的体验的游戏都要通过挑战难度增加来增进玩家技能(通常包括某一个动作的发展),以吸引玩家持续玩下去。让我们换一个方式来看待阻力:扩大或者缩小玩家的选择空间。在《入墓》这类游戏中,主要的阻力来源是降落的天花板。玩家需要立即找到行动方法才能生存下来,而随着玩家对动作不同使用方式的掌握,游戏难度也增加了。安娜的游戏《火星基地》一开始似乎与《入墓》有相似的主题:玩家都通过一系列的隧道和原创 2015-06-26 09:33:47 · 1901 阅读 · 0 评论 -
游戏动词和宾语设计案例精选
在写这本书的同时,我正在和洛伦·施密特(Loren Schmidt)一起开发一个游戏。在这个游戏中,玩家控制一群奴隶矿工,从外星星球中的洞穴里为神秘的外星领主采集珍贵的晶矿。我们现在才开始设计关卡,即玩家将探索洞穴该怎么布置。至今为止,大多数时间我们都花在了设计动词和选择可以强化动词的宾语上。玩家用镭制成的炸弹挖掘晶矿。他只能携带有限数量的炸弹进入每一个洞穴,不过可以从洞穴中得到更多的炸弹。按原创 2015-06-26 09:43:09 · 2018 阅读 · 0 评论 -
游戏场景设计案例精选
现在我们来讨论一下如何将游戏场景从概念转变为现实。示例场景来自于我2010 年开发的游戏《火星基地》的。游戏的主角汉娜(Hannah),由于宇宙飞船的宝石燃料耗尽而降落在火星。汉娜必须在这个文明的废墟中找到替代的宝石以逃离困境——废墟的文明只是没有了生命,其电力供应是存在的:电网还滋滋作响、机器人也在不停巡逻。基本动词(primary):汉娜能够在地面或者半空中左右“移动”,能够跳到自己身高的原创 2015-06-26 09:46:00 · 4868 阅读 · 0 评论 -
大屏时代的生态变迁,看平板手机的拇指热键与界面布局
曾几何时,无数大大小小的触屏设备仿佛泄闸的洪水一般涌入这个世界。面对突如其来的生态变迁,界面设计师们别无选择,只有在急流当中奋力学习游泳,才能让自己不至于被洪潮所吞没。本文带你了解如何面向平板手机的拇指热键与界面布局,为这种转变提供助力。 本文选自《触类旁通:多终端时代的触屏界面设计》。原创 2017-05-11 09:52:56 · 3802 阅读 · 1 评论 -
Netty的并发编程实践5:不要依赖线程优先级
当有多个线程同时运行的时候,由线程调度器来决定哪些线程运行、哪些等待以及线程切换的时间点,由于各个操作系统的线程调度器实现大相径庭,因此,依赖JDK自带的线程优先级来设置线程优先级策略的方法是错误和非平台可移植的。所以,在任何情况下,程序都不能依赖JDK自带的线程优先级来保证执行顺序、比例和策略。Netty中默认的线程工厂实现类,开放了包含设置线程优先级字段的构造函数。这是个错误的决定,对于使原创 2015-06-02 09:25:00 · 2031 阅读 · 0 评论 -
Windows 8,为应用和触摸重塑的Windows
Windows 8使用了全新的 UI对Windows进行了重新塑造,让新的Windows更适应于当前最流行的指尖触摸操作。Windows 8将可以运行在众多设备诸如平板电脑、可触屏笔记本电脑、安装有可触摸屏幕的台式机上,同时Windows 8基于应用商店的模式进行运作,这对开发者来说意味着前所未有的机遇,出色的 Windows 商店应用将接受全球各地数百万用户的品评。应用为王Windows原创 2012-12-20 14:34:14 · 1352 阅读 · 0 评论 -
移动设计
移动设计(淘宝移动应用先驱团队,数年交互设计经验和盘托出,全新解读移动设备用户体验!)傅小贞胡甲超郑元拢著ISBN 978-7-121-20486-92013年7月出版定价:69.00元340页16开编辑推荐 淘宝移动设计专家潜心力作,倾情分享数年交互设计经验。 作者结合大量实际项目案例,从特征、原则、框架、细节、动效、适配、创新、工具几个角原创 2013-08-02 10:33:57 · 1884 阅读 · 0 评论 -
移动应用中的流设计
作为应用的设计者,我们常常以应用自身的逻辑为线索进行设计,一头沉浸在页面与原型的制作中。 而大部分的应用在使用过程中,用户的目光和触摸是与应用共舞的主要参与者,如人-机-环中用户的输入输出,以视觉输入、触摸输出为主要的交互通道。为了提升用户在感知层面的体验,我们可以顺着用户的目光出发,关注用户在界面中注意力焦点转移的过程,同时循着用户手指的痕迹来发现用户直接操作的轨迹,以此设计我们的应用。这里将提出一个流系统的框架,并讲述如何在这个框架中提升用户的感知体验。原创 2013-08-15 13:17:30 · 1784 阅读 · 0 评论 -
优秀设计师是如何炼成的,看搜狐如何做设计
优秀设计师是如何炼成的,看搜狐如何做设计 《设计之下》终于上市了,回忆一下整个成书的过程,不得不佩服作者,从最开始的干净利落,到最终的细节的调整,作为编辑我对他们的认识逐渐加深,也慢慢了解了优秀设计师是如何炼成的。 这本书源于2012年12月份的UPA,机缘巧合认识了搜狐新闻客户端UED团队的小盼,聊起想做那么一本教大家如何做设计的实战书,她表示他们的团队可以考虑做这样一本书,也觉原创 2014-02-21 13:19:47 · 1897 阅读 · 0 评论 -
前瞻设计:创新型战略推动可持续变革(全彩)
前瞻设计:创新型战略推动可持续变革(全彩)宣传语:全彩精装。乔布斯最敬仰的设计大师,苹果御用30年的设计师,全球工业设计教父、青蛙设计创始人艾斯林格揭秘产品成功背后的奥秘!作者:【美】哈特穆特· 艾斯林格(HartmutEsslinger)著 ISBN: 978-7-121-21731-9出版时间:2014年1月出版定价:119.00元 页数:308页开本:原创 2014-02-19 14:20:05 · 2251 阅读 · 0 评论 -
为什么选择Netty作为基础通信框架?
在开始之前,我先讲一个亲身经历的故事:曾经有两个项目组同时用到了NIO编程技术,一个项目组选择自己开发NIO服务端,直接使用JDK原生的API,结果两个多月过去了,他们的NIO服务端始终无法稳定,问题频出。由于NIO通信是它们的核心组件之一,因此项目的进度受到了严重的影响。另一个项目组直接使用Netty作为NIO服务端,业务的定制开发工作量非常小,测试表明,功能和性能都完全达标,项目组几乎没有在N原创 2015-05-27 09:33:17 · 10288 阅读 · 0 评论 -
Netty的并发编程实践1:正确使用锁
很多刚接触多线程编程的开发者,虽然意识到了并发访问可变变量需要加锁,但是对于锁的范围、加锁的时机和锁的协同缺乏认识,往往会导致出现一些问题。下面笔者就结合Netty的代码来讲解下这方面的知识。打开ForkJoinTask,我们学习一些多线程同步和协作方面的技巧。首先是当条件不满足时阻塞某个任务,直到条件满足后再继续执行,代码如图21-4所示。重点看框线中的代码,首先通过循环检测的方式对状态原创 2015-05-27 09:35:22 · 2127 阅读 · 0 评论 -
Netty的并发编程实践2:volatile的正确使用
长久以来大家对于volatile如何正确使用有很多的争议,既便是一些经验丰富的Java设计师,对于volatile和多线程编程的认识仍然存在误区。其实,volatile的使用非常简单,只要理解了Java的内存模型和多线程编程的基础知识,正确使用volatile是不存在任何问题的。下面我们结合Netty的源码,对volatile的正确使用进行说明。打开NioEventLoop的代码,我们来看控制原创 2015-05-28 13:43:22 · 2325 阅读 · 2 评论 -
游戏设计规则探秘之提高动词的健壮性
我们希望我们创造的动词得到尽可能的发展,使它们成为丰富、立体的角色。这不仅意味着让动词在游戏中更多地和其他规则互动,也意味着针对每一次互动,玩家都希望有一个适当的回应。动词是规则,让玩家学会游戏的其余规则。如果玩家用某种方式触发了动词却没有得到任何反馈,玩家就什么也没有学到,无论是动词本身还是游戏的规则。我们需要健壮的、可以和玩家沟通的动词,哪怕只是说“不,你不能这样做。”这样的看似负面的消息和告原创 2015-06-17 16:10:12 · 1979 阅读 · 0 评论 -
Netty的并发编程实践3:CAS指令和原子类
互斥同步最主要的问题就是进行线程阻塞和唤醒所带来的性能的额外损耗,因此这种同步被称为阻塞同步,它属于一种悲观的并发策略,我们称之为悲观锁。随着硬件和操作系统指令集的发展和优化,产生了非阻塞同步,被称为乐观锁。简单地说,就是先进行操作,操作完成之后再判断操作是否成功,是否有并发问题,如果有则进行失败补偿,如果没有就算操作成功,这样就从根本上避免了同步锁的弊端。目前,在Java中应用最广泛的非阻塞原创 2015-05-29 13:11:03 · 1834 阅读 · 0 评论 -
游戏设计规则探秘之宾语
正确地选择宾语不是一件想当然的事情。在《入墓》中,简的下行路径由四个宾语组成:三种不同颜色互相连在一体的土块,以及金属块。就像动词一样,我们选择恰当的宾语也会带来诸多益处。我们应尽量避免引入那些无法被发展的宾语,因为它们的用途与其他的宾语有太多的重叠。只给土块一种颜色未免太少。我也许可以用这来控制游戏的速度,但是却无法设置有意思的选择,让玩家选择去何处挖。两种颜色可以让我创造选择,但却无法让这原创 2015-06-19 10:31:43 · 2272 阅读 · 0 评论 -
Netty的并发编程实践4:线程安全类的应用
在JDK1.5的发行版本中,Java平台新增了java.util.concurrent,这个包中提供了一系列的线程安全集合、容器和线程池,利用这些新的线程安全类可以极大地降低Java多线程编程的难度,提升开发效率。新的并发编程包中的工具可以分为如下4类。◎ 线程池Executor Framework以及定时任务相关的类库,包括Timer等。◎ 并发集合,包括List、Queue原创 2015-06-01 10:49:19 · 3106 阅读 · 3 评论 -
网页设计配色方法论:配色秩序
每一种色彩都有其自身的特质,而这一特质的发挥,还需要依赖于色彩在整个配色时所处的位置、面积等,即色彩与其他色彩所形成的秩序。 本文选自《轻设计:网页设计中的轻奢主义和禅意思维》。原创 2017-06-16 08:35:46 · 3102 阅读 · 0 评论