<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>青的點滴&#124;玉清，早上好</title>
	<atom:link href="http://www.ispinel.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ispinel.com</link>
	<description>楊漱玉青:Spinel</description>
	<lastBuildDate>Fri, 27 Jan 2012 05:48:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>2Pac &#8211; Life Goes On</title>
		<link>http://www.ispinel.com/2012/01/27/2031</link>
		<comments>http://www.ispinel.com/2012/01/27/2031#comments</comments>
		<pubDate>Fri, 27 Jan 2012 05:48:50 +0000</pubDate>
		<dc:creator>漱玉青 楊</dc:creator>
				<category><![CDATA[電影和音樂]]></category>

		<guid isPermaLink="false">http://www.ispinel.com/?p=2031</guid>
		<description><![CDATA[]]></description>
		<wfw:commentRss>http://www.ispinel.com/2012/01/27/2031/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011年度PC遊戲給我印象深刻的</title>
		<link>http://www.ispinel.com/2011/12/25/2012</link>
		<comments>http://www.ispinel.com/2011/12/25/2012#comments</comments>
		<pubDate>Sun, 25 Dec 2011 07:46:07 +0000</pubDate>
		<dc:creator>漱玉青 楊</dc:creator>
				<category><![CDATA[遊戲]]></category>

		<guid isPermaLink="false">http://www.ispinel.com/?p=2012</guid>
		<description><![CDATA[在年度電影總結到了第三個年頭，也終於打算開一個年度遊戲總結的專題了。 由於每年遊戲眾多，各種平台各種遊戲太多了，而我專注於PC平台，因此我進只能局限於PC遊戲進行著一個&#8221;印象深刻&#8221;的年度文章。但是我也沒法玩完今年所有PC遊戲，因此，我只能從我玩過的進行了。 最煽情大结局(並列)：Call of Duty : Modern Warfare 3 一切都結束了，一切都結束了。Price最後點著一支煙，傷感了宣布了Modern Warfare系列的終結，就像他第一次露面時點著一支煙宣布Modern Warfare系列開始一樣。當Yuri回憶以前時，那份激動，那份熟悉只有從最早的Call Of Duty 4的玩家一路玩過來的才能體會到。一個經典的謝幕。 最煽情大结局(並列)：Assassin’s Creed: Revelations 儘管Assassin和Desmond的故事還要繼續，但是Ezio的故事卻結束了。從Ezio剛剛出生就一直陪伴著玩家，到年輕時候，再到中年，再到老年，最後到了短片Assassin’s Creed:Embers中Ezio的去世。在三代作品中用一生陪伴了玩家三年，真是讓人無限感慨。Altair的老年的出現也讓人唏噓不已。最後Ezio在呼叫Desmond的時候，一切變得那麼傷感。 最佳技術創新：L.A.Noire 創新的面部捕捉技術，依靠這個絕佳的技術產生出獨特的玩法。極其逼真電影級的人物面部表情讓人極其難忘和陶醉其中。 最佳預告片(當年遊戲發布)：Dead Island Dead Island的遊戲預告很的煽情，絕佳的環境氣氛塑造讓這部預告片倍受讚譽。那種家庭災難，破碎的傷感，一切都那麼讓人觸碰。 最佳預告片2(當年遊戲發布)：Assassin’s Creed: Revelations 已經老了的Ezio出現在Masyaf，絕妙的配樂，極佳的動作和畫面，以及對Altair的回憶，都讓這部預告片出類拔萃。 最佳預告片(非當年遊戲發布)：BioShock Infinite BioShock系列以及特別的玩法有眾多愛好者，BioShock Infinite的預告片展現出了BioShock極高的素質，整部預告片顯得淒美，扣人心弦。 最佳遊戲配樂：Batman:Arkham City Batman:Arkham City的配樂極其的富有氣氛，讓人覺得能夠接近電影The Dark Knight的配樂水平。當然，極高水平的配樂只是Batman:Arkham &#8230;<p class="read-more"><a href="http://www.ispinel.com/2011/12/25/2012">Read more &#187;</a></p>]]></description>
		<wfw:commentRss>http://www.ispinel.com/2011/12/25/2012/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Sister月記:12/19/2011</title>
		<link>http://www.ispinel.com/2011/12/24/2010</link>
		<comments>http://www.ispinel.com/2011/12/24/2010#comments</comments>
		<pubDate>Sat, 24 Dec 2011 07:44:51 +0000</pubDate>
		<dc:creator>漱玉青 楊</dc:creator>
				<category><![CDATA[點滴]]></category>
		<category><![CDATA[松隆子]]></category>

		<guid isPermaLink="false">http://www.ispinel.com/?p=2010</guid>
		<description><![CDATA[2011年、今年も時間は確実に過ぎ、年の瀬を迎えています。 私は年明け、舞台で今年をスタートさせました。シアターコクーン「十二夜」。 シアターコクーンは、私が中学生の頃、初めて串田さんに出会い、オンシアター自由劇場に出会い、芝居への夢を決定づけたような、そんな思い出の場所です。 そのコクーンは12月現在、改装休業中です。私にとっての改装前最後の出演が、串田さん演出の芝居だったことは、とても感慨深いものでした。コクーンがな くなってしまうわけではないにしても、私があの場所で出会った様々な思い出は、改装によってひと区切りつくことになります。もちろん、センチメンタルな気 持ちだけでやっていたわけではありません。初めましての方を含め、皆で、オリジナルな十二夜を目指し、模索しながら過ごした、充実した時間でした。 いつかまた、新しくなったコクーンに出演出来る日が来るのでしょうか？そのときどんな芝居で、どんな自分で出会えるのか、楽しみにしています。 今年は、新たな出会いもありました。西川美和監督の「夢売るふたり」に出演させていただき、とても面白い現場でした。まだ完成していないので、あま り多くはお話し出来ませんが、芝居をしていて楽しい、と思えることは、やはり幸せなことです。それは確実に、自分１人の力ではなく、そこに居合わせる人達 との化学反応のようなものなのです。これから公開にかけて、どんな反響をいただくのか、実に不安で、実にワクワクするような時間を過ごすことになります が、どうぞ公開をお楽しみにしていてください。 そして今私は、久々の連続ドラマ「運命の人」の撮影に入り、充実した時間を過ごしています。とにもかくにも、このドラマで今年を終え、このドラマで来年をスタートさせます。是非御覧下さいませ。 ほかにも、沢山の出会いがあり、そのひとつひとつに感謝しています。 来る2012年、私はありったけの大きな希望を持っていきたいと思います。 決して忘れることなく、でも、前に進めるように。ほんのささやかでも、皆さんに幸せな瞬間が訪れるような、そんな年になりますように。 心から、心からそう願っています。 今年１年の、変わらぬご声援に感謝して。 どうぞ、よいお年を。そして来年も、よろしくお願い致します。]]></description>
		<wfw:commentRss>http://www.ispinel.com/2011/12/24/2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iSpinel.com 2011年度電影給我印象深刻的  預熱</title>
		<link>http://www.ispinel.com/2011/12/24/2003</link>
		<comments>http://www.ispinel.com/2011/12/24/2003#comments</comments>
		<pubDate>Fri, 23 Dec 2011 19:07:10 +0000</pubDate>
		<dc:creator>漱玉青 楊</dc:creator>
				<category><![CDATA[電影和音樂]]></category>

		<guid isPermaLink="false">http://www.ispinel.com/?p=2003</guid>
		<description><![CDATA[在經歷了2010年眾多電影齊刷IMDB TOP 250榜單之後，2011年的電影回到冷靜狀態。 不知不覺，2011年馬上就要過去了，iSpinel.com 年度電影給我印象深刻的 系列活動也進行到了第三個年頭。 2009年第一屆，2010年第二屆，而現在，第三屆也即將到來。 之前的兩次年度評選在這裡： 2010: http://www.ispinel.com/2011/02/06/1716 2009: http://www.ispinel.com/2010/01/22/151 儘管2011年的電影的最高峰電影未能達到2010年頂級電影的平均水平，但是仍然出現了一些比較優秀的作品。 這段時間我也在進行一個叫做 #2011电影补全计划 的東西，打盡量的看較多2011年比較出彩的電影，無論是任意一方面任意一種風格。又由於平時得上班一部藍光碟BDRIP 1080P電影的體積現在大多都12-15GB，因此這個計劃目前進行的並不是很快捷。 但是這個計劃不能快捷，一部好的電影需要很多天來細細的品味，比如法國電影 住在六樓的女人 就讓我思考了很多天。今年的奧斯卡熱門The Help也是，兩者的題材或多或少有點類似。 這個段時間我也會在TWITTER(@ispinel)對2011年度的電影做一些評論，好準備年度的評選。 敬請期待。]]></description>
		<wfw:commentRss>http://www.ispinel.com/2011/12/24/2003/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sister月記:11/05/2011</title>
		<link>http://www.ispinel.com/2011/11/09/1996</link>
		<comments>http://www.ispinel.com/2011/11/09/1996#comments</comments>
		<pubDate>Wed, 09 Nov 2011 13:24:21 +0000</pubDate>
		<dc:creator>漱玉青 楊</dc:creator>
				<category><![CDATA[點滴]]></category>
		<category><![CDATA[松隆子]]></category>

		<guid isPermaLink="false">http://www.ispinel.com/?p=1996</guid>
		<description><![CDATA[ご無沙汰している間に、11月になってしまいました。 私は、映画「夢売るふたり」の撮影をひとまず終えて、 TBSドラマ「運命の人」の撮影に入っています。 久々の連続ドラマですが、撮影は順調に進んでおります。 来年１月からの放送をお楽しみに！ 寒くなってきましたね。私も風邪などひいていられないので（！）、 あたたかいお茶を飲んだり、アロマを活用したりしながら過ごしていますよ。 先日マッサージに行ったら、結局のところ、「冷やさないこと」と言われました。 寒くなって身体も固まりがちですもんね。 代謝をあげることを目標に、この年末を乗り切りたいと思います！ 皆さんもお身体に気をつけてお過ごしください。]]></description>
		<wfw:commentRss>http://www.ispinel.com/2011/11/09/1996/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Game Engine Architecture 中文翻译:5.2.1.1 基本的Stack内存分配器</title>
		<link>http://www.ispinel.com/2011/11/02/1990</link>
		<comments>http://www.ispinel.com/2011/11/02/1990#comments</comments>
		<pubDate>Wed, 02 Nov 2011 13:14:54 +0000</pubDate>
		<dc:creator>漱玉青 楊</dc:creator>
				<category><![CDATA[編程檔案]]></category>
		<category><![CDATA[Game Engine Architecture]]></category>

		<guid isPermaLink="false">http://www.ispinel.com/?p=1990</guid>
		<description><![CDATA[5.2.1.1 基本的Stack内存分配器 现在很多游戏中流行使用Stack内存分配。无论何时一个新的游戏关卡载入，内存都为她分配好了。当这个关卡载入完成的时候，要么很少甚至没有动态内存分配发生。当这个关卡结束的时候，她会卸载了全部她使用的内存。使用它具有很大的意义，使用这些类型的内存分配一个类似栈的数据结构。 一个Stack内存分配器是很容易实现的。我们简单地通过malloc(),new或者全局的数组(在这种情况下内存将会在BSS段分配in which case the memory is effectively allocated out of the executable&#8217;s BSS segment)的分配一大片连续的内存块。通过一个指向栈顶的指针来维护她。所有的内存低于这个指针的地址被认为是在使用中，而在它上面的所有地址被认为是未分配的自由的空间。这个位于栈顶部的指针被初始化到最低地址，栈顶指针一开始应指向栈的底部。每个内存分配请求只需要简单的移动这个指针到需要的大小的位置即可。最接近的被申请的内存块要释放只要简单的把这个指针移到对应大小个位置即可。 这里有一个很重要的地方对于Stack分配器来说，内存是不能被任意的释放的。所有的内存释放必须做她们申请时的相反操作。我们可以强制的限制这些内存不允许被私自的释放。反而，我们可以规定一个函式用来将栈顶指针反方向滚动到之前标记的地址，这样处于当前栈顶和滚动的指针之间的内存块就会被释放。 有很重要的一点是，要始终把指针回滚到两个内存块的分界上，因为在另外的一些方面，新的内存分配需求需要跟随在这个指针之后进行分配。为了确保这能成功，一个Stack分配器经常会使用一个函式用来返回一个marker来标记当前的栈顶。回滚函式会将她的marker一起操作。这看起来就像图5.1.一个Stack分配器的接口一般看起来像这样： class StackAllocator { public: //Stack marker:表示当前栈顶,你只能回滚这个marker，不能任意的使用 typedef U32 Marker; // 构造函式要有一个总分配内存大小 explicit StackAllocator(U32 stackSize_bytes); // 这个会分配出一个指定大小的内存 void* alloc(U32 size_bytes); // 返回当前栈顶的Marker &#8230;<p class="read-more"><a href="http://www.ispinel.com/2011/11/02/1990">Read more &#187;</a></p>]]></description>
		<wfw:commentRss>http://www.ispinel.com/2011/11/02/1990/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Game Engine Architecture 中文翻译:5.2 内存管理 5.2.1 动态内存分配</title>
		<link>http://www.ispinel.com/2011/10/31/1984</link>
		<comments>http://www.ispinel.com/2011/10/31/1984#comments</comments>
		<pubDate>Mon, 31 Oct 2011 08:53:43 +0000</pubDate>
		<dc:creator>漱玉青 楊</dc:creator>
				<category><![CDATA[編程檔案]]></category>
		<category><![CDATA[Game Engine Architecture]]></category>

		<guid isPermaLink="false">http://www.ispinel.com/?p=1984</guid>
		<description><![CDATA[5.2 内存管理 作为一个游戏开发人员，我们总是在尝试使我们的代码可以运行的更快。性能优化对于任何软体来说都没有什么特定不变的算法，也没有什么一定的算法已经被弄成代码可以运行在所有地方。但是关于程式如何使用内存，内存对性能的影响一般会体现到两个方面 动态内存分配 通过malloc()或者通过C++全局操作符new来进行这个操作上非常慢的。我们在动态内存分配的问题上可以通过使用我们自己的内存分配器来使得这方面的性能得到优化。 在现代CPU中，对于程式的某部分性能来说，通常是其内存访问模式占据主导位置。众所周知的，数据处在小的，连续的内存块上的性能要比一些数据分散在各个内存空间上要好得多。对于理想状况的最佳算法来说，代码会极限的将内存分配放到一个紧凑连续的空间。 在这一章节，我们将会在这两个方面上学习如何优化我们的内存使用。 5.2.1 动态内存分配 动态内存分配和释放如果是通过malloc()和free()或者C++全局的new和delete操作符进行的，众所周知的这是堆heap内存分配，很慢。导致这种分配很高的消耗有两个因素：第一，一个Heap内存分配器是一个通用的设计，所以她必须可以写入任意大小的数据，从一个Byte到千兆Byte。这需要很大量的日常管理开支，这使得malloc()和free()变得缓慢。第二，对于大部分作业系统来说，每当调用malloc()和free()函式时，都要将first context-switch从user mode切换到kernel mode,处理这个请求，然后切换到这个程式。这些上下文切换会造成极大的开销。对于游戏开发者来说有一个重要的规则： 让Heap内存分配尽可能的小，以及在一个紧密的循环里面绝对不要分配Heap内存。 当然，没有任何游戏引擎避开了动态内存分配，所以绝大部分的游戏引擎都有自己的一个或者多个内存分配器。一个自己的内存分配器在刚刚提到那两点上有比操作系统更好的Heap分配器性能。第一，一个自己的内存分配器可以安全的访问一块被分配好的内存(她自己通过malloc()或者new或者已经声明的全局变量)。这样可以允许这些访问在user mode下以及避免了开销昂贵的操作系统上下文切换。第二，对于各种内存使用模式处理上，一个自定义的内存分配器也比一个通用的Heap内存分配器更有效率。]]></description>
		<wfw:commentRss>http://www.ispinel.com/2011/10/31/1984/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Game Engine Architecture 中文翻译:5.1.2 一个简单的可以工作的方法 &amp; 5.1.3 一些在真正引擎里面的例子</title>
		<link>http://www.ispinel.com/2011/10/27/1981</link>
		<comments>http://www.ispinel.com/2011/10/27/1981#comments</comments>
		<pubDate>Thu, 27 Oct 2011 14:53:29 +0000</pubDate>
		<dc:creator>漱玉青 楊</dc:creator>
				<category><![CDATA[編程檔案]]></category>
		<category><![CDATA[Game Engine Architecture]]></category>

		<guid isPermaLink="false">http://www.ispinel.com/?p=1981</guid>
		<description><![CDATA[5.1.2 一个简单的可以工作的方法 让我们为Singleton的子系统尝试一下这个方法。在这个方法里面，一个简单的叫做”brute-force”方案，她在每一个Singleton Manager类里面定义了启动和退出函式。这些函式就像把构造和析构移动了位置一样，以及我们可以让真的构造和析构函式不做任何事情。在这个方法中，启动和退出函式必须要在main()(或者一些用来管理引擎的Singleton Object)里面调用。比如： class RenderManager { public: RenderManager() { // 啥也不做 } ~RenderManager() { // 啥也不做 } void startUp() { // 启动这个管理器 } void shutDown() { // 退出这个管理器 } // ... }; class PhysicsManager { /* 类似的 */}; &#8230;<p class="read-more"><a href="http://www.ispinel.com/2011/10/27/1981">Read more &#187;</a></p>]]></description>
		<wfw:commentRss>http://www.ispinel.com/2011/10/27/1981/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>在火星上发生过很多故事，但是没有一个是爱情故事</title>
		<link>http://www.ispinel.com/2011/10/24/1979</link>
		<comments>http://www.ispinel.com/2011/10/24/1979#comments</comments>
		<pubDate>Sun, 23 Oct 2011 17:51:52 +0000</pubDate>
		<dc:creator>漱玉青 楊</dc:creator>
				<category><![CDATA[點滴]]></category>

		<guid isPermaLink="false">http://www.ispinel.com/?p=1979</guid>
		<description><![CDATA[昏黄的街灯，落叶撒在飘浮在空气里，傍晚。 两个人坐在街边的长椅上交谈着。 &#8211;你得和我回火星。 &#8211;不，罗夏，我听说回火星的路途充满了危险。 罗夏吃惊的望着街灯，黄色的灯光就像一道利刃一样将他的嘴唇两边向脸部上方撕裂一个口子，血红的伤疤和嘴唇组成一个像Batman漫画里面的Joker一样的笑脸。 &#8211;我能笑。 罗夏说道。 &#8211;你能笑？ 随后罗夏的伤疤愈合了，笑容消失了。 灯光渐渐暗了。 &#8211;你能笑。 &#8211;是么？我能笑？ &#8211;当然，呵呵，你看我都能笑。 &#8211;哦。 路上有行人点着蜡烛走过，很多行人冻的瑟瑟发抖，有些行人却还穿着夏装满身大汗的说好热。 不知道是谁点燃了一根蜡烛，光滑的石板路在烛光的照耀下反射着亮光。 &#8211;好亮。 罗夏疲惫的说道。 &#8211;我该睡觉了，好困。 &#8211;我也是。]]></description>
		<wfw:commentRss>http://www.ispinel.com/2011/10/24/1979/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Windows Phone 7使用小感和应用报告</title>
		<link>http://www.ispinel.com/2011/10/23/1973</link>
		<comments>http://www.ispinel.com/2011/10/23/1973#comments</comments>
		<pubDate>Sun, 23 Oct 2011 14:08:07 +0000</pubDate>
		<dc:creator>漱玉青 楊</dc:creator>
				<category><![CDATA[消費電子資訊]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://www.ispinel.com/?p=1973</guid>
		<description><![CDATA[Windows Phone 7使用已经有一段时间了，机器是Samsung的Omnia 7 16GB，也就是i8700. 当初选择买进入Windows Phone的阵营理由如下： 1.以前曾经有Zune 30GB，作为Metro UI的鼻祖，无限怀念其美观和使用感觉. 2.我很喜欢Windows Phone的UI,受不了iPhone和Android的那圆润的UI设计(本想买个iPod Touch 4做音乐播放器,最终还是受不了那个UI买了iRiver U100). 3.Windows Phone的UI流畅度远超过Android，略高iPhone. 下面是使用小感(未越狱)： UI的流畅度绝对没话说，其他手机OS都完全比不上. XBOX Live里面的个人形象功能很Cool~ Zune的音乐播放器界面非常非常非常Cool!是我觉得最漂亮的软件! People Hub里面整合了各种网路联系人，包括TWITTER，也就是说，用户可以通过People Hub那里免翻墙上TWITTER. 和Windows Live的高度整合，Messaging里面可以看到Live联系人列表. Live Title功能很Cool. 开发API权限比较封闭，很多核心功能未开放，比如浏览器的开发核心只能是IE，这直接拒绝了Opera的入住，所以Opera都甚至发布了MeeGo版本也没有发布Windows Phone版本. 某些方面应用比较缺乏，比如浏览器和地图. 输入法和浏览器方面，自带的中文输入法和IE9浏览器我觉得已经很好用了，但是貌似API方面还是比较闭塞. 下面说一说我自己体会到的应用情况: 1.浏览器: 自带的IE9浏览器就觉得很好用了，流畅度最棒，并且支援HTML5，可以直接看Youtube的绝大部分视频，但是不支援Flash. QQ浏览器最近发布了1.2版本，流畅度一般，功能相当于自带IE9的加强版，有快速导航和网站导航等等，但是用惯IE9的人可能会觉得QQ浏览器实在太卡了. Surfcube:这是一款很Cool的3D浏览器，里面有一个Cube一样的界面，免费版有广告.但是觉得比较花哨，操作也不是很方便. 百度浏览器:这是很不错的浏览器，流畅度高于QQ低于自带的IE9，但是最棒的是带有缓冲浏览，也就是说，当按下后退键是会载入缓冲而不是直接载入以前的页面。这个功能在其他平台很常见，Opera就完全支持。但是在Windows Phone的浏览器里面，只有百度浏览器支持这个功能.可惜个人极度讨厌百度，所以这款应用尽管不错也仅仅只是试用几分钟就马上卸载. &#8230;<p class="read-more"><a href="http://www.ispinel.com/2011/10/23/1973">Read more &#187;</a></p>]]></description>
		<wfw:commentRss>http://www.ispinel.com/2011/10/23/1973/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Game Engine Architecture 中文翻译:5.1.1 C++静态初始化(应该有的但是可能没有..)</title>
		<link>http://www.ispinel.com/2011/10/23/1968</link>
		<comments>http://www.ispinel.com/2011/10/23/1968#comments</comments>
		<pubDate>Sun, 23 Oct 2011 10:47:48 +0000</pubDate>
		<dc:creator>漱玉青 楊</dc:creator>
				<category><![CDATA[編程檔案]]></category>
		<category><![CDATA[Game Engine Architecture]]></category>

		<guid isPermaLink="false">http://www.ispinel.com/?p=1968</guid>
		<description><![CDATA[第二部分 底层引擎系统 第五章 引擎支援系统 每个游戏引擎必须有一些底层的支援系统来管理一些常见的但是绝对重要的东西，比如引擎的启动和退出，引擎配置和游戏特点，管理引擎的内存使用，控制文件系统的访问，对于游戏中种类繁多的资源进行访问控制(网格(模型)，纹理，动画，音频等等)，以及提供Debug工具给游戏开发团队。这一章将讲述这些底层支援系统在大部分游戏引擎是怎么样的。我们将会展示一些巨大的核心系统，包括资源管理，HID以及游戏Debug工具。 5.1 子系统的启动和退出 一个游戏引擎是由几个相互制约的子系统组成的软件。当这个引擎第一次启动，每个子系统都必须工具相关的命令进行配置和初始化。两个相互制约的子系统之间必须定义他们之中谁必须是要启动的，比如，如果子系统B依赖于子系统A，那么A必须要在B启动前启动。退出的时候也要B先退出，然后才到A。 &#160; 5.1.1 C++静态初始化(应该有的但是可能没有..) 当前在游戏引擎里面最流行的现代编程语言自然是C++，我们应该简短的思考一下C++语义上面的启动和退出会对引擎子系统的影响。在C++，全局和静态Object都是在进入程式的入口点(main()或者Windows下的WinMain())前调用构造的。无论如何，这些构造都是不可预知的。这些东西的析构也是在main()(或者WinMain())返回之后，以及再一次的他们的析构也是不可预知的。要明白这样的行为对于游戏引擎子系统来说并不是很让人满意，真的对于任何软体系统来说都会依赖全局Object的. 这多少有点不幸，因为一个共同的设计是一个主要的子系统(经常被叫做Manager)对每个子系统来说会被定义成一个singleton类，如果C++给了我们对静态和全局类的构造和析构的更多控制，我们就可以定义我们的singleton实例成为一个全局的，并不需要动态内存分配。比如我们可以这样写： class RenderManager { public: RenderManager() { // 启动管理器 } ~RenderManager() { // 退出管理器 } }; //singleton 实例 static RenderManager gRenderManager; 唉，是没有什么办法可以直接的控制构造和析构的，这个方案并不能工作. 5.1.1.1 构造需求 这里有一个C++的”诡计”，我们可以看看其影响力。一个在函式内声明的静态的变量是不会在调用main()之前构造的。不过当第一次调用这个函式的时候，这就会发生了。所以如果我们的全局singleton如果是函式内部的静态型，那么我们就可以控制这些全局的singletons的构造。 class RenderManager { &#8230;<p class="read-more"><a href="http://www.ispinel.com/2011/10/23/1968">Read more &#187;</a></p>]]></description>
		<wfw:commentRss>http://www.ispinel.com/2011/10/23/1968/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rage 和 F1 2011 小评</title>
		<link>http://www.ispinel.com/2011/10/17/1962</link>
		<comments>http://www.ispinel.com/2011/10/17/1962#comments</comments>
		<pubDate>Mon, 17 Oct 2011 15:21:54 +0000</pubDate>
		<dc:creator>漱玉青 楊</dc:creator>
				<category><![CDATA[遊戲]]></category>
		<category><![CDATA[F1]]></category>
		<category><![CDATA[Rage]]></category>

		<guid isPermaLink="false">http://www.ispinel.com/?p=1962</guid>
		<description><![CDATA[F1 2011 是Codemasters公司的作品，FIA授权，完全真实F1比赛设定，也是F1 2010 的续作。 F1 2010和 F1 2011两款作品都跑过，下面来评论一下。 在F1 2011发布之后，就有新闻传出说Codemasters财务问题太穷了可能被收购，当然这个只是传闻。 只不过 Codemasters关闭了闪点行动的工作室倒是真的，可惜了这个经典而独特的系列。闪点行动2和闪点行动3都通关了，怀念了那独特的感觉，可惜两头不讨好完全没法和波西米亚的武装突袭2竞争。 八卦过后，正式来评点F1 2011. 画面:赛车游戏里面最棒的，Shift 2 UNLEASHED最让我失望的就是其画面和模型精度，还不如Need For Speed:Shift. 操控性:大体来说和F1 2010是相当的，不过抓地力略微有点变大，赛道跑起来也略微变得容易了一些. 音效:和Codemasters的其他赛车游戏一下，音效一般，但是声音细节很棒，根据声音可以判断出车行走在什么路面和轮胎状况. 耐玩性:我完整的跑完了一个赛季，跑20%的圈数，一站比赛连上排位赛练习赛大概是半个小时左右，最后帮助威廉姆斯车队拿到车队总冠军，自己也拿到了车手总冠军，巴里切罗跑的真差啊..最后一站才险胜红牛车队让威廉姆斯确定冠军..耐玩性很棒，但是据说最多只能跑五个赛季. F1 2011增加了安全车，奔驰的SLS AMG，但是2011里面其实对玩家的要求是降低的，压到路肩的抓地力不会像F1 2010那样出现大的危险状况，也不会判你犯规(超近道的那就得算犯规了). 其实F1这类游戏本来就很少，近几年也只有Codemasters在做了，自己一想F1这类游戏每年的变化除了规则的细微挑战，车队车手的变化，其他的赛道，玩法，车 等等等等一般都是N久不变的，每年出一代的话，下一代直接就可以用上一代的美工资源了。。反正绝大部分都差不多。。程序改一改也可以来了。。 所以这类游戏每年出一代对于游戏公司来说有点偷懒吧？尤其是F1 2010和F1 2011变化不是很大的情况下。Shift 2 UNLEASHED起码还提供了一个很新颖并且我一直喜欢使用的头盔视角。 今年Codemasters发布了三款产品 DIRT 3，闪点行动3以及F1 2011，但是销量都不咋样尤其是闪点行动3，工作室也被关闭了，收购传闻也来了。无论如何这可能是Codemasters最后的作品了。 GRID &#8230;<p class="read-more"><a href="http://www.ispinel.com/2011/10/17/1962">Read more &#187;</a></p>]]></description>
		<wfw:commentRss>http://www.ispinel.com/2011/10/17/1962/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 3.314 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-07 09:21:41 -->

