游戏引擎架构笔记之逐层设计

  软件设计最底层是什么?当然是硬件平台了。书里其实有点迷惑,说硬件呢,为啥要说Microsoft Windows, Linux and MacOS-based PCs这种系统呢?其实目前的PC,应该可以安装各种系统吧。我想这一层是硬件设备。包括桌面计算机(PC,当然也包括笔记本吧),手持设备包括各种的phone,pad,主机游戏设备XBOX,PS,WII等。这一层能考虑什么呢,首先手持设备的特性,尤其像wii之类特殊的,还有屏幕分辨率等都是要考虑的,另外设备升级,比如增加了方向盘,或者头盔显示器,或者能监测身体机能的躺椅,还有现在高大上的虚拟现实的OC等等。从个人经验来说,务必要关注这些硬件平台的发展,比如吧,天龙八部,首先07年在PC上火了,然后呢,14年在手机上火了。英雄战魂在12年就火了,忘仙09年就在手机上火了,这些硬件平台的发展,会让你倔到第一桶金,说不定下一个平台是OC,下一个重度网游领域会在OC上,那么我们就要不断关注它,积极去准备。

  然后是驱动层。驱动层首先是个软件,这就说是程序代码组织起来的。由操作系统或者硬件提供,这一层你要考虑什么呢,驱动版本的异常会导致底层很多问题,相信玩PC游戏的时候都会有这样的经历,你的显卡驱动不是最新的,会导致无法运行游戏,声卡不是最新的,会导致不会播放音乐等。如果玩家报说玩不了游戏,倒是可以让他检查下各种驱动版本,好在现在有工具。

  操作系统层。三大PC平台:windows,linux,Mac。这里windows自然不说了,国内大多数还是用这个。Mac算是小众吧,一般大作会发这个平台,屌丝们用的少。linux就更专业了,就不是大众玩家玩的懂的玩意儿。主机平台:XBOX,PlayStation,任天堂的DS,GameCube,WII等,好吧,哥比较土,更加屌丝,没买过,也不是游戏的热衷分子,天天忙着coding了。移动平台:IOS,ANDROID,黑莓,塞班等,记得07年的时候塞班系统相关的招聘还很火,当时还考虑要不要搞搞,真是昨日黄花了。在这一层里,软件开发关注的是什么呢?API,即系统给了我哪些API可以调用。万一有的平台可以用这个,有的只能用那个,那你就要做跨平台的封装了。至少涉及平台相关的要沉淀下去,做成插件机制。回过头来,对于Unity呢,它的很大的优势就在于快速开发跨平台产品的能力。属于它的很大的一个优势。平台层的问题有什么呢?最明显的例子就是IOS系统和android系统的不同,一个是AOT,一个是JIT,那么当你去设计时,这两大平台的要求你就得考虑了。比如DLL动态更新代码,在Android上可以实施,但ios上就没戏,但你又想做热更新怎么办,这时候问题就来了。不同的平台,你在开发的时候是不是要注意什么呢,比如Unity在打包的时候,能在windows上做ios的安装包吗,当然现在可以了,但是之前Unity要求你只能在mac机上做。对于平台,你针对的操作系统版本最低是什么,哪些版本不支持,这些要考虑清楚,你在提交到渠道的时候都需要写清楚。想起来,有一次我们制作人在玩游戏,发现游戏突然变的不正常了,渲染什么的都乱了,查了半天,发现是当天微软发布了一个补丁,然后制作人就默认安装了,装完后没有重启,游戏就各种不正常了。这一层可以考虑的问题很多,以后有机会再加吧。

  再往上,是第三方SDK,我想作者应该是假设这些和你开发的游戏引擎无关,因此放到这一层了。

时间: 2024-10-28 20:12:16

游戏引擎架构笔记之逐层设计的相关文章

游戏引擎架构笔记之基础

此书获誉无数,第一版没看过,直接看的第二版,然后大致看了一眼作者提到的和第一版的区别: 1.C++语言方面的最新进展,也就是C++ 11的标准:第八代主机游戏的架构,XBOX ONE和PS4 2.鉴于音效机制的巨大作用,作者增加了几章关于音效方面的内容. 3.修复了第一版中的一些错误. 我室友才买这本英文书没多长时间,就出新版本了,不知道杂说好,只能说好贵. 作者期望这本书能包括以下内容 1.工业级的游戏引擎是如何架构出来的? 2.游戏开发团队是如何被组织起来的,如何运转的. 3.世间有无数的游

《游戏引擎架构》读书笔记1-游戏引擎中的C++

3月底,我暂时结束了北京的工作,从原来的公司离职,主要是为了学习游戏开发的底层知识和3D引擎相关的内容,并进行技术转型,为了鞭策自己的学习,未来博客更新会比较频繁,现阶段主要是<游戏引擎架构>读书笔记系列和unity学习笔记系列. <游戏引擎架构>在两年前就买了,而且自己也大体的看过一遍,因为自己想学习引擎的底层知识,所以重新又找出了这本书再读一遍,并把根据自己的理解写一些读书笔记在这里与大家交流,另外因为想有一个新的开始,近期都会在博客园这里写技术博客了,前些日子搞了个自己的网站

游戏引擎架构.pdf高清版免费下载

下载地址:网盘下载 备用地址:网盘下载 内容简介编辑[1]  <游戏引擎架构>同时涵盖游戏引擎软件开发的理论及实践,并对多方面的题目进行探讨.本书讨论到的概念及技巧实际应用于现实中的游戏工作室,如艺电及顽皮狗.虽然书中采用的例子通常依据一些专门的技术,但是讨论范围远超于某个引擎或API.文中的参考及引用也非常有用,可让读者继续深入游戏开发过程的任何特定方向.<游戏引擎架构>为一个大学程度的游戏编程课程而编写,但也适合软件工程师.业余爱好者.自学游戏程序员,以及游戏产业的从业人员.通

游戏引擎架构读书心得(一)

最近在读<游戏引擎架构>这本书,虽然感觉理论颇多,而且很多很多东西都看不懂,不过还是简单的把一些感觉很好的思想和方法或者概念记录下来. 1.      关于各个部件初始化,一个最简单粗暴的办法就是将各个部件按顺序排列起来,不但可以方便的看到初始化顺序,而且修改也十分容易. 2.      关于内存分配: a)        游戏中最常见的法则是-维持最低限度的堆分配,并且永远不在紧凑的循环中使用堆分配. b)        定制的内存分配器,先预先申请一大块内存,然后构建自己的内存分配器(st

游戏引擎架构 PDF下载

网盘下载地址:游戏引擎架构 PDF下载 – 易分享电子书PDF资源网 作者: [美] Jason Gregory (杰森.格雷戈瑞) 出版社: 电子工业出版社 原作名: Game Engine Architecture 译者: 叶劲峰 出版年: 2014-1 页数: 800 定价: 128.00元 装帧: 平装 内容简介 · · · · · · <游戏引擎架构>同时涵盖游戏引擎软件开发的理论及实践,并对多方面的题目进行探讨.本书讨论到的概念及技巧实际应用于现实中的游戏工作室,如艺电及顽皮狗.虽

《游戏引擎架构》读书笔记(四)

一.游戏性系统 (1)游戏世界一般分为静态元素和动态元素,静态元素和动态元素有时候没有特别明显的分界线.但是静态元素消耗资源较少,可以用笔刷等工具绘制静态元素. (2)游戏世界一般分为各个组块,如关卡,地图,地区等.建立在这之上的是高级游戏流程,即玩家的目标,比如任务. (3)游戏动态元素通常以面向对象的方式进行设计,通常称为游戏对象(Game Object),实体(entity),演员(actor)或者代理人(agent)等. a)游戏对象通常会扩展引擎本身的语言,加一些高级功能比如反射,并且

《游戏引擎架构》笔记十二

碰撞及刚体动力学 一些碰撞/物理系统:http://www.gamedev.net/community/forums/topic.asp?topic_id=463024 I-Collide:http://cs.unc.edu/I-COLLIDE SWIFT: ODE:http://www.ode.org Bullet:http://code.google.com/p/bullet/ TrueAxis:http://trueaxis.com/ PhysX: Havok: PAL:http://ww

《游戏引擎架构》笔记十三

游戏性系统简介 游戏引擎是复杂的多层软件系统,而游戏的本质,并非在于其使用的引擎或技术,而是其游戏性(gameplay).游戏机制(game mechanics)一词,可以把游戏性这个概念变得更为具体.游戏机制通常定义为一些规则,这些规则主宰了游戏中多个实体之间的互动,如定义玩家的目标.成败的准则.角色的各种能力.游戏体验的整体流程等等.本文将简单介绍用于定义及管理游戏机制的引擎系统及相关工具. 剖析游戏世界 游戏类型虽然五花八门,但大多数会有一种基本的结构模式,通常由以下部分组成: 世界元素

《游戏引擎架构》读书心得(二)

一.调试技巧及工具 (1)基础调试 a)   日志及追踪,有些bug难以用VS自带的调试来进行单步调试,最好的解决方案就是printf调试法,打印一组数据,观察情况.之前我的做法是单独生成一个控制台,不过VS自带了一个OutPutDebugString()的方法,可以打印调试信息.不过这个只支持char*内容,我们可以将这个函数加工一下,使其支持不同类型的数据,甚至可以使其接受可变参数个数. b)   冗长级别:我们有时想要打印,有时又不想打印,所以可以设置打印内容的级别,每个信息设置一个级别,