脚本语言区别于系统语言 http://it.taocms.org/08/4736.htm “后者则在附加的抽象机器层运行,屏蔽了对计算机系统的直接掌控特性,正因此也造成执行效率相对低下” 脚本语言更接近于人,屏蔽了对计算机系统的直接掌控,要解释效率低下。理论上基本都是基于图灵机或者其等价的模型,所以 ...
分类:
编程语言 时间:
2017-03-05 20:41:57
阅读次数:
175
游戏编程分为游戏逻辑和游戏引擎。游戏引擎是一套可重复利用的底层框架。包括渲染引擎、声音引擎、网络引擎等等。现提供一套游戏架构,从底层向上分别为: 硬件、驱动、操作系统。 第三方软件开发包:DirectX、OpenGL,Boost、STL库,Granny、Havok、Animation等。 平台独立层 ...
分类:
其他好文 时间:
2017-02-26 22:29:35
阅读次数:
220
int GetSum(vector<int> a,int N){ int sum=0; if (N>a.size()) { for (auto &i:a) { sum+=i; } } else { for (int i = 0; i < N; i++) { sum+=a[i]; } } return ...
分类:
其他好文 时间:
2017-02-19 22:48:27
阅读次数:
205
恢复内容开始 一、软件框架 1.1 好的软件框架 好的设计意味着当我们做出一个改动时,就好像整个程序都在期待它一样。我们可以调用少量可选的函数来完美地解决一个问题,而不会为软件带来其他的多余的副作用。 “只管写我们自己的代码,框架会帮我们收拾一切!”。 关键部分:框架意味着变化。衡量一个设计好坏的方 ...
分类:
其他好文 时间:
2017-02-07 20:35:13
阅读次数:
161
《游戏编程模式》最后一篇,刚从英国玩了一圈,春节又要到啦 Chapter 19 对象池 使用固定的对象池重用对象,取代单独地分配和释放对象,达到提升性能和优化内存使用的目的。 使用情境: 粒子类: 用union节省内存:粒子使用时用live结构体,不使用时用next指针 1 class Partic ...
分类:
其他好文 时间:
2017-01-23 19:07:37
阅读次数:
203
Chapter 14 组件模式 允许一个单一的实体跨越多个不同域而不会导致耦合。 为实现两个类之间的代码共享,应该让他们拥有同一个类的实例,而不是继承同一个类。 使用情境: 分割不同的域: 1 class InputComponent 2 { 3 4 public: 5 void update(Bj ...
分类:
其他好文 时间:
2017-01-23 17:29:22
阅读次数:
187
Chatper 11 字节码 通过将行为编码成虚拟机指令,而使其具备数据的灵活性。 解释器模式(慢): 1 class Expression 2 { 3 4 public: 5 virtual ~Expression() {} 6 virtual double evaluate() = 0; 7 8 ...
分类:
其他好文 时间:
2017-01-10 17:23:20
阅读次数:
184
Chatper 8 双缓冲 核心问题:对状态同时进行修改与访问的冲突(读写) 缓冲区: 1 class Framebuffer 2 { 3 4 public: 5 Framebuffer() { clear(); } 6 7 void clear() 8 { 9 for (int i = 0; i ...
分类:
其他好文 时间:
2017-01-09 20:29:11
阅读次数:
310
RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。 ...
分类:
其他好文 时间:
2017-01-05 12:08:02
阅读次数:
232
第二遍读了,第一遍在网上啃了英文版,出了中文版的买了一本。记一些自己觉得有价值的东西吧。 Chapter One 衡量一个设计好坏的方法就是看它应对变化的灵活性。 从理论上讲,解耦意味着在你进行扩展时仅需理解少量代码,然而抽象却增加了理解代码的难度。 如果你只是想验证游戏想法,那么对其精心设计架构意 ...
分类:
其他好文 时间:
2016-12-17 17:04:25
阅读次数:
138