设计模式
哈利_蜘蛛侠
喜欢诗歌科幻游戏艺术有时候看看电影关注历史领域喜欢探索未知
展开
-
游戏编程模式:前言(架构,性能和游戏)(Part I)
译者的序:《Game Programming Patterns》是一本不错的书,讲了设计模式在游戏编程领域中的灵活运用。由于写得实在是太好了,遂触发了本人翻译的热情。所以把本人的渣翻放在这里做成系列博客,希望大家多多提出宝贵意见呀!下面正式开始了! 今天讲的是引言部分。引言部分有很多对此书进行说明的部分,就略过了,直接来说说Architecture, Performance and Ga翻译 2016-07-05 12:28:04 · 1323 阅读 · 0 评论 -
游戏编程模式:前言(架构,性能和游戏)(Part II)
3、性能和速度 还有另外一个对于软件架构和抽象化的批评你有时候会听到,尤其是在游戏开发领域:就是它们对于游戏的性能有害。很多使得你的代码更加灵活的模式依赖于虚分派(virtual dispatch)、接口、指针、消息等等会增加运行时成本的机制。 一个有趣的反例是C++中的模板。模板元编程(template metaprogramming)有时候可以在不增加运行时翻译 2016-07-05 22:22:54 · 543 阅读 · 0 评论 -
游戏编程模式:命令模式(Part I)
下面进入本书的第二部分了,叫做设计模式回顾(Design Patterns Revisited)。这一部分有一个引言,本人翻译如下:-----------------------------------------------------分割线--------------------------------------------------------------- 根据我翻译 2016-07-05 23:21:54 · 553 阅读 · 0 评论 -
游戏编程模式:命令模式(Part II)
2、Actors的方向 我们刚刚定义的命令类适用于前面的例子,但是它们有很大的局限性。问题在于,它们假设了存在着jump()、fireGun()等等这样的隐含地知道如何找到玩家的角色并像操纵傀儡般操纵它的顶层函数。 这种假定的耦合限制了这些命令的用途。JumpCommand可以使其跳跃的东西只有玩家。让我们来放宽这个限制。我们将我们想要对其发号施令的对象作为一个翻译 2016-07-05 23:31:14 · 561 阅读 · 0 评论 -
游戏编程模式:命令模式(Part III)
3、撤销和恢复(Undo and Redo) 最后一个例子是该模式最著名的运用。如果一个命令可以做事情,那么让其可以撤销它们就只是一小步了。撤销运用于一些策略游戏,在其中你可以回滚一些你不喜欢的移动。在人们用于创作(create)游戏的工具中,这是必不可少的(derigueur:prescribed or requiredby fashion, etiquette, or cus翻译 2016-07-05 23:40:11 · 582 阅读 · 0 评论 -
游戏编程模式:前言(架构,性能和游戏)(Part III)
6、简单性(Simplicity) 最近,我觉得如果有任何方法可以减轻这些约束条件的话,那么就是简单性。在我今天的代码中,我做出了很大努力来写解决问题的最干净的、最直接的代码。就是那种你读了之后,你准确地理解它所做的事情、并且想不出其他可能的解决方法的代码。 有待补充……翻译 2016-07-05 23:03:39 · 518 阅读 · 0 评论 -
游戏编程模式:轻量级(Flyweight)模式(Part I)
雾气升起了,显露出一片茂密的成熟生态的森林。数不胜数的古老的铁杉树耸立在你面前,形成由绿叶组成的大教堂。树叶组成的着色玻璃穹顶将阳光弄碎成一条条金色的迷雾。在巨大的树干之间,你可以看出广袤的森林在远处渐渐模糊。 这就是我们作为游戏开发人员所梦想的超出现实的设定,而像这样的场景通常因这样一种其名字可能不能够再谦虚的模式而变得可能:轻量级(Flyweight)。翻译 2016-09-23 23:54:52 · 635 阅读 · 0 评论 -
游戏编程模式:轻量级(Flyweight)模式(Part III)
4、A Place To Put Down Roots 这些树所生长的地面有需要在我们的游戏中表现出来。可以有由小草、灰土、丘陵、湖泊、河流以及其他任何你可以梦想到的地形(terrain)所组成的补丁。我们将要让这地面是基于砖块的(tile-based):世界的表面是由小砖块所组成的巨大格栅(grid)。每一个砖块由一种地形所覆盖。 每一个地形类型有若干翻译 2016-09-28 13:47:44 · 475 阅读 · 0 评论 -
游戏编程模式:轻量级(Flyweight)模式(Part II)
2、一千个实例 为了让我们必须推送给GPU的数据量达到最小,我们想要能够将共享数据——就是TreeModel类——只发送一次。然后,我们单独地传递每一棵树的实例的独特数据——就是它的位置、颜色和缩放。最后,我们告诉GPU,“使用那一个模型来渲染每一个实例。” 幸运的是,今天的图形API和图形卡正好支持这一点。相关的细节很fiddly,并且超出了本书的范围,但是不翻译 2016-09-27 13:51:51 · 476 阅读 · 0 评论