"game" via 柠檬杀手 in Google Reader
|
|
Posted: 16 Mar 2011 08:35 PM PDT UCD书友会2011年3月话题:移动时代 请注意厦门时间改为每周六14:30,杭州本月延至第四周(3月27日),深圳、南京本月活动暂停。 各城市书友会地址: 北京,西直门附近奇遇花园, 上海,广元西路55号,浩然高科技大厦18楼 百姓网会议室(上海交通大学校内,靠近徐家汇地铁1,9,10号线), 广州,广州天河区科韵路16号广州信息港 A栋12楼 , 杭州,西湖区通普路41号 BetaCafe 厦门,厦门软件园二期望海路2号4399大厦, 成都,春熙路小科甲巷1号第一城B座6楼,民土咖啡馆(电话028-86730998) 福州,福州市鼓楼区温泉支路58号 网龙公司851大楼 飘渺庄 形体房 书友会详细信息:http://ucdchina.com/club/ 转载请注明出自UCDChina.com,谢谢。 相关文章
|
|
Posted: 18 Mar 2011 09:42 AM PDT
盟军: 高贵的尤拉*2、扎兰·狂风、军士长普格、亡灵哨兵莉安娜、拉卡萨·悲风*2、古鲁格萨·利刃、鲜血守卫德尼莎、黑暗执政官费伦、魔精研磨者沙科*2、希宛德拉·暗欲、摩卡德·利齿、魔精研磨者梵丹格、血骑士海勒丝*2、塞缪尔·哈里逊
物品(武器): 古旧宽剑*2、暗魂收割者、无情*4、毁灭火槌*2
物品(防具): 死灵胸铠、白骨护手
物品(饰品): 霜狼勋章*2
技能: 死亡的阴影、血腥之握、枯萎言辞*2、寒冰折磨*4、死亡凋零*3、窒息之握*3、死亡契约*2、邪恶灵气*2、湮没
任务: 声名鹊起*2、无上的荣耀*2、战斗的召唤:奥特兰克山谷、哨塔和碉堡*2、实验场*2、战斗的召唤:风暴之眼、战斗的召唤:阿拉希盆地
地城: 阿拉希盆地*2、风暴之眼
|
| You are subscribed to email updates from "game" via 柠檬杀手 in Google Reader
To stop receiving these emails, you may unsubscribe now. |
Email delivery powered by Google |
| Google Inc., 20 West Kinzie, Chicago IL USA 60610 | |
|
Posted: 20 Mar 2011 02:05 AM PDT http://www.gamedev.net/page/news/index.html/_/general-news/the-daily-gamedevnet-r11927
March 18, 2011 | mittens in General News 从星期一开始我们还没有出过日报,所以我出现了。希望大家都已经开始想我了。两周前我忙于 GDC,上周我忙于过生日!我又老了。 Warner Bros. Interactive Entertainment 和 Epic 签署了一个“长期的,公司范围内的使用协议”将虚幻III引擎带入他们公司,用于接下去的一些作品,其中其中包括 Batman: Arkham City 以及即将来到的 Mortal Kombat reboot。我想这算是个新闻吧。听到一家小小的中间件公司能够那些这样的大单挺不错的,让我更有动力了。 让我更加开心的新闻是,Square-Enix 和 Level 5 的 Dragon Quest IX:Sentinal of the Starry Skies,去年夏天在任天堂的 DS 上发售后,全球已经卖出了五百三十万套。于是这作成了这一系列中史上销售最好的作品。这也侧面说明了 Dragon Quest IX 在这个系列作品中是多么与众不同。Dragon Quest IX 是一个非常优秀的作品。 说道 Square-Enix,看起来他们正在准备在加拿大开设第二家工作室。新的工作室会和他们已拥有的 Eidos Montreal 一起,他们正准备完成 Deus Ex: Human Revolution(计划八月发售)。根据消息来源 Gamastura 上的说法,“这个发行商正在加拿大的税收问题上做最后的确认,以及和政府打交道,来决定他们第二家工作室开设在哪里。”其他对 Square-Enix 新工作室感兴趣的地区还有 North Carolina,Georgia,以及 Florida。 Valve 这周招募了一个天才设计师 Doug Church(好吧,虽然这个新闻是刚刚出现,但 Church 显然已经和 Valve 混了好几周了),这将会进一步提升这家公司的能量,虽然他们在这几年已经非常给力了。Church 因为设计并且参与开发了以下游戏而声名在外,包括 Thief,Ultima,还有 System Shock。不过目前还不清楚 Church 和 Valve 在搞什么项目。 我想用一个好东西来结束今天的日报:Dino D-Day。现在在 Stream 上已经开始预售了,看起来非.常.棒。 希望今天这份日报的读者们周末都能玩到好游戏,我的注意力已经完全被 PSP 吸引住了,我要玩诸如 Tactics Ogre,Vagrant Story,Gods Eater Burst,还有 Parasite Eve。。。呃,好棒。 |
|
【独家揭秘】中国首款Social-Webgame《幻想之城》升至人人应用第一 Posted: 20 Mar 2011 02:16 AM PDT 中国首款Social-Webgame《幻想之城》继开服以来快速升至人人应用活跃第一,中国首款Social-Webgame《幻想之城》可能会成为2011年度中国社交游戏领域第一匹黑马。伴随九城推出的好友PVP大作战-《Q将三国》在国内获得巨大成功,是否验证继2009年模拟养成农场系列之后,风靡玩家群体的高ARPU社交游戏将在以《Q将三国》、《幻想之城》等深化好友竞技和养成的题材产品种诞生?本评论实验室将继续深度跟踪,继续为大家带来一手揭秘资料。
应用地址:http://apps.renren.com/herowar
上篇文章:【独家揭秘】中国首款Social-Webgame《幻想之城》视频揭秘 阅读全文类别:默认分类 查看评论 |
|
Posted: 19 Mar 2011 11:33 PM PDT http://www.gamedev.net/page/news/index.html/_/general-news/the-daily-gamedevnet-r11922
March 14, 2011 | Ravuya in General News 大家 π 日好!希望今天是个画圈圈的日子(Xw.Y: 3.14圆周率么,难道不是植树节么?囧)。 3DS 和下一代的 PSP 游戏开发费用更加昂贵了。从现有的那些第三方中间件来看 DS 的开发,我希望能看到更多在这个平台上的开发投资,刺激开发周期更长的项目,以及更加仔细雕琢的作品,而不是昂贵的授权费用,主流的游戏,以及“安全”的设计。 Bethesda 打算发行 Prey 2 了。我很期待这个新的人类头部射击游戏。Insomniac 已经开始他们自己的社交游戏分部。去点一下嘛,人家已经在招聘了。 最近举行了 PAX East,那里有些有趣的话题,包括谈论着如何开启并运作一个自己的独立游戏公司。如果有人对如何保持自己的公司活力感兴趣的话,值得去看一下。 哇,看一下这个华丽的游戏,它叫做 Hawken,主要讲述了机器人的故事,它有着华丽的画面,不过既然它用的是 UDK,那也没什么好奇怪的。说到华丽的游戏,还有一个 Gemini Rue,由 Jewish point-and-click 冒险的开发商 TheShivah 带来。 还记得你和你的朋友们在学习功夫的时候拍的很多照片,然后做了一个格斗游戏么?如果记得的话,那么大概就是你做了这个 Dong Dong Never Die 的东西,所以这个链接对你来说也不算什么新闻了。那样你一定要联系我一下,告诉我今天的日报多么无聊。 我不得不把这个问题丢给 Mojang 的同学,如果在开发软件的时候还被一个摄像头始终看着,我一定非常的不舒服的。 今天结束前,大家一定想看看这个将一堆微波放在瓶子里当手雷扔出去的家伙。 |
|
PC Gamer Favorite Age of Empires Online Switches Studios Posted: 19 Mar 2011 08:53 PM PDT © clagnutRobot Entertainment was formed from the remnants of Ensemble Studios, and had been working on the popular PC gamer title Age of Empires Online. However, this game has recently switched hands to the Gas Powered Games Studio. Rumors were that Robot had planned from the beginning to hand off control of the Age of Empires project after 24 months.
A developer at Gas Powered Games spoke about the transition as a natural evolutionary process. According to him, Robot had a lot of content ...
|
|
Posted: 19 Mar 2011 12:30 PM PDT 难得今天有写东西的想法,于是就有了这篇。
星期五打电话给妈妈,得知狗狗黑淡在江北家里,于是下班跑去陪它。自从回来上班以来,一直不太放心妈妈照顾狗狗,所以这个周末要好好陪陪黑淡。
正好弟弟的电脑坏掉了,我得以完全断了上网的念想。下午带黑淡出去遛弯,晚上溜达回来,和它一起看点播里面的电影。
我总是一阵一阵的有这种疯狂看电影的习惯,似乎过了那个时段就不再想得起来,于是便要抓紧时间尽量多看。
我总是在没人说话的时候,会想要看电影。
这几天看了几部,有滥俗的也有不错的。记得EXBF和老妈都一致认为,我是个审美奇特的怪物,比如一个经典的评价是,如果放我在一家服装店里选衣服,我第一手抓出来的那件一定是那家店里最难看的一件。
看电影也差不多,记得中学的时候我就萌生了这种怪异的习性,看很多在大家看来不是我那个年纪该看的电影,莫扎特传、美梦成真(就是那部威廉姆斯大叔在画里面寻找他老婆的电影)、春光乍泄等等,都是我暑假里面找来自己一个人看的,我不看泰坦尼克,直到现在我也没看过完整的泰坦尼克。
所以,我这几天看的也不是那么带劲儿的片子。
星期五看了两部半,第一部是我最好朋友的婚礼,其实还有一部四个婚礼和一个葬礼我也还没看过,还是想看看。
卡梅隆当年可真是年轻得吹弹可破呀,不过那角色实在是太傻了吧唧了,太傻了吧唧了……端端给大嘴巴罗伯茨当了配菜呀,剧情其实很套路,这片儿就是给罗伯茨混经验值的吧。顺便,GAY男友相当出彩,直想让人把罗伯茨推过去把丫吃掉啊吃掉啊!
第二部叫奇幻人生,讲的是一名老烟鬼女作家正在创作一部小说,小说主人公全然没有意识到自己生活在别人的笔下,被操控的人生逐渐崩盘的故事,特效也很到位,老实说一开始我还算满有兴趣地在看,但是实在是太平了,于是我在等待主人公缓慢呆傻改变自己人生结局的时候睡着了……
两点多的时候,弟弟陪客户喝酒回来,他打开了哈尔的移动城堡和啤酒,很快睡着了,于是我就着啤酒看了这个传说中的动画片,我真的不是很FAN动画片的人,以前没看过宫崎骏的
- -
意外的是,是我喜欢的欧洲风格,感觉很诡异的是,男主角实在很日漫……整个调调很喜欢,让我想起了古典童话,无论荒野女巫还是苏菲都很棒很到位,城堡的开关设计也很赞,我喜欢。
星期六,睡到下午起来,带黑淡遛弯回来继续看电影,第一部是姚晨的摇摆的婚约,看剧情介绍说是中国的穿普拉达的恶魔,于是在观影过程中,我反复觉得,老娘被骗了啊!
一般一般,感觉是姚晨在个人秀似的,很SOSO的片儿。
第二部孙红雷的窈窕绅士,本来没抱什么希望随便点的。结果反而挺逗的,看到最后孙红雷跳舞转圈的时候,想起来前段日子网上传的孙红雷N年前在乡土晚会上的边唱边跳,实在是很本色!跳得相当好!啊哈哈哈
林熙蕾和孙红雷还满搭的,国产爱情喜剧片里算还好的了。不功不过。
第三部其实以前看过一小段,今天算是看完了,梅丽尔斯特里普的朱莉与茱莉亚。
我喜欢看这种很温暖的还有美食的片儿,梅丽尔太棒了。相比之下BLOGGER茱莉我就觉得表现得不那么好了。不过不可否认的是,很真实,看到最后让我也开始YY自己理想中的未来的生活工作状态。
通过三百六十五天五百二十四份菜谱的挑战,茱莉成为了美食作家,把爱好变成了自己的工作,这是种幸福,我觉得写作是最能够糅合爱好的工作了,能够和读者交流这更是锦上添花的幸福事情,写作本来就不是单方面的情感输出,没有反馈的感情是虚伪的。
晚上和老公在QQ上聊起我以后想做的工作,我希望也许在十年之后,我能写美食写自然写动物写占星写一切享乐主义的小事儿,分享一种乐观的活着的乐趣,为我爱的人们制造美妙幸福的生活,可以是一餐可口的让人想起外公的味道的大餐,可以是精心计算准备的一周年纪念小惊喜,一次出人意料的荒野山上夜宿的观星记,一次带黑淡去遛弯的奇遇,或者随便在某个小站下车的未知旅行,我希望能拥有那样的生活。充满惊喜和感受的小生活,想想都觉得真TMD美好真TMD幸福。
希望十年之后,我可以不用担心衣食住行,去放纵体验那样的生活。当然,我也担心,如果到时候我已经为人母,会不会把文章的内容整个变味改成了育儿笔记惊奇版,似乎那样就不那么充满自由主义的美了,至少那样的角度更不像是一个认真享受生活的人,而变成为宝宝付出太多的母亲了吧,我一直觉得疯狂倾注过多在育儿笔记之类的文章上的,更多只是一个母亲,可惜丧失了感受生活本质的作家身份。
但是不好好对宝宝的话,我一定会内疚的,于是,我只能希望,十年之后,我的宝宝能够和我一起疯,那样就最好了,我相信,这是一个比较现实的愿望,啊哈哈。 |
|
Posted: 19 Mar 2011 06:53 AM PDT |
|
Posted: 20 Mar 2011 07:18 PM PDT 在前面的幾篇『線上遊戲開發記事』的文章中銀狐有提到,
銀狐是在當年的四月才正式加入這個專案的開發行列。 那個時候,這個專案公司的目標是在暑假期間要推出。 在遊戲產業工作過的人應該都知道, 台灣的遊戲市場學生一直都是非常大的客群, 因此學校的假期(寒、暑假、春假等等)都是很重要的檔期。 時間最長的暑假,更是這幾個重要檔期中最重要的一個。 對於一款原本定位為『快速複製』的專案來說, 公司當時是希望這款遊戲能夠一年就能推出。 因此在2003年正式立案的這款遊戲訂在2004年上市是很正常的。 不過銀狐要說,在我正式加入這款專案的開發後, 眼前所看到的狀況,實在很難相信這款遊戲可以在暑假推出。 以銀狐四月一號正式加入專案來說, 若是要在暑假開放測試,等於只剩下三個月的開發期, 我要說,我真的不認為當時專案的開發狀況可以趕上這個檔期。 隨著時間越來越接近暑假,剩餘的時間也越來越少了。 雖然專案的成員們都很努力的趕工,不過這麼短的時間能做的很有限。 在這個時候,營運單位和專案製作人敲定了五月中要進行CB(※註一※) 。 ※註一※ 所謂的CB,是Close Beta的縮寫。 指的是有限數量的玩家來參與沒有完全公開的遊戲測試, 通常,遊戲在CB後會刪除玩家的資料,然後進行相關的調整, 接下來就是OB以及正式營運等階段。 現在台灣的線上遊戲市場這些名詞已經亂成一團, 什麼『CB不刪檔』、『CB開放儲值』已經快變成正常的行為了。 五月中要進行CB,換句話說剩下的時間變得更少了。 不過整個專案其實在當時並沒有太多的內容讓玩家玩, 不過公司決定的檔期以及上市的命令,成為專案的唯一目標。 當時的製作人為了爭取一些時間,還將CB分為兩階段, 希望能夠藉此多給專案一些時間。 就這樣五月中第一階段CB, 然後第二階段CB、六月底OB的時程就這麼一步步的往下走。 而隨著專案開放測試後,整個開發的壓力就變得更大了。 當時專案開發的內容,幾乎是完成後立刻就開放給玩家體驗, 在遊戲內容嚴重不足的狀況下,當時這樣的狀況是不得不的作法。 當時的線上遊戲,OB進入正式收費是一個非常大的關卡。 從公司前一款專案由OB轉入正式收費時遭遇狀況的經驗中, 我們知道在開始收費時如果沒有足夠的更新量,很難讓玩家願意儲值, 不過在這款專案當時的狀況,卻沒有能力留下足夠的內容到時候再開放。 也因此這款在暑假期間如公司規劃進入OB的遊戲, 雖然在暑假期間創造相當高的在線人數, 但是在暑假結束開始收費在線人數就大幅的下滑, 沒幾個月的時間,在線人數就下跌到原本1/4不到的數字。 回過頭去想想那時候的狀況,總會有人提到遊戲內容的問題。 老實說,這個問題到現在銀狐也還沒有一個確定的答案。 如果真的再給遊戲三個月的時間,真的就能夠提供足夠的遊戲內容嗎? 就算真的有足夠的更新量,真的在開始收費後在線人數就不會下滑嗎? 在當時那個暑假的檔期,這個專案很幸運的幾乎沒有遇到競爭對手。 整個暑假一直到後期,才有一兩款遊戲出現在市場上。 那時的線上遊戲市場也不像現在競爭那麼激烈,每週幾乎都有新遊戲推出, 或許是因為沒有相對競爭對手,這個專案才能在當時創造那麼好的成績, 如果錯過這個時間點晚上幾個月,是否還能有當時那樣的聲勢呢? 線上遊戲的營運,除了遊戲的內容外時機也是很重要的。 在當時做了那樣的決定,我們也無法倒轉時將用另外的方式再試一次, 因此當時的決定到底是對是錯,其實是很難評估的。 不過現在的線上遊戲市場已經變得競爭非常激烈, 除了市場上多得嚇人的競爭對手外,營運模式的改變也造成了影響。 在免費模式下,消費者跳遊戲測試的成本變得很低, 而每週不斷推出的新遊戲,更是讓消費者不斷的有新的遊戲可以嘗試。 而當消費者離開一款遊戲後,願意再回頭的機率也越來越低。 因此現在若是有新遊戲要上市,在內容不足的狀況會做不同的選擇吧。 |
|
Posted: 22 Mar 2011 04:33 AM PDT |
|
Posted: 21 Mar 2011 06:38 PM PDT |
|
Posted: 21 Mar 2011 06:36 PM PDT 欢迎参加燕京读书会 《大学》研读 1. 读本:《四书集注》。目标:了解大学的意义、方法、次第、入手工夫。 2. 注疏:以朱子《大学章句》为基础,《朱子语类。大学卷》卷14-18为必读参考资料,《十三经注疏。礼记正义。大学》郑玄注孔颖达疏、王阳明《大学问》《传习录》、《论语》、《孟子》等为自选参考。 3. 每次活动由特邀教授(或指定同学)主讲30分钟,介绍当日研讨的文本内容和要点,然后有提问和讨论。总共2个半小时。视需要情况,穿插讲座活动。 4. 讲解和讨论,侧重点在于探讨如何实现古圣贤的人格境界。了解朱子真意,发起自己的体会,有得为要,不必强求完全一致。不重“哲学”式“判教”式的玄谈。要求同学们事先阅读《集注》和其他参考资料。 进度安排 3月26日:介绍读书计划、《大学》注疏版本,研读朱子《大学序》。 4月9日:研读三纲领。“大学之道,在明明德,在新民,在止于至善”。“知止然后能定。。。知所先后,则近道矣。” 4月23日:研读八条目。至“古之欲明明德于天下者。。。致知在格物。” 5月7日:研读八条目。“物格而后知至。。。所厚者薄,未之有也。” 5月21日:“《康诰》曰。。。是故君子无所不用其极。《诗》云:邦畿千里。。。此谓知本,此谓知之至也。” 6月4日:“释格物致知。” 6月18日:“所谓诚其意者。。。。。。此谓治国在齐其家。” 7月2日:“所谓平天下在治其国者。。。此之谓絜矩之道。《诗》云:乐只君子。。。货悖而入者,亦悖而出。《康诰》曰。。。必忠信以得之,骄泰以失之。生财有大道。。。以义为利也。” |
|
Posted: 21 Mar 2011 06:36 PM PDT 原文地址:2011年3月26日活动通告作者:燕京读书会
燕京读书会活动通告
地点:北京海淀区中国人民大学求是楼公共管理学院323(靠近人大东门)。注意:该楼是办公楼,请大家到时候注意安静,不要在楼里喧哗。 请大家提前准备好读书的感想和问题,到时一起碰撞交流。 |
|
Posted: 20 Mar 2011 11:38 PM PDT 原文地址:给PR们的一封信:如何做公关作者:mimi19730930
我是个编辑,每天都会和PR们打交道。 这个PR,不是PageRank,也不是酒店里所谓的“男公关”“女公关”,这是正当行业,也算是一门新兴行业。PR是 public relations缩写,翻译过来是公共关系,简称公关,PR简单说,就是为了维护和提高企业形象的一种行业,算是个“面子行业”。 我所接触到的PR主要来自互联网和IT业。公关人员有的来自专业的公关公司,如西岸奥美或者蓝色光标;也有是企业自己招聘的公关人员,一般名片上印的是公关专员。公关的目标是提升形象,而媒体能大面积接触公共人群,所以往往能提升企业的形象。因此,公关不可避免地与媒体之间具有密切联系。 我每天都能收到几十封,最多上百封来自公关人员的稿件,处理这些稿件我要花上一两个小时。最近,来自公关的稿件越来越多,文章良莠不齐,让我颇感头疼。我很想给那些发稿的公关们写一篇稿件的要求和注意事项,内容很多,罗列于此: 一 媒体需要什么稿件? 媒体为用户负责,用户需要看的,也就是媒体应该提供的,所以,那些可能引起大部分用户兴趣的、高点击率的文章就是媒体最热衷的目标。新浪总编陈彤对编辑要求有八字方针“快速、全面、准确、客观”,我对于稿件,增加了几点“实用,趣味,精要”三条。 实用。一篇文章,用户看后的感觉应该是,“有收获!”或者“不错好文章”;而不是,“没感觉”或者“这是什么东东”之类的疑问。很多厂商稿和公关稿,用户看完后不知所云,显然,这方面很需要改进。 趣味。我一般希望文章有配图、表格或者照片。我发现,大部分公关稿没有配图,有些稿件明明是产品宣传稿,竟然没有截图和配图。有时间去特夸大夸产品好,为什么不让用户见见产品的真身呢? 精要。有的公关稿很罗嗦,洋洋洒洒2000字,却不知所云。有时,企业参加一个不知哪里举办的会议,也要发稿;搞一个小范围的促销,也要四处发稿,实在有点浪费媒体资源。 二 标题和内文 标题不能太短,更不能太长,有些文章被推荐到热点位置时,太长的标题不便于截取,或者截取后出现歧义;标题要有亮点,“标题党”不足取,但能够吸引用户的注意力,带来不错点击率的标题,也是媒体的目标。 文章正文不能出现错别字,建议在发稿之前多次检查。文章标题也不能出现太软性的字眼,不要用太软的词汇和标题,如“全球知名的”,“中国最大的”“最专业的”。试问,一个全球最大的企业,还用在文章里专门提一句么,你见过苹果说的稿件说自己是“全球最受欢迎的公司”么? 另外,对于大部分网络媒体,一般不设记者一职,厂商供稿中不要出现“记者”的字样。
三 文章发布时注意事项
1 不要用QQ或者其他IM直接给编辑发文章,应该用邮件发公关稿。 用IM发文档有几个坏处。你发文时,对方要花时间去接收,还要记住存在什么位置,很麻烦,下载到本地后,还要在多个文件夹中寻找,很费时间。使用邮件,可以随时处理,也不怕找不到文章,处理过的邮件自动设为已读,需要转给其他编辑的直接转发。所以,使用邮件处理公关稿的效率很高。 在QQ上接受稿件然后发布,会有一种被呼来唤去的感觉,而收到邮件里公关稿,往往有被尊重的感觉。我不发的时候,会说没收到,可以委婉地拒绝,也不必马上处理;在QQ上接收文件,如果不马上处理怕忘掉,可是立刻去处理,又感觉有点跌份。 总之,来自QQ和邮件的公关稿,是两种截然不同的感觉。所以,如果不是领导发来的文档,对于QQ直传的文档,我都会选择拒绝。这是一种很微妙的不同,我强烈呼吁,公关公司和企业的公关们,能将这条写入你们的发稿规则中。 有些公司,譬如一些外企,更喜欢用MSN,我建议PR们最好同时安装QQ和MSN。 2 慎用电话 我承认,一般情况打电话比打字更快,发消息要比发邮件更便捷。但对于接收一方,往往很不方便。我经常在开会时接到询问稿件发布的电话,通常情况我会挂掉。所以,对于电话、邮件和QQ三者,稿件最好用邮件发,而不是直传,发完之后QQ提醒;需要打电话,最好在QQ上预约,先问“方便接电话么”,然后再电话联络。 3 发稿时间 一般编辑周末会休息,稿件在周一和周五最容易发布;编辑一般早晨发稿,下午往往忙别去,发稿也要赶早。发稿最好避开大的新闻事件,譬如苹果发布会,微软的新产品,互联网大会,编辑忙的不得了,你们还去添乱,稿件大多会被束之高阁。 当然,如果配合热点发些稿子,反而会减少编辑的负担。苹果发布新产品,你出篇iOS系统应用盘点,微软发布IE9,你的稿子也能带上IE9,编辑会很乐于推荐,这时间他们正忙于组稿,四处找稿件呢! 4 负面稿和撤稿 负面稿件往往带有很强的新闻点,点击量也很高。但负面稿件如果处理不善,也会给媒体自身带来麻烦,此前就有媒体因为刊登过多负面稿件而遭遇法律诉讼,令媒体品牌大受伤害。发布竞争对手的负面新闻时,最好能和媒体签一条免责条款,将信息不实的责任主动揽下来。 负面稿如果针对自己,就需要撤稿,撤稿是个麻烦事儿。这要分几种情形:如果对方的稿件不属实,可以用一篇辟谣的文章替换;如果说法有误,可单独写辟谣的文字附在原文之后,表明立场。 负面稿件发布的时间是在周五下班之前、长假之前,往往能给对手以致命打击。回应负面稿子要及时,一个小时内出回应文字,并发布到微博、博客上或者媒体,基本可以将不良影响降低的最低,而如果在24小时内没有任何回应的文字,大部分媒体会认为事件相关人已经默许负面文章的观点。 5 发稿频率 有些PR的发稿频率很高,高的时候一天两三篇,一周十几篇,媒体首页成了企业的官网,这显然不合适。即便是优秀的稿件,也要发文有度,我个人以为,企业发文一周两篇的频率就足够了高,太高会让用户产生审美疲劳。 6 实名发稿 厂商和公关公司应该和媒体建立长期稳定的关系。媒体要了解发稿者的真实身份,应该实名发稿。对于来自厂商的稿件,媒体应该注明“厂商投稿”,“厂商投递”字样。
7 文件格式
有的公关直接发Word文档或者txt+图片。我的建议是:两者都发,然后用压缩软件打包。一篇文章至少发两个版本,一个版本是Word图文版,有的网络媒体后台支持直接粘贴Word文本和图片;另一个版本是是图片+txt,这主要针对平面媒体或者那些需要Ftp上传图片的网站,如果不将图文分开,在word里重新截图有多费时间!
总之一句话:让发文效率更高! 8关于费用 媒体应不应该有发稿费,媒体和公关公司是什么关系?这事儿困扰着很多媒体从业者。我个人认为,媒体不应该主动去要发稿费,对于优秀的文章,应该来者不拒。没有这些稿件,媒体就失去大量新闻源,也就谈不上媒体立足“新闻”。 但我认为,媒体可以为企业提供媒体服务,只要这种服务建立在“快速 全面 准确 客观”的前提下,不丧失媒体准则,付费的媒体服务并无不可。一般来说,这种服务可以包括,新闻资讯撰写、专题、专访、专区,让用户对企业有全面的了解。 公关要做的就是“粉饰”,而媒体要做的是给用户真实,从这个意义上讲,两者的工作是矛盾的。企业和产品高矮胖瘦美丑,用户也有不同的口味,媒体有责任把真实面貌传递给读者。即便,偶尔我们也帮着做一些粉饰,也适可而止,我们可以锦上添花,但绝对不能颠倒黑白。有些公关和广告搭卖,用广告费砸媒体,十分不妥。人就是人,鬼就是鬼,给鬼加上一张画皮,那是魔鬼做的事儿。 |
|
Posted: 21 Mar 2011 10:08 PM PDT 《DeathSpank》(戴斯班克)和《DeathSpank:Thongs of Virtue》(戴斯班克:雪山地牢),2010年出品的,卡通ARPG,2D场景加3D角色。游戏充满幽默和嘲讽,对白十分风趣,上次在玩《新冰城传奇》时,还想着应该多出些幽默的RPG,这就又找到一款。 游戏的卡通风格,设计奇幻精美,不似传统APRG那种“暗”色调;音乐也比较轻松,不似传统那种庄重或诡异。游戏的情节简单的说就是“6条神奇丁字裤的故事”,内容和对白可说胡吹乱编、幽默嘲讽,极度无厘头,不过不会令人觉得古怪。主线任务都不复杂,只是有些主线、支线任务过于单调重复,有些无趣了。 地图不算太大,没有迷宫,任务也不复杂。操作很方便,提示也多,画面各物品都很醒目,玩起来很流畅。地图上传送点很多,主角如果死了,装备不会丢,并在最近的传送点复活。除了主要敌人,消灭后不再出现,其它散兵游勇会在地图上不断出现。掉落的武器、装备、物品等很多,不用去特别买,基本钱用不上。武器、装备、道具的组合也不复杂,不过花样到足够多了,还可以选择自动装备拾到的最好的防具。 游戏其实是同一作品的前后两部分,所以第二部分各基本元素和第一部分一样。不同的只是道具、物品、分支情节的数量增加了,大地图里各小地图的方式有所不同。另外第一部分里有长距离武器的属性,但却几乎什么长距离武器可用;到第二部分,手雷、枪、火箭筒的用处就大了。 印象中这好像还是第一款此类的ARPG,效果不错,值得一玩。不过一定要先玩第一部分,再玩第二部分。 介绍: |
|
Posted: 21 Mar 2011 03:04 PM PDT 一个年轻漂亮的美国女孩在美国一家大型网上论坛金融版 亲爱的波尔斯:我怀着极大的兴趣看完了贵帖,相信不少 理再明白不过,请听我解释。 |
|
Posted: 23 Mar 2011 04:52 AM PDT 这的住宿条件真爽。 |
|
Posted: 23 Mar 2011 04:45 AM PDT 2011年3月19日,与团队成员一起游八达岭野生动物园,照了些相片,大家共赏之。 |
|
Posted: 23 Mar 2011 04:44 AM PDT 昨天重温了《蝴1》,今天又重温了下《蝴2》。《蝴蝶效应》系列真是经典,很喜欢这个导演。
人生真的可以S/L么?小说家言,不足为信。不过重过这个片子,我倒是回想了很多。
这个片子的系列太有意思了,1里的男主,可以在读自己的旧日记时,回到过去纠正一些事;2里的男主是通过旧照片来完成。太COOL了,小流下鼻血,人生全变了。我想,这是很多人的梦想吧?
不幸,导演告诉我们大家,这事儿不靠谱儿…… 这片子也是老片子,我想看过的不介意我剧透,没看过的……早看吧。男主,每想改变一次,事情都好象更坏一些……如果说1中,男主是为了补救自己少年时做过的导致人命的后悔事,我想2就是为了纯的个人于“爱情”、“事业”等的权衡了吧。
1上可怜的家伙,越搞越糟,牢也做了,自己也断肢了,心爱的女人也害死了,反正什么扯他干什么。2呢,那个男主也没好哪,不过是最后玩死自己,过程中妻离子散友崩事业塌方,该有的都有了。
我想,导演教育我们一件事,过去的事就是过去,没有可补性;我想现实中,已经结束的事,死死的再纠结也是很蠢不可及的事儿,不是么。
很巧,前几天才看了我心爱的写手“九把刀”的《精准的失控》有类似的情节,当主角想解开自己一只的眼瞎的结果时,眼睛是没问题了,手断了。大概意思就是这样的,没有意义。
罗里罗索,说了这些,我想说什么呢?人生就70年,走下去吧,不管对错!当你20时,看到这篇,你还有5/7的人生;当你35时,不巧,一半儿;再大点儿,如我,过一天少一天别那么多后悔,过的是明天,不是昨天。
其实我的人生没什么可重塑的,如果给我这个能力,我真不知道怎么用。我想我还会选择去做游戏;如果是感情方面,我想我现在的老婆和我在一起必有其道理,我没有必要再改变;真说要用,大概我会用在2年前家父要走那段,最后让他安心,我没有做到!悔!
今天有个同事要离职,我很难过,不知道他是什么感觉?
最后说对博客,我散浪,散漫,散散的浪漫。我不可能每天去写微博或是博客。有朋友在我博客上留言,我会看到,但不会一一回复,我没有时间如很多博主一样天天泡在博客上一一回复好友们的留言和评论。但请相信我,有需要我电话或联系的,我会第一时间联系大家。了解我的都知道我,不了解我的如果没有必要不了解就不了解吧。 |
|
Posted: 22 Mar 2011 07:24 PM PDT 无论是google还是百度“倩女幽魂”,都会显示梦幻聊斋的广告,标题还是“倩女幽魂3.25内测”,点进去是梦幻聊斋。上次倩女幽魂二测关服当天,梦幻聊斋急急忙忙开服测试,搞得BUG百出,甚至有每次上线角色属性都会随机变化的大BUG,练级都白练,因为重新登录就变了。 搞不懂一个游戏公司,不想着怎么把游戏做得好玩的,整天把心思花在这种没用小动作上。更让我纳闷的是,倩女即时制,写实风格,梦幻聊斋回合制,Q版,有什么竞争关系啊?就因为聊斋两个字?搞得神经兮兮。真无聊。 |
|
Posted: 22 Mar 2011 06:36 AM PDT
So, what are we working on? We started the day by compiling a preliminary list of projects and forming teams. Naturally this list could change, new projects could form, and projects could evolve. It is important to remember that this week is experimental — a weeklong extension of Unity’s “Fridays are For Fun” process — some projects will end up in the future versions of Unity… and some will crash and burn.
For more information during the week, head to unity3d.com/NinjaCamp, follow the #NinjaCamp hashtag on Twitter or check out updates on our Facebook page. |
|
Posted: 24 Mar 2011 01:39 AM PDT
玩法:左右方向键控制移动,空格键射击 |
|
Posted: 23 Mar 2011 02:05 AM PDT 自反响平平的无冬之夜系列被腰斩后,Bioware-EA策划了龙世纪(Dragon Age)这个21世纪最传统、气势最宏大、野心最显著的西洋RPG系列,并收获了如潮水一般多的好评。于是,他们在09年的一代起源(Dragon Age: Origin,缩写DAO)之后,飞快地推出了10年的资料片(DAA)和11年初的系列第二作(以下缩写DA2)。 [牛头人喷歌]战略航空军推荐指数:84 游戏质量基础分:85 西洋RPG有史以来制作最精良的系列
DA系列的常识或者说八卦真是没啥好说的 DA系列的制作公司Bioware是目前这个世界上最好的两家西洋RPG公司之一,和Bethesda一样是数百万销量俱乐部的常客。这是家历史平平无奇的公司,几个医学背景出身的家伙联手想做医学软件所以起名叫Bioware,然后鬼使神差地进了游戏界还和当时如日中天的黑岛(Black Isle)组联手做起了RPG,第一款真正进入玩家们眼中的公司作品就是震惊了整个西洋RPG界的博得之门(Baldur’s Gate)……再后面的事情你们就都知道了。 博德之门系列对公司是如此重要,这也直接导致了进一步的问题:他们后面的所有作品都很难摆脱这个伟大系列的影子。和Bethesda完全基于原创设定和系统的老头滚动条(上古卷轴TES)系列不同,博得之门系列是个三方合作的产物,掌握DND版权的WOTC,伟大的RPG复兴者黑岛及其背后的Interplay,加上实际制作方Bioware,这直接导致了Bioware不得不放弃这个数百万级的Title,无法像Bethesada一样不停在自己的主力Title上精益求精。在BG系列被迫结束后,他们所作的所有努力都可以概括为“复兴一个完全属于自己的博得之门系列”。无冬之夜(Neverwinter Nights)和星战旧共和国武士(Star Wars:KOTOR)是继续利用版权方合作的旧路,非常失败的Jade Empire则是他们在独立制作作品上的第一次尝试。终于,他们用Mass Effect继承了KOTOR的市场,而龙世纪则是重新回到博得之门的尝试—— 问题只有一个:时间已经过去了十年。你不可能在今天这个市场上仅仅重制一个博得之门,这已经是一个由家用主机统治的时代了,你无法想象要怎样把博得之门的操作移植到手柄上。 “于是,他们终于有了动画同步的判定表” 在龙世纪1里面,Bioware采取了家用主机版本和PC版本分开开发的策略。这一折衷的策略并没有收到预想中的效果,所有的评论者和玩家都认为家用机版本的DAO不能忍受。于是,在DA2里面,他们找来了一些新的设计师,将PC和家用机的操作在设计层面上从根源统一。在这些设计师里面,有人确实懂“一个动作游戏的手感应该怎么制作”,或者说,他们至少知道制作方法的原理——于是,在龙世纪2里面,我们第一次见到了动画时间轴和判定表完全严格同步的系统。这对Bioware来说是一小步,对西洋RPG来说,却是一大步。从这一刻开始,龙世纪2可以自称是真正的“动作RPG”了。很多玩家错误地以为“看不到回合”的RPG游戏就是动作RPG,所以要解释这一小步的意义,我需要先回顾一点基础知识。 在以前关于RPG的文章中,我大概提到过几种主流的RPG回合制制作方法,我先来回顾一下。最传统的自然是绝对回合制,游戏中所有角色各行动一次,没有行动的时候他们就两腿交替在原地踏步。从绝对回合制向真实时间靠近,就出现了基于速度决定行动顺序的速度修正回合制,以及FF系列这样根据行动速度条实时决定操作的ATB回合制。再向前一步,就是博得之门的实时回合制(时间从战斗开始时以相同的速度前进,你在同一个时间回合内能下达的命令是有限的),以及WOW这样的实时异步回合制(没有严格的回合概念,但是每个技能有全局冷却,相当于每个人自己有个行动回合系统),这两个虽然在明面上已经看不到回合了,但从逻辑角度来讲仍然是不折不扣的回合制。即便是这两者,回合仍然是一个需要独立掌握的外部概念,无论是WOW还是博得之门,在玩家角色结束行动之后,他们也必须发呆或者等待冷却时间结束才能开始下一个动作。这个行动动画可长可短,战斗的Log也是完全独立于画面显示的两套独立系统。 而在龙世纪2中,他们终于像真正的动作游戏一样,做到了所见即所得的程度:游戏的逻辑判定时间轴,和动画显示时间轴是完全同步的。玩家不必独立去掌握一个名为“回合”的概念了,因为所有的动作时间都会根据动画长度反映在游戏里。一个施法动画长的魔法自然更容易被打断,一个会造成受创硬直动画的攻击就会导致目标所有行动中断。整个游戏的动作和动画节奏随之变得流畅起来,“Lock Next”按键(如果你没发现,按键盘上的R键,你会爱上这个操作的)的加入更是让整个游戏节奏变得行云流水。这不是龙世纪1那种勉强硬加的主机模式,而是经过专门设计的有深度的Gameplay。只要仔细研究技能树和战术指令系统,你就会发现,通过巧妙的技能组合和命令搭配,你可以做到在Hard模式下几乎不进行战斗中暂停而完成整个游戏。如果说龙世纪1的设计主题是“在博得之门模式的基础上强行伪装成一个动作RPG”,那么龙世纪2的设计主题就是“在一个完善的动作RPG的基础上加上博得之门式的深度和暂停指令系统”。DAO的设计师考虑的极端情况是在噩梦难度下每秒暂停一次进行指令操作,有误伤,主要靠放风筝和走位的情况,而DA2的设计师考虑的极端情况却是没有误伤,依靠自动战斗指令和各种条件控制技进行流畅战斗的情况,他们甚至没有太考虑噩梦难度的误伤。最能证明这一点的是设计师在职业技能树和战斗波次方面的设计:几乎每个职业都有大量的范围攻击和控制技能,而几乎每场战斗都有至少1-2波次刁钻的增援,这让DA1式的详细计算、钓怪和风筝显得毫无意义。如果你死死抱住博得之门和DA1的战斗教条来玩这个游戏,或许会觉得游戏过于刁难人;但如果你尝试他们所设计的低难度流畅战斗,将会体会到一种在之前的Bioware游戏中从未体验过的新快感。 就我个人的意见而言,这是一组大胆而杰出的设计创新。在这个图形和计算能力已经大幅提高的时代,没有必要再死守着当年的回合制教条不放,所见即所得和真实的动画-判定表并没有破坏任何游戏逻辑层的内容:用0.3秒播放砍一刀的动画然后等待全局冷却时间到达1.5秒,和直接播放一个1.5秒的砍一刀的动画,在逻辑上是完全等价的,但是后者给人的感觉要舒服得多。为什么很多人说作为一个RPG游戏的WOW也有很好的手感?其中最主要的原因,正是因为他们已经在动画和判定的契合度方面做了不少工作。而DA2走得更远,成就也更为贴近一般游戏,市场同样给了良好的反响。我们可以期望将来的RPG游戏在这条道路上做更多的探索。 但是你们那些会做RPG的人都到哪里去了? 一般的新RPG系列如果能做到DA2这种程度,坊间应该全是溢美之词了,但DA2还是招惹来了不少恶评。或许是因为负责DAO的主设计师离开团队的缘故,在DA2之中充满了各种各样的小问题,那些会激怒从博得之门时代就支持Bioware的老玩家的小问题。雪上加霜的是,这些小问题集中暴露在游戏1小时开始的部分。就我个人的游戏过程来看,DA2的游戏评价曲线是这样的:前1个小时很高(“呀,好流畅的动画和动作性”)->1-5个小时逐渐降低(“等一下,这是怎么回事?这又是怎么回事?你们他妈的到底懂不懂啊!”)->5小时后重新开始回升(“唔,没想到技能树和连续组合还是很有深度的吗……怎么现在才说啊?”)。这毫无疑问是各种展示曲线中最糟糕的一种,对游戏的评价和舆论风向非常不利——你知道,那些所谓的游戏评论家一般不会像我这样等到认真玩完和分析一个游戏后才写文章,他们才忍不到5个小时呢。归根结底,DA2在这个新的设计团队手下走得太远,他们自顾自地忽视和抛弃了很多RPG老玩家非常看重的设计要素,很多部分太过一厢情愿,走得太远了。很多时候,从改进往前再走一步就是无底深渊——对一款重量级游戏的续作就更是如此了。 我在上面的优缺点列表里已经提及了很多,在这里我只简单拿出一两个例子来详细说明。最典型的设计失误就是对话树。游戏前作DAO的继承了BG形式的对话树,看起来十分烦人,对白长而无当,找不到重点在哪里,玩家经常在迷茫中做出了足以改变游戏流向的重要决定——我在DAO的评论文中提到过这一点,每次我回到营地和队友对话都有一种类似“壮士一去兮不复还”的悲壮感,生怕手一抖彻底打断了一条罗曼史的发展。于是,DA2做出了改变:他们决定用小图标标明所有牵涉到像恋爱或者做出重要选择这样的选项。这是一个非常好的改进,所以我欣喜地给他们加了优点分……如果他们只做到这里该多好啊。可是,他们的设计师觉得这样还不够简明,不够面向一般玩家,又加入了画蛇添足的“选项语气”来塑造主角的性格——拜托,你们是在想什么?用三倍的对话录音量,来换取一大堆无足轻重,其实怎么选都好的选项?如果一个选项没有决定意义,也没有游戏性意义,效果更是一望即知,你们标出它来干什么!结果,这个“选项语气”变成了一个让老RPG玩家看到直皱眉头,让一般玩家不知所措的悲剧设计。显示个性?拜托,玩家的个性不是通过这种猴子选图标的方式展示出来的。 另外一个例子就是关卡和任务的结构。DAO缺乏中心城市,缺乏剧情上的连贯性,很多任务缺少呼应,太多场景用过就丢。于是他们在DA2将故事的长度延伸到了10年(实际上是7年,剩下的三年大概又在DLC了……可恶),故事围绕着一座城市和周围的地区展开,在这段时间中世界逐渐产生变化。城市地图分有日夜,任务也会随着主线的推进和野外的遭遇以各种不同的灵活形式汇总到你的任务列表中来,这也是令人十分舒服的展开方式,虽然没有FNV“总分总”那样宏大叙事的史诗感,倒也有独特的风格。一代的搜索Codex没有直接的回报,所以他们决定给一部分Codex搜索加上对应的任务,给玩家一些回报——总之他们应该是认真总结过DAO的成败得失的。如果事情就停留到这一步,那该多好啊……我坦诚,我自己为了节约成本和制作周期,也考虑过地图复用性设计的问题,但我也没想到有人居然敢真的节省工作量到这种地步。一张地图有白天黑夜大家都能接受,有日常和战乱版本也问题不大,随着故事时间进展同样的场景展现出不同的风貌如果做得好可能会是留名史册的名场景。可是如果像DA2这样把一些名字和设定完全不同的场景,用同一张地图草率地堵上几个出入口就当作不同的迷宫给玩家去跑,明显已经超过了用户接受的底线。确实,对战游戏玩家能够很高兴地接受同一张地图反复使用,因为那是“同一张地图”,而他们反复游玩这张地图的目的就是“熟悉这张地图”,这对他们来说是有意义的。你一个RPG游戏把同一张地图翻来覆去改了名字封了路口展示在玩家面前是为了什么呢?设计目的何在,让他们熟悉可以用来拖风筝的每一个转角么?你们就真没意识到拐角拖风筝这个关卡设计灭了系统设计师绝大部分工作的意义么?至于那些“在野外捡到了任务道具然后直接回城领赏再无下文”的“支线任务”,我都懒得说什么了。我承认这个类型在我的任务设计文档中没有,因为我没有想到真的会有人想出这种脑残而没有任何设计意义的任务类型来。好歹把这些任务交给一个熟悉的NPC用来塑造一下人物形象也行啊!刷出一个新NPC,交一个道具,领一个金币……你们敢说自己做的是RPG么,现在FPS都比你们做得好啊。类似的小问题还有几个,在此不一一赘述,看上面的缺点列表好了。“过于简化”的每个细节看在老玩家的眼里都像是一粒老鼠屎,你们也就别抱怨老玩家纷纷开火了,是你们自己没有掌握好续作的火候。 最后抱怨一下DLC这个大毒瘤。最近的DLC越来越变本加厉了,DA2这个已经到了过分的程度。他们强行从主线切掉了整整一章(应该还没发售),去掉了一个队友角色,还有大概1/3的装备,然后都当作DLC拿出来卖。这行动生硬到什么程度呢?如果你没买DLC,主角又没选盗贼,那么在整个游戏里就就没有一个队友可以使用弓箭——他们把唯一能自由装备弓箭的队友做成了DLC。如果你没买装备DLC,那么在游戏里大概有1/3的稀有掉落根本不会出现,几乎包括各种终极武器。坦率地说,我觉得这过分了。与其如此,你们不如直接做网络游戏去吧。 分裂的精神和制作者 我可以总结说,DA2是近年来我玩得最舒服的一个RPG游戏,比DAO要舒服的多,它在对动作性和节奏方面的控制达到了RPG游戏的新高峰。然而,掌握这些知识的人看起来无法和掌握RPG知识的人共存,这直接导致了游戏在RPG方面的急剧滑落,除了战斗系统以外乏善可陈;就算是战斗系统的杰出,也被关卡和敌人设计的拙劣抵消了一大部分,很多老玩家无法体会到。这就像一个精神分裂者的左脑和右脑,我都可以想象到在他们项目内部掌握不同设计知识的两派设计师就设计哲学和实现手段产生争执并最终分裂的样子。 如果龙世纪3想要在RPG的历史上再进一步的话,他们必须解决这种精神分裂:无论你的动作和战斗部分做得多么出色,老用户们仍然会对RPG部分的失衡耿耿于怀的。最好的选择,是不要让部分人的固执守旧哲学影响游戏的改良,但也不要让偏激的外来设计师大刀阔斧的砍掉过去的所有好东西……当然,这只是个期望。我也知道,作为一个项目来说,要聚集起一群心胸开阔,能够良好的消化和接纳其他设计知识的设计师是非常困难的。 |
|
NinjaCamp III: New Script Dialog Posted: 23 Mar 2011 10:26 AM PDT As our NinjaCamp project Bas and I decided on a cause a bit humbler than many of the other projects going on here: We just want to improve the workflow of creating a new script in Unity. The current way to make a new behaviour for a GameObject in Unity is like this:
With the solution we’re working on, you can instead just choose “New Script” from the Components menu, and you’ll get this: ![]()
When you click “Create and Attach” the script will be created with the right file name and class name, compiled, and then added to your selected GameObject or Prefab if you chose one. We’re also adding this partially related button: ![]() We’re still missing more work on the script template building options, but I can already see that this thing will save me time in the future, if nothing else. |
|
Posted: 24 Mar 2011 10:05 PM PDT 使用新浪博客已经超过五年,将其当作记事本,常常将一些感悟记录其中,由于很多内容引起相关人员关注,收到骚扰信息是常事,各种无关信息的删除一直是件麻烦事,以前操作中总感到一些不便,总是无法便利删除。今日偶然见整理博客,发现顺畅许多,或许是市场竞争的压力,新浪博客的某些功能易用性总算是得到了改善。 虽然新浪博客总是因为XX原因而随意删除原创博客,但对于新浪博客的进步还是给予赞赏和鼓励,这个世界充满了矛盾和不平等,每个人若能以宽容的态度去面对,社会将变得更和谐。 最后祝愿新浪博客戒骄戒躁,对于存在的问题能够有一个清晰的认识,在未来的日子中不断优化用户体验,点滴的进步都是成就。 |
|
Posted: 24 Mar 2011 06:54 PM PDT 创意只高于生活一点点,只是在说我们怎样去实现我们的创意。。。创意是概念性产物,涵盖所有现实与不现实的想法。但往往一个创意产生时,都会被放在YY创意的行列。。。但当一个比较现实创意产生时,它又会被放到山寨的行列。。。什么的创意才能为创意呢
当人类会使用工具创造时,就是人类文明的开始。在说文明时,又总会说我们创造了人类文明。那么我们是怎么创造文明呢,是用了一年的十年的时间吗。我想没人会认为是的,就是用了这么长的时间。。。我们中华文明到现在已经有一万年了,以后还要不断的创造着,在这段慢长的创造时间中,不只是在历史留有名字的名人,还有那些成千上万的无名者,但总是后人站在前人肩膀上来创造的。。。我们今天所用所玩的电脑,手机,游戏等等。。。从它们诞生到现在不知更新换代多少次了,但它们还在不断更新发展,这就是我们不断创造的结果。 我们都是艺术家,但并不是说我们所做的每个物品都能称做艺术品。数年数月完成的艺术品,也许只有我们自己认为它是艺术。当你随手一挥时,也许万众瞩目的艺术品。这样的结果你认同吗。。。当我们进入一未知领域,是转一圈看一遍就可以了解并可以创造的吗,我想答案并没有多少人会说是的。。。但为什么我们进入游戏后就要说“是的\"呢。难到游戏真的很简单吗,只要我们有创意就可以的吗,我们玩过很多游戏就可以的吗。但往往总是会这么的去想,但结果又往往不是YY就是山寨。。。我们的创意为什么不能在YY与山寨之间产生呢。。。 为什么说创意要高于生活一点点呢,难到只因为这样容易想的到吗,又难到这样可以成为山寨的升级版吗,这些还不能解释它。因为创意不是简单的想像和生产,是我们要在已知的基础上发现问题、总结经验,然后在给它一个有价值意义的用途,把新的理解灌输进去。也许有人认为这样去想新的东西太少,但我们的目的是去实现这个创意,因为最好的创意其实就是创造。。。创造的价值。。。 作者:爱你有心声》小拇指Yu心声 |
|
NinjaCamp III: Foxes and Penguins Unite! Posted: 24 Mar 2011 12:33 PM PDT The Ninjas have assembled and we’ve all been hard at work this week. We’re surprisingly tired at this point, but all sorts of cool things are popping up around the office. For our NinjaCamp project, Levi, Vytautas, and I (Na’Tosha) decided to pursue our passion for GNU/Linux — we thought we would invest our time into getting a web player up and running on an Ubuntu workstation. It’s turned out to be quite the endeavor, but, after a few days of poring through the Mozilla Developer’s Reference, the OpenGL documentation, the X11 documentation, and countless stacktraces (not to mention pouring ourselves dozens of caffeinated beverages), we do have something to show for our efforts:
![]() Our Demo shown at GDC running in Firefox 4.0 on Ubuntu 10.10.
Despite the fact that Firefox 4.0 has not been released yet, we chose to use 4.0 and leverage some goodies from the new API. It’s completely unpolished – we can’t even reload the unity engine in the same browser instance, and it of course lacks niceties like a splash screen, etc. Although it is just a demonstration that we put together in a week, and it is not an official Unity project, all in all, we’re quite proud of ourselves. |
|
Posted: 23 Mar 2011 02:18 AM PDT 北京最近降温,天气不好,生病的人多,大家多注意身体
近期的主持工作安排,陆续更新中。。。 3.24 《夜唱夜开心》酷6直播 北京音乐之声 3.25 韩国人参公社“正官庄”北京旗舰店开幕 三里屯SOHO 3.26 《夜唱夜开心》酷6直播 北京音乐之声 4月 盛大游戏活动 韩国首尔 时间待定 5.15 腾讯QQ炫舞三周年浪漫盛典 北京 5.28 鸣乐汇两周年庆典汇演 北京 还有些待定的活动哦,等确定了陆续更新 之前做了电影《万有引力》在蓝色港湾传奇时代影城和万达影城分别进行了“寻找引力人的活动” 将于2011年4月8日上映的这部浪漫爱情电影由导演赵天宇执导,莫文蔚、张静初、郭涛、戴立忍、文章、白百何、段博文、黄幻在片中分别演绎了四对人生际遇截然不同的恋人和伴侣。 电影宣传很特别,广发避孕套
这次发布会别具一格,发布会现场
100余台电脑严阵以待,到场的媒体和嘉宾现场展开了PK大战,场面很是热闹
点击佳佳的微博多多关注最新动态啊 有了微博,真的就懒得更新博客了
|
|
More Info About Tower Defense Games Posted: 24 Feb 2011 08:10 AM PST © @ANDYwithCAMERAAre you looking for a new kind of game to play?
If you're bored with your current set of PC games, then playing a new game can provide you with a new challenge. The best tower defense games offer unique gameplay mechanics. They follow and simple formula can best be described as "kill everything that moves". And in these games everything does move, at the same time, towards an object that you must protect. They appeal to those gamers who like careful thinking ...
|
|
NinjaCamp III: Asset Store Game Posted: 24 Mar 2011 09:04 AM PDT For NinjaCamp, Chris and Rob decided to see if two guys could make an adventure game for under $1000 using only Asset Store assets. According to them, the number of art packages available on the Asset Store made level design fun, fast and easy. With no programming experience, they spent the last few days getting up to speed with scripting in order to implement gameplay. About the Game:
|
|
Posted: 24 Mar 2011 07:27 AM PDT Joe Robins spent a few minutes checking out the coolness Shawn and Jens have been busy with over the last few days. Vertex Color Painting! |
|
NinjaCamp III: What references your assets? Posted: 24 Mar 2011 06:10 AM PDT NinjaCamp ninjas are busy working on small, large and almost impossible projects. This one is tiny in comparison, but should be pretty useful. We’re adding a context menu item in the asset window to “Filter References in Scene”. Selecting it will apply a filter to your hierarchy window to find all GameObjects or their children that reference the selected asset.
Alternatively the filter can be specified manually by using the “ref:ASSET PATH” syntax.
With two days of NinjaCamp to go we expect to finish the “Filter References in Project” option too. It will help you find other assets (prefabs, scenes) that use the selected asset. Take care, Uniteers! |
|
Posted: 26 Mar 2011 03:21 AM PDT http://www.gamedev.net/page/news/index.html/_/general-news/the-daily-gamedevnet-r11930
Mar 21 2011 11:28 AM | Ravuya in General News 周一,很冷,为了取暖,来仔细阅读今天的报纸,一直读到你热血沸腾。 我们似乎看到 Duke Nukem Forever 提供了一个合作模式,其中玩家能够抓一个女人,并且在嗨的时候能在背后抽她。我表示无话可说。 我很怀念 Atom Zombie Smasher,及时 Steam 将它在我面前晃过。现在我只想让自己不再沉迷于 Square 的那些 PSN 上的 RPG 游戏中。也许我还能自己做一个不错的游戏玩玩。 日本的一个半独立开发者 Miracle Kidz 正在做 River City Ransom 的续作,我预期它将充斥着大量的“BARF!”。下一步,他们应该做一个 RCR 和 Streets of Rage 的混搭游戏,并且请 Yuzo Koshiro 做游戏的音乐,那样的话我就要加入他们。 我觉得 Stacking 是个好游戏,很高兴看到他们放出了 DLC 扩展内容,一定会很赞。 我有点后悔把钱花费在了各种租赁,食物以及其他爱好上。因为我想要这个 Minecraft 盒装小猪银行。如果你捐献 500 美元给 Minecraft 的记录文档撰写的话你就能得到它,你同时还能获得怪异的爬行类,以及其他酷酷的东西。 好像 Rare 在继 Perfect Dark Zero 之后又开始开发 Perfect Dark 的新作,有人在一个已经被取消的游戏中发现了一些原画和测试动画数据。我只想要一个像 Perfect Dark 中 Chicago mission 那样的完整的游戏,Rare 你为啥就不肯满足我呢? 3DS 的项目也许比 DS 的项目开销更大(并且比手机游戏的花费大得多),但似乎那些在 3DS 上赶工的头一批项目都觉得这个更高的成本还是可以接受的,因为游戏可以卖的更贵吧。由于这个平台最初的一些作品让人非常失望,所以看来接下来几周内都没有什么能玩的作品出现了,一直要等到 X-Com 的制作人来吧做一个 Tom Clancy 的游戏。 说到手机游戏,如果你是一个 Android 的开发人员,现在你能够从 Market 上获取更多统计数据来了解你的程序卖的如何,并且用户使用状况如何。我已经迫不及待的想要完成我 Android 上的 roguelike 项目,并把它更新到 Market 上了。 如何才能知道自己是否是一个成功的游戏开发者呢?当你的新作能够影响你的旧作的话,你就成功了。暴雪就有这个问题,不过我觉得他们实际情况过让他们更加伤心。 在今天回归到正常的生活状态前,大家可以去看看 Disney World 新的 Haunted Mansion 的排队区域。看起来游戏开发者更容易找到工作了。 |
|
Posted: 26 Mar 2011 09:08 AM PDT 玩一个网页游戏《武林英雄》,买一个最简单的道具什么何氏璧之类的,就是几块钱,十几块钱。 想想以前我们花了两年时间做的《七夜》,玩家和业内一致好评,国内外获奖无数,定价也不过18元。 即便如此,还是有很多人愿意在《武林英雄》里面一口气买几百个何氏璧,一口气充上千元。但对于《七夜》,很多人就非要去玩破解版。 国内玩家的消费习惯还真是很奇怪,让他花10块钱买个游戏,是肯定不干的,一定要去玩盗版破解版。 但是让他在网络游戏里面充个几千块钱买道具,很多人就一点问题也没有。 研究过iphone的在线商店,一个盈利上千万美金的游戏,美国+英国的付费量就能占90%以上。中国大陆+港澳,付费量排全世界倒数第一,连新加坡都不如,让人寒心。。。 现在做单机游戏的,也不是不能赚钱,但是就不得不面向海外市场。看到十多亿人口的泱泱大国,我也很想做点好游戏让国人去玩,我们以前做的游戏,也确实得到很多玩家的支持,他们很想看到更多的游戏出来。以前做过一个叫《天地道》的游戏,仅一个门户网站一天就有十多万的下载,但还是没有赚到钱。 按照我们做过的游戏的品质,在国外估计早就成功了。可是迫于现实,在国内想有活路,就只有做免费网络游戏+道具增值服务这一条路可以走。要么就彻底放弃国内市场,去赚美国人的钱。 想想国内网络游戏明目张胆的抢钱,挺遗憾的。。。 当然,国内市场和用户的消费习惯,不是一两句话,或者一两个人努力就能改变的,我说的这些权当吐槽吧。 |
|
Posted: 25 Mar 2011 09:10 PM PDT Y 13:19:47 大S, 优秀的策划是什么样的 S 13:20:42 不同的人定义不同,你想听全部定义? Y 13:20:54 听你的看法 Y 13:21:10 或者说你认为什么样的策划就是优秀的,你认可的 S 13:24:45 大条件如下 有扎实和广泛的阅历基础;有基本的技术原理知识;眼界开阔;只要意思清楚,在表达上不拘泥于形式 Y 13:26:37 若现在你是面试官,而我应聘主策,那么你会提问什么呢? Y 13:26:58 或者说你会出什么题目来考察我是否够格 X 13:30:58 好策划的定义啊,这个真深奥 X 13:32:51 好这个定义太难总结了,投其所好,物尽其才,就是好策划了 S 13:33:14 以下只是我所希望的,不代表放诸四海皆准的 1 年纪要够大。因为足够的年纪才代表有足够的阅历累积过程,以及对同一个事物产生多方面的见解。游戏策划设计之源不是游戏,而是游戏之外的各个领域。比如比较靠谱的AI设计涉及到人的心理认知规律(虽然可以不深入,但基础应该了解)。计算机图形学中对现实环境的模拟都是造假,而不能一厢情愿的就是完全真实再现,做不到就是程序烂等等 S 13:38:08 2 有基本的程序实现常识。设计就是一个面向对象的过程,把各个功能抽象出来才能使之接近程序的表达。比如我这里有10个任务,它们起到的作用就是把玩家从0级带到20级,而这10个任务究竟是什么,需要什么道具,需要打什么,如果我是在做任务的数值规划,那刚才的什么什么都是不必要的、用不到的。因为这时候一切都抽象成了数学表达 S 13:42:13 接2,有程序实现常识之后,在把自己的设计传递给程序的时候,就不会你说你的,他说他的,似乎用了一样的名词,其实牛头不对马嘴。然后程序来一句:算了,你跟我说哪里有,我自己去看 S 13:43:42 只是都属于为什么要了解程序实现原理 XX 13:43:44 有推动力的策划就是好策划 S 13:45:45 XX 13:43:44 有推动力的策划就是好策划 ……这位提到了在团队中策划所需要起的作用,把策划的个人修养聊完了就接团队作用 S 13:46:12 特别指明,刚才还只说到了策划的个人修养,其他的还没说到 S 13:49:14 个人的阅历积累就这些了,还有性格要求……这个要说吗?这种说了一般都会得罪人 Y 13:49:28 你认为需要说就说 X 13:51:37 其实看带过什么项目,是个好方法 Y 13:52:05 若按你的说法,那么新人不能挑担子了? X 13:52:19 你觉得新人会有好策划么? Y 13:52:32 谁不是从新人来的? X 13:52:37 策划不干一两个项目,长不起来 X 13:52:50 你是成长了,才好了的 Y 13:52:54 策划一直没有一个成长方式,也无衡量方式。 Y 13:52:58 美工,程序都有。 S 13:53:16 X 13:52:19 你觉得新人会有好策划么? ……如果这个新人有能力,那在任务指引明确的情况下,他可以做出一个好设计。这条我是有实际经历的 S 13:53:53 如果一个有能力的新人没办法做出一个好设计,其实不少时候关系到任务的明确性问题 S 13:57:59 性格嘛:不固执,不呆板。 不固执的意思不是不坚持自己的设计,而是确定对方是不是理解自己现在这种表达,如果只是对表达的不理解,那就换一种表达方式 不呆(ai,成都话里有,其他地方我不知道)板,有迂腐、做事一成不变,只会按既定规则做事的意思 S 14:03:46 不过于纠缠于细节。细节定成败这句话有一定的误导性。 之前说过“抽象”,很多功能的组成部分抽象出来之后,具体赋予它什么样的表现只是后期的一个小问题,不用前期纠结。比如某个游戏是10级算新手阶段呢还是11级算,整天讨论来讨论去。如果事先有作一个数值规划,那么10和11只是曲线的某一点先来还是后来的差别,没必要纠结这种事。以前港台游戏公司非常喜欢对道具名字每天推翻一次重做,要更贴切的,浪费人力和精力,也没必要。即使我用了ABCD代指也不会有问题阿 M 14:05:02 +1 M 14:05:06 这话太好了! M 14:05:31 我最讨厌纠细节倒腾数据的人了!效率都是被这类人降低的 YA 14:06:04 这一点我有其他看法 X 14:05:54 我也有异议 S 14:05:58 每天玩家是玩10个小时呢还是8个小时呢,我怎么做这个数值规划?这也是以前常遇到的。做完了给予一个整体变量,比如”n/24“来调节多好 S 14:06:03 欢迎插入 S 14:06:11 牙刷先 YA 14:07:25 算不算新手,还需要产品来界定,你的产品体验过程对是不是新手而言是很重要的,数值只是依据产品需求调整而已 S 14:07:13 因为,应该是歧义造成的。还是写书完整性高些 S 14:07:31 嗯,牙刷的问题我知道。潇潇呢? YA 14:08:27 另外,道具名字在当前来看,对本地化影响还是很大的,除非你不做其他地区的版本,例如文化氛围不是很相近的海外 S 14:08:35 嗯嗯,还有呢? X 14:08:51 并不是所有细节都是无关紧要的,就像检查卫生的时候,喜欢查死角,别不是故意挑刺,而是体现了一个人的工作态度 X 14:10:11 而且有些细节真的很重要,可能游戏感觉就会败在一两个像素上 XU 14:10:20 大s说的这个,主要是指高级策划或者主策划的要求,执行策划类的,连基本细节都做不好,就不要谈了 X 14:10:37 我不是说大S,蚂蚁的话我有异议…… YA 14:10:42 先回答牙刷的第二个问题:刚才的举例我应该给出开发阶段的。开发前中期,离后期还很远很远 第一个问题嘛,这其实也不是设计之初就能决定的,所以我提出没必要纠缠这种细节,这是根据产品在市场上的实际反应来做的调整(这种反应的调整一般都是在测试阶段做) YA 14:11:18 没了,还是要看客观环境,现在变化太快了,, YA 14:12:04 啊,我个人认为前期就要介入 W 14:12:27 前期在没有一定数据的情况下是需要前人的经验摸索的,单你累积到一定数据后才可以对产品进行调整。 数值的作用就是根据数据使之觉得合理的东西更加合理。 所有系统系统都做到面面俱到是不可能的,我们要发掘的是玩家的消费方式引导他的使用,有了引导及使用才能体现数值的作用。 细节决定玩家的游戏体验感,也是需要根据玩家(不同地区)提意见然后调整,比如中国人较闲,宁愿等,喜欢多部操作,外国人时间观念严重,他喜欢用钱去减少操作(总体上的) YA 14:12:57 对于“做到什么地步”,这个也需要与产品确认 S 14:13:25 现在来回答潇潇的。做到细节和纠缠于细节是两回事: 1 需要评估这个细节的优先度和所花费的时间精力 2 再评估这种细节是不是可以在各人任务实现过程中主动和应该完善的。如果是明明可以在任务过程中主动和应该完善的,且已规划合理工期,那么没完成就不再是纠不纠缠细节的问题,确实是个人工作态度问题 S 14:14:45 另外,我刚才所举的”细节“,都是可以在后期方便调整的部分,而不是涉及到调整工作量会很大 S 14:16:29 这里应该对”细节“定义的理解有差别。这种对细节的合理对待和对”细节“的分类划分,也是对策划的要求之一 S 14:18:05 另外,合理的数学模型有很大的调整余地,模型的每一个构成要素都能单独调节而不需要动到整体。 这句是回答 小翁的 S 14:18:37 如果每次数值调整都需要很大的工作量甚至全盘推翻,就要先回头看看自己的模型搭建是否合理 W 14:19:14 我知道是独立的 S 14:19:38 独立于合理是两回事 S 14:20:02 现在是策划在团队中的作用……这个分歧很大,我只能把几种都列在下面 1 策划具有一定的项目管理责任 2 策划不具有项目管理责任 S 14:21:56 如果是1,那策划应该具有优秀的沟通能力和主动性,细节执行力可以退居其次甚至没有(这是现实例子) 如果是2,沟通和主动性则集中到项目负责人身上,策划则需要细节执行力优秀 YA 14:23:12 现在常见的是分开,,一个所谓的管理,一个所谓的制作 M 14:23:25 策划需要具有全部的项目管理责任 X 14:23:49 这是项目经理吧6 S 14:24:17 其实策划的两个团队作用分支,也是国内对项目经理定位不同造成的 YA 14:25:21 日式和美式的不同,抄过来国内就发展出中式。。 S 14:25:10 而项目经理该干什么,则老板说了算 S 14:25:24 所以,策划的定位很多很多,刚才只说了常见的两种 XU 14:25:44 看来没有细节执行力的我也还是可以做策划的 S 14:25:57 所以就别问我策划该在团队中干什么了 S 14:26:13 我这里的架构又不一样 ZHI 14:26:41 所以说是个架构问题 S 14:27:54 见山不是山,见水不是水,究竟是个啥,各人自有分晓 XX 14:28:05 我是很向往那种策划凌驾于其他所有部门之上(包括运营)的架构,目前木有 S 14:28:27 呃……那不是策划 XU 14:28:32 你很有掌控欲呀 ZHI 14:29:04 我现在用一个qa出身管理人员做主策,他下面有一个设计能力很强的策划,架构运转良好 XU 14:29:06 任何人都有自己的boss XX 14:28:50 俺不是策划,俺是程序 ZHI 14:30:09 前者负责人员管理,沟通,推动,主动性,后者把握产品方向和细节 S 14:30:08 Y 14:11:24 刚才我问大S的是 “若现在你是面试官,而我应聘主策,那么你会提问什么呢?” ……我就跟你闲聊,然后从你的回答中自己找答案 S 14:32:19 时间到,我撤退了 |
|
Union and RIM Bringing Games to PlayBook! Posted: 25 Mar 2011 06:23 PM PDT Happy Friday, folks! With all the excitement from this week’s Ninja Camp, we have even more exiting news to share on the Union front… In Brian’s last Union post, we shared what we were able to do with Sony Ericsson’s Xperia PLAY launch and several talented studios to implement Xperia PLAY’s unique controls in their games. Being a part of the Xperia PLAY launch garnered those developers considerable attention, and being featured in the on-deck games recommender widget shipping on those phones should prove even more valuable. Today, we’re announcing another very exciting partnership with mobile industry giant, RIM! To kick things off with Union, in the coming months, RIM will be bringing dozens of Unity games to PlayBook.
During their earnings announcement yesterday, RIM offered some details about this new relationship with Union. Unfortunately, some of the details were mistakenly covered by a few press outlets, so to ensure there’s no confusion, let’s clear up the details:
For those of you who’ve submitted your game to Union or emailed us already, you may be curious if your game will be one of those headed to PlayBook. Though we’ve been in touch with most of the developers whose titles are slated for the platform, there are some of you that we haven’t chatted with yet. If you’re curious about your game, just let us know. It’s possible that it may already be in the Playbook queue! If it’s not, rest assured that we’ll be working with RIM to see about bringing many more games over, too. I hope you’re all as pumped about this as we are!!! We’re just getting started here with Union, but definitely on our way to building something really special. More Union news to share in the coming weeks, so stay tuned! |
|
Posted: 25 Mar 2011 04:44 AM PDT 原文:The triumph of coal marketing – Seth Godin 翻译+整理:David Frank 你对核能发电是不是也有一些看法?相比其他的发电方式,它们谁更安全?你是怎么得出这个结论的? 数据来自这里,图片来自这里,上图是一幅毫不夸张的数据简化图。 同样的发电量,每当核能发电误杀一个人,煤炭发电会导致4,000人的死亡。支持这其中任何一种发电方式是你的自由,讨论谁更优秀不是本文的重点。重点是:你以前看过这张图吗?它对你的想法造成了什么改变? 印象深刻与真凭实据不一样。夸大一样事物突发性的悲惨结局,远比讨论一个延续至今的枯燥事实要难——这是人之常情。这个图表里没有因为石油纷争而导致的死亡人数,没有包括由于环境影响造成的死亡人数,加上这些数据只能让上图的对比更为强烈。 这张图震撼了许多人,“这图肯定有什么问题”,他们想——再次证明对未知的畏惧让我们愿意接受残酷的现状。 每当现实与期望出现差距,市场营销肯定在搞鬼。通过分发广告也好,通过制造新闻也罢,甚至可能是人与人日常聊天造成的口碑营销的结果。“市场营销”对人们世界观造成的影响令我震惊。人们对这幅图的反应,就是最好的证据。 更新:修正图片单位。 |
|
Posted: 25 Mar 2011 05:35 AM PDT Lucas has added a really nice, simple improvement, check out the video to see how it works: |
|
Posted: 27 Mar 2011 03:26 AM PDT 最近发现在大数据量的 lua 环境中,GC 占据了很多的 CPU 。差不多是整个 CPU 时间的 20% 左右。希望着手改进。这样,必须先对 lua 的 gc 算法极其实现有一个详尽的理解。我之前读过 lua 的源代码,由于 lua 源码版本变迁,这个工作还需要再做一次。这次我重新阅读了 lua 5.1.4 的源代码。从今天起,做一个笔记,详细分析一下 lua 的 gc 是如何实现的。阅读代码整整花掉了我一天时间。但写出来恐怕比阅读时间更长。我会分几天写在 blog 上。 Lua 采用一个简单的标记清除算法的 GC 系统。 在 Lua 中,一共只有 9 种数据类型,分别为 nil 、boolean 、lightuserdata 、number 、string 、 table 、 function 、 userdata 和 thread 。其中,只有 string table function thread 四种在 vm 中以引用方式共享,是需要被 GC 管理回收的对象。其它类型都以值形式存在。 但在 Lua 的实现中,还有两种类型的对象需要被 GC 管理。分别是 proto (可以看作未绑定 upvalue 的函数), upvalue (多个 upvalue 会引用同一个值)。 Lua 是以 union + type 的形式保存值。具体定义可见 lobject.h 的 56 - 75 行: /* ** Union of all Lua values */ typedef union { GCObject *gc; void *p; lua_Number n; int b; } Value; /* ** Tagged Values */ #define TValuefields Value value; int tt typedef struct lua_TValue { TValuefields; } TValue; 我们可以看到,Value 以 union 方式定义。如果是需要被 GC 管理的对象,就以 GCObject 指针形式保存,否则直接存值。在代码的其它部分,并不直接使用 Value 类型,而是 TValue 类型。它比 Value 多了一个类型标识。用 int tt 记录。通常的系统中,每个 TValue 长为 12 字节。btw, 在 The implementation of Lua 5.0 中作者讨论了,在 32 位系统下,为何不用某种 trick 把 type 压缩到前 8 字节内。 所有的 GCObject 都有一个相同的数据头,叫作 CommonHeader ,在 lobject.h 里 43 行 以宏形式定义出来的。使用宏是源于使用上的某种便利。C 语言不支持结构的继承。 #define CommonHeader GCObject *next; lu_byte tt; lu_byte marked 从这里我们可以看到:所有的 GCObject 都用一个单向链表串了起来。每个对象都以 tt 来识别其类型。marked 域用于标记清除的工作。 标记清除算法是一种简单的 GC 算法。每次 GC 过程,先以若干根节点开始,逐个把直接以及间接和它们相关的节点都做上标记。对于 Lua ,这个过程很容易实现。因为所有 GObject 都在同一个链表上,当标记完成后,遍历这个链表,把未被标记的节点一一删除即可。 Lua 在实际实现时,其实不只用一条链表维系所有 GCObject 。这是因为 string 类型有其特殊性。所有的 string 放在一张大的 hash 表中。它需要保证系统中不会有值相同的 string 被创建两份。顾 string 是被单独管理的,而不串在 GCObject 的链表中。 回头来看看 /* ** `per thread' state */ struct lua_State { CommonHeader; lu_byte status; StkId top; /* first free slot in the stack */ StkId base; /* base of current function */ global_State *l_G; CallInfo *ci; /* call info for current function */ const Instruction *savedpc; /* `savedpc' of current function */ StkId stack_last; /* last free slot in the stack */ StkId stack; /* stack base */ CallInfo *end_ci; /* points after end of ci array*/ CallInfo *base_ci; /* array of CallInfo's */ int stacksize; int size_ci; /* size of array `base_ci' */ unsigned short nCcalls; /* number of nested C calls */ unsigned short baseCcalls; /* nested C calls when resuming coroutine */ lu_byte hookmask; lu_byte allowhook; int basehookcount; int hookcount; lua_Hook hook; TValue l_gt; /* table of globals */ TValue env; /* temporary place for environments */ GCObject *openupval; /* list of open upvalues in this stack */ GCObject *gclist; struct lua_longjmp *errorJmp; /* current error recover point */ ptrdiff_t errfunc; /* current error handling function (stack index) */ }; 一个完整的 lua 虚拟机在运行时,可有多个 所有的 string 则以 stringtable 结构保存在 stringtable strt 域。string 的值类型为 TString ,它和其它 GCObject 一样,拥有 CommonHeader 。但需要注意,CommonHeader 中的 next 域却和其它类型的单向链表意义不同。它被挂接在 stringtable 这个 hash 表中。 除 string 外的 GCObject 链表头在 rootgc ( lstate.h 75 行)域中。初始化时,这个域被初始化为主线程。见 lstate.c 170 行, g->rootgc = obj2gco(L); 每当一个新的 GCobject 被创建出来,都会被挂接到这个链表上,挂接函数有两个,在 lgc.c 687 行的 void luaC_link (lua_State *L, GCObject *o, lu_byte tt) { global_State *g = G(L); o->gch.next = g->rootgc; g->rootgc = o; o->gch.marked = luaC_white(g); o->gch.tt = tt; } void luaC_linkupval (lua_State *L, UpVal *uv) { global_State *g = G(L); GCObject *o = obj2gco(uv); o->gch.next = g->rootgc; /* link upvalue into `rootgc' list */ g->rootgc = o; if (isgray(o)) { if (g->gcstate == GCSpropagate) { gray2black(o); /* closed upvalues need barrier */ luaC_barrier(L, uv, uv->v); } else { /* sweep phase: sweep it (turning it into white) */ makewhite(g, o); lua_assert(g->gcstate != GCSfinalize && g->gcstate != GCSpause); } } } upvalue 在 C 中类型为 UpVal ,也是一个 GCObject 。但这里被特殊处理。为什么会这样?因为 Lua 的 GC 可以分布扫描。别的类型被新创建时,都可以直接作为一个白色节点(新节点)挂接在整个系统中。但 upvalue 却是对已有的对象的间接引用,不是新数据。一旦 GC 在 mark 的过程中( gc 状态为 GCSpropagate ),则需增加屏障 lua 还有另一种数据类型创建时的挂接过程也被特殊处理。那就是 userdata 。见 lstring.c 的 95 行: Udata *luaS_newudata (lua_State *L, size_t s, Table *e) { Udata *u; if (s > MAX_SIZET - sizeof(Udata)) luaM_toobig(L); u = cast(Udata *, luaM_malloc(L, s + sizeof(Udata))); u->uv.marked = luaC_white(G(L)); /* is not finalized */ u->uv.tt = LUA_TUSERDATA; u->uv.len = s; u->uv.metatable = NULL; u->uv.env = e; /* chain it on udata list (after main thread) */ u->uv.next = G(L)->mainthread->next; G(L)->mainthread->next = obj2gco(u); return u; } 这里并没有调用 /* chain it on udata list (after main thread) */ u->uv.next = G(L)->mainthread->next; G(L)->mainthread->next = obj2gco(u); 把 u 挂接在 mainthread 之后。 从前面的 mainstate 创建过程可知。mainthread 一定是 GCObject 链表上的最后一个节点(除 Udata 外)。这是因为挂接过程都是向链表头添加的。 这里,就可以把所有 userdata 全部挂接在其它类型之后。这么做的理由是,所有 userdata 都可能有 gc 方法(其它类型则没有)。需要统一去调用这些 gc 方面,则应该有一个途径来单独遍历所有的 userdata 。除此之外,userdata 和其它 GCObject 的处理方式则没有区别,顾依旧挂接在整个 GCObject 链表上而不需要单独再分出一个链表。 处理 userdata 的流程见 lgc.c 的 127 行 /* move `dead' udata that need finalization to list `tmudata' */ size_t luaC_separateudata (lua_State *L, int all) { 这个函数会把所有带有 gc 方法的 userdata 挑出来,放到一个循环链表中。这个循环链表在 marktmu(g); /* mark `preserved' userdata */ 这样,可以保证在调用 gc 方法环节,这些对象的内存都没有被释放。但因为这些对象被设置了 finalized 标记。(通过 markfinalized ),下一次 gc 过程不会进入 tmudata 链表,将会被正确清理。 具体 userdata 的清理流程,会在后面展开解释。 今天暂时先到这里。 |
|
Posted: 24 Mar 2011 03:52 AM PDT |
|
Posted: 26 Mar 2011 10:55 AM PDT 大家都知道上两张图的出处,著名的披头士的Abbey Road专辑;但真正注意到封面上的成员之一Paul McCartney是裸足的阿宅大概不多。本人一开始也不知道,由于是向阳素描的爱好者,所以在看到下图时,首先想起的就是上图的宫子——不仅都是新房的作品,都是苍树的人设,连声优也一样是水桥香织。但更深一层的捏它(或许连画师自己也没注意到这个巧合),却是一则有关披头士成员Paul McCartney的谣言。
1969年盛传的一个都市传说,是Paul其实已经死了,而团队里的那个人其实是替身。造谣者提供了许多有趣的证据,包括倒放的对白,含蓄的歌词;但最有趣的,是对Abbey Road专辑封面的分析。造谣者说“白衣的John象征神父,黑衣的Ringo象征哀悼,蓝衣的George象征掘坟者,而穿过时西装与光脚的Paul则是尸体。” 反复辟谣的Paul McCartney大叔至今还在经常不同的场合演出,所谓用“披头士形象模仿大赛赢家替代原版”的说法自然毫无根据,然而这个都市传说却载入史册。 不知道披头士的爱好者花了多少时间去对号入座,我联想起那些围绕着停播的小圆讨论得不亦乐乎的观众,一副“正片穿肠过,剧情在我心”的样子,不禁笑了出来——大众对一场巧合的主观赋值,常常超出巧合原本的实际意义。 相信Shaft制作组上下也笑了,因为被大众揣测正是人气旺盛的象征。 (image credit: kazu) |
|
Posted: 28 Mar 2011 04:11 AM PDT http://www.gamedev.net/page/news/index.html/_/general-news/the-daily-gamedevnet-r11936
Mar 23 2011 07:49 PM | Gaiiden in General News 工作室新闻:Zynga,Squeenix,Hogrocket,Disney Interactive。社交游戏界的巨头 Zynga 在 India Bangalore 开设了一家新的工作室,他们将在美国本地办公室的同学们休息的时候继续协助开发工作。没错,现在的 Zynga 已经成为一个 24 小时都在工作的公司了。去搅一下他们的游戏吧!日本又冒出了新的公司,Square Enix 组织了一个移动平台的团队,叫做 Hippos Lab,专注于智能手机方面的开发,暂时还不知道这个新的工作室是否受到地震的波及。Bizarre Creations 的损落已经导致几个新的工作室的诞生,最新的一个是 Hogrocket,由 Bizarre 的前员工 Ben Ward,Pete Collier 和 Stephen Cakebread 创建,他们还在做一个尚未公布的跨平台作品。今年早些时候 Disney Interactive 已经遣散了 250 人了,现在他们还在继续减小他们的游戏分部,再次削减 80 个人头来减少公司运营成本。暂时还不知道他们里目标还有多远,不知道是不是会继续裁员。说到裁员,如果你被裁的话你会去做什么呢?Lifehacker 有一些小建议。 Crytek 正在考虑发布 CryEngine 的独立开发者的版本。Crytek 终于开始考虑将他们 CryEngine 技术免费给一些独立开发者使用,大家又能多一个平台的选择。我想他们一定看着 Epic 和 Unity 发布了引擎后吸引了越来越多的开发者,并且一直在深思熟虑的纠结着要不要也发布同样的产品。现在,至少 Crytek 承认了他们正在做相关的考虑,我们等着看结果吧,希望不用太久就能看到相应的价格和授权方式。同时,大家可以去玩耍一下最新发布的 Crysis 2。 观点:主机游戏平台之死。首先,是那些 PC 游戏已死的调调(“哈哈哈”,Steam 在偷笑),现在,Angry Bird 的开发商 Rovio(主要是他们的老板 Peter Vesterbacka)说游戏平台主机可以淡出历史舞台了。我们再 SXSW 中看到了 Vesterbacka 的身影,他向移动开发者们指明要更加“聪明”去开发一些比起那些需要 50 美元并且很难升级的游戏更容易做的作品。我的一个来自 ZeeGeeGames 的朋友 Dustin Clingman 已经发表了一遍博文以作回应,我想肯定还有很多人都同意主机平台不会消失,至少不会比 PC 更早消失,但我要说每个不同的市场都有长处和短处,有趣的是 Vesterbacka 承认还没人看重移动平台。 卡马克认为 Direct3D 越来越好了,AMD 则希望 DirextX 走开。这两篇相关的新闻出现在我的订阅列表中。首先是 ID 的联合创始人 John Carmack 赞誉 Direct3D,他说“我真的认为 Direct3D 在今天已经做得挺好的了”,并且他解释了他的一些问题在最近的 Direct3D 中是如何被微软解决的,虽然他对 Direct3D 有所赞赏,但他并没打算放弃 OpenGL,因为它“还工作的不赖”。好吧,那么这么看来 DirextX 似乎做的挺好,但 AMD 则不这么看,是时候彻底摆脱 DirectX 了。为何?AMD 认为 DirectX 只是“挡住了”程序员释放硬件强大的性能,他们希望开发者也能“让这些 API 见鬼去吧”。更多详细信息,GDNet 的成员 phantom 已经对此作了文章。 游戏奖项/比赛:BAFTA,Indie Propeller,Microsoft Kodu,Into The Pixel。恭喜今年入围 BAFTA 的人们,最高奖项的获得者能去 Call of Duty: Black Ops 以及 BAFTA 的 Peter Molyneux。不过,在他的汽车被破坏抢劫后,他的笔记本,护照和 iPad 依然没找到。还要恭喜那些在 Independent Propeller Awards 上获奖的人们,这是在SXSW 举行,大奖是五万美元,每个子类的奖项各自两万五千美元。明天还会有这个活动。以上这些奖项如果能引起你的兴趣,并且你还有孩子的话,现在可以培养你的孩子学习游戏开发,使用微软的 Kodu,这个专门为孩子设计的开发工具,并且还有 Microsoft Kodu Cup 2011 游戏设计大赛,面向 9 到 17 岁的孩子。如果你是一个游戏美术,那么去看看 Into The Pixel 吧,这是一个在 E3 上每年都会举行的游戏艺术展,现在开始接受作品提交,在四月十五日截止。 来自澳大利亚的好消息,R18+ 的问题还在延续,并没有结束。看来马上就能有好戏看了。 Develop, GDC 和 MIGS 开始召集讲演人。 如果你在这次 GDC 上没赶上 Classic Postmortems 的话,现在在 GDC Vault 上你能免费得到它们了。大家可以查看日报提醒中的一些相关信息,当然还有 PAX East 的内容你哦个。 日报提醒 日报中文版 嗯,我最近还在玩 Dragon Age: Origins,以及一些 DLC 的内容,还准备玩 Dragon Age 2,Bioware 会做这个看起来很酷的 Facebook 游戏并让我为 Dragon Age 2 解锁么?啊。。。来吧,我一直都能够保持远离 Facebook 游戏,也许就这一次,也许。我还在听 Dragon Age 2 的原声音乐。虽然作曲家本人说这是一个赶工出来的东西,但我还是很喜欢它。 === Xw.Y: 发现最近这个周四的同学除了日报越写越长外,还喜欢宣扬 crytek,并且这次的链接中加入了一些奇怪的跳转标记,原谅我不同 url 么?但不能欺负我看不出 url 么。。。26 个英文字母还是认识滴。唉,真累,上周还欠一篇。。等我慢慢翻来。。。 |
|
Posted: 28 Mar 2011 02:11 AM PDT 早期的 Lua GC 采用的是 stop the world 的实现。一旦发生 gc 就需要等待整个 gc 流程走完。如果你用 lua 处理较少量数据,或是数据增删不频繁,这样做不是问题。但当处理的数据量变大时,对于实时性要求较高的应用,比如网络游戏服务器,这个代价则是不可忽略的。lua 本身是个很精简的系统,但不代表处理的数据量也一定很小。 从 Lua 5.1 开始,GC 的实现改为分步的。虽然依旧是 stop the world ,但是,每个步骤都可以分阶段执行。这样,每次停顿的时间较小。随之,这部分的代码也相对复杂了。分步执行最关键的问题是需要解决在 GC 的步骤之间,如果数据关联的状态发生了变化,如果保证 GC 的正确性。GC 的分步执行相对于一次执行完,总的时间开销的差别并不是零代价的。只是在实现上,要尽量让额外增加的代价较小。 先来看 GC 流程的划分。 lua 的 GC 分为五个大的阶段。GC 处于哪个阶段(代码中被称为状态),依据的是 /* ** Possible states of the Garbage Collector */ #define GCSpause 0 #define GCSpropagate 1 #define GCSsweepstring 2 #define GCSsweep 3 #define GCSfinalize 4 状态的值的大小也暗示着它们的执行次序。需要注意的是,GC 的执行过程并非每步骤都拥塞在一个状态上。 GCSpause 阶段是每个 GC 流程的启始步骤。只是标记系统的根节点。见 lgc.c 的 561 行。 switch (g->gcstate) { case GCSpause: { markroot(L); /* start a new collection */ return 0; } markroot 这个函数所做之事,就是标记主线程对象,标记主线程的全局表、注册表,以及为全局类型注册的元表。标记的具体过程我们后面再讲。 GCSpause 阶段执行完,立刻就将状态切换到了 GCSpropagate 。这是一个标记流程。这个流程会分步完成。当检测到尚有对象待标记时,迭代标记(反复调用 propagatemark);最终,会有一个标记过程不可被打断,这些操作放在一个叫作 atomic 的函数中执行。见 lgc.c 的 565 行: case GCSpropagate: { if (g->gray) return propagatemark(g); else { /* no more `gray' objects */ atomic(L); /* finish mark phase */ return 0; } } 这里可能需要顺带提一下的是 gray 域。顾名思义,它指 GCObject 中的灰色节点链。何为灰色,即处于白色和黑色之间的状态。关于节点的颜色,马上就会展开分析。 接下来就是清除流程了。 前面我们提到过,string 在 Lua 中是单独管理的,所以也需要单独清除。GCSsweepstring 阶段干的就是这个事情。string table 以 hash 表形式管理所有的 string 。GCSsweepstring 中,每个步骤(step) 清理 hash 表的一列。代码见 lgc.c 的 573 行 case GCSsweepstring: { lu_mem old = g->totalbytes; sweepwholelist(L, &g->strt.hash[g->sweepstrgc++]); if (g->sweepstrgc >= g->strt.size) /* nothing more to sweep? */ g->gcstate = GCSsweep; /* end sweep-string phase */ lua_assert(old >= g->totalbytes); g->estimate -= old - g->totalbytes; return GCSWEEPCOST; } 这里可以看到 estimate 和 totalbytes 两个域,从名字上可以知道,它们分别表示了 lua vm 占用的内存字节数以及实际分配的字节数。 ps. 如果你自己实现过内存管理器,当知道内存管理本身是有额外的内存开销的。如果有必要精确控制内存数量,我个人倾向于结合内存管理器统计准确的内存使用情况。比如你向内存管理器索要 8 字节内存,实际的内存开销很可能是 12 字节,甚至更多。如果想做这方面的修改,让 lua 的 gc 能更真实的反应内存实际使用情况,推荐修改 lmem.c 的 76 行, 从上面这段代码中,我们还见到了 GCSWEEPCOST 这个神秘数字。这个数字用于控制 GC 的进度。这超出了今天的话题。留待以后分析。 接下来就是对所有未标记的其它 GCObject 做清理工作了。即 GCSsweep 阶段。它和上面的 GCSsweepstring 类似。 最后是 GCSfinalize 阶段。如果在前面的阶段发现了需要调用 gc 元方法的 userdata 对象,将在这个阶段逐个调用。做这件事情的函数是 GCTM 。 前面已经谈到过,所有拥有 gc 元方法的 userdata 对象以及其关联的数据,实际上都不会在之前的清除阶段被清除。(由于单独做过标记)所有的元方法调用都是安全的。而它们的实际清除,则需等到下一次 GC 流程了。或是在 ps. 接下来我们看看 GC 标记流程涉及的一些概念。 简单的说,lua 认为每个 GCObject (需要被 GC 收集器管理的对象)都有一个颜色。一开始,所有节点都是白色的。新创建出来的节点也被默认设置为白色。 在标记阶段,可见的节点,逐个被设置为黑色。有些节点比较复杂,它会关联别的节点。再没有处理完所有关联节点前,lua 认为它是灰色的。 节点的颜色被储存在 GCObject 的 CommonHeader 里,放在 marked 域中。为了节约内存,是以位形式存放。marked 是一个单字节量。总共可以储存 8 个标记。而 lua 5.1.4 用到了 7 个标记位。在 lgc.h 的 41 行,有其解释: /* ** Layout for bit use in `marked' field: ** bit 0 - object is white (type 0) ** bit 1 - object is white (type 1) ** bit 2 - object is black ** bit 3 - for userdata: has been finalized ** bit 3 - for tables: has weak keys ** bit 4 - for tables: has weak values ** bit 5 - object is fixed (should not be collected) ** bit 6 - object is "super" fixed (only the main thread) */ #define WHITE0BIT 0 #define WHITE1BIT 1 #define BLACKBIT 2 #define FINALIZEDBIT 3 #define KEYWEAKBIT 3 #define VALUEWEAKBIT 4 #define FIXEDBIT 5 #define SFIXEDBIT 6 #define WHITEBITS bit2mask(WHITE0BIT, WHITE1BIT) lua 定义了一组宏来操作这些标记位,代码就不再列出。只需要打开 lgc.h 就能很轻松的理解这些宏的函数。 白色和黑色是分别标记的。当一个对象非白非黑时,就认为它是灰色的。 为什么有两个白色标记位?这是 lua 采用的一个小技巧。在 GC 的标记流程结束,但清理流程尚未作完前。一旦对象间的关系发生变化,比如新增加了一个对象。这些对象的生命期是不可预料的。最安全的方法是把它们标记为不可清除。但我们又不能直接把对象设置为黑色。因为清理过程结束,需要把所有对象设置回白色,方便下次清理。lua 实际上是单遍扫描,处理完一个节点就重置一个节点的颜色的。简单的把新创建出来的对象设置为黑,有可能导致它在 GC 流程结束后,再也没机会变回白色了。 简单的方法就是设置从第三种状态。也就是第 2 种白色。 在 Lua 中,两个白色状态是一个乒乓开关,当前需要删除 0 型白色节点时, 1 型白色节点就是被保护起来的;反之也一样。 当前的白色是 0 型还是 1 型,见 #define luaC_white(g) cast(lu_byte, (g)->currentwhite & WHITEBITS)
FINALIZEDBIT 用于标记 userdata 。当 userdata 确认不被引用,则设置上这个标记。它不同于颜色标记。因为 userdata 由于 gc 元方法的存在,释放所占内存是需要延迟到 gc 元方法调用之后的。这个标记可以保证元方法不会被反复调用。 KEYWEAKBIT 和 VALUEWEAKBIT 用于标记 table 的 weak 属性,无需多言。 FIXEDBIT 可以保证一个 GCObject 不会在 GC 流程中被清除。为什么要有这种状态?关键在于 lua 本身会用到一个字符串,它们有可能不被任何地方引用,但在每次接触到这个字符串时,又不希望反复生成。那么,这些字符串就会被保护起来,设置上 FIXEDBIT 。 在 lstring.h 的 24 行定义有: #define luaS_fix(s) l_setbit((s)->tsv.marked, FIXEDBIT)
可以把一个字符串设置为被保护的。 典型的应用场合见 llex.c 的 64 行: void luaX_init (lua_State *L) { int i; for (i=0; i<NUM_RESERVED; i++) { TString *ts = luaS_new(L, luaX_tokens[i]); luaS_fix(ts); /* reserved words are never collected */ lua_assert(strlen(luaX_tokens[i])+1 <= TOKEN_LEN); ts->tsv.reserved = cast_byte(i+1); /* reserved word */ } } 以及 ltm.c 的 30 行: void luaT_init (lua_State *L) { static const char *const luaT_eventname[] = { /* ORDER TM */ "__index", "__newindex", "__gc", "__mode", "__eq", "__add", "__sub", "__mul", "__div", "__mod", "__pow", "__unm", "__len", "__lt", "__le", "__concat", "__call" }; int i; for (i=0; i<TM_N; i++) { G(L)->tmname[i] = luaS_new(L, luaT_eventname[i]); luaS_fix(G(L)->tmname[i]); /* never collect these names */ } } 以元方法为例,如果我们利用 lua 标准 api 来模拟 metatable 的行为,就不可能写的和原生的 meta 机制高效。因为,当我们取到一个 table 的 key ,想知道它是不是 我们知道 lua 中值一致的 string 共享了一个 string 对象,即 TString 地址是一致的。比较两个 lua string 的代价非常小(只需要比较一个指针),比 C 函数 strcmp 高效。但 lua 的 GC 算法并不做内存整理,它不会在内存中迁移数据。实际上,如果你能肯定一个 string 不会被清除,那么它的内存地址也是不变的,这样就带来的优化空间。ltm.c 中就是这样做的。 见 lstate.c 的 93 行: TString *tmname[TM_N]; /* array with tag-method names */
最后,我们来看看 SFIXEDBIT 。其实它的用途只有一个,就是标记主 mainthread 。也就是一切的起点。我们调用 为什么需要把这个结构特殊对待?因为即使到 static void close_state (lua_State *L) { global_State *g = G(L); luaF_close(L, L->stack); /* close all upvalues for this thread */ luaC_freeall(L); /* collect all objects */ lua_assert(g->rootgc == obj2gco(L)); lua_assert(g->strt.nuse == 0); luaM_freearray(L, G(L)->strt.hash, G(L)->strt.size, TString *); luaZ_freebuffer(L, &g->buff); freestack(L, L); lua_assert(g->totalbytes == sizeof(LG)); (*g->frealloc)(g->ud, fromstate(L), state_size(LG), 0); } 这是 void luaC_freeall (lua_State *L) { global_State *g = G(L); int i; g->currentwhite = WHITEBITS | bitmask(SFIXEDBIT); /* mask to collect all elements */ sweepwholelist(L, &g->rootgc); for (i = 0; i < g->strt.size; i++) /* free all string lists */ sweepwholelist(L, &g->strt.hash[i]); } 这里 FIXEDBIT 是被无视的,而在此之前,FIXEDBIT 被保护着。见 lstate.c 的 153 行( g->currentwhite = bit2mask(WHITE0BIT, FIXEDBIT); 这么做很容易理解,lua 世界的起源,一切根数据都放在这个对象中,如果被提前清理,后面的代码就会出问题。真正释放这个对象不是在 GC 中,而是最后那句: lua_assert(g->totalbytes == sizeof(LG)); (*g->frealloc)(g->ud, fromstate(L), state_size(LG), 0); 顺带还 assert 了一下,最终,世界上是不是只剩下这个结构。 写累了,待续。 |
|
Posted: 27 Mar 2011 11:02 PM PDT 手作創意設計 § 高質感&細膩度 §
|
|
Posted: 27 Mar 2011 11:03 PM PDT
看点:创意; 玩法:鼠标点击进行交互。
|
|
Posted: 27 Mar 2011 07:36 PM PDT 在台灣的線上遊戲討論板特別是國內研發的線上遊戲中,
經常會看到有人說『自製遊戲比較會接受玩家意見』。 也因為玩家有這樣的想法,所以經常看到討論板上許多玩家的意見。 對於不被遊戲公司接受的意見,某些玩家會大罵遊戲公司無腦, 認為遊戲公司只要是不接受他的意見,這個遊戲就是爛遊戲; 若是提出的意見被採用了,就在那邊洋洋得意認為自己對遊戲有多瞭解。 事實上,遊戲的修改有時候並不像某些玩家所想的如此的簡單, 而且有時候,遊戲的修改和玩家的意見相同其實是個巧合, 在銀狐參與的這款遊戲中,就曾經發生過一件這樣的事情。 在前面的幾篇文章有提到,這個專案在開放後進度壓力很大, 因此幾乎是開發完成的功能立刻會在下一次的更新日開放。 而在遊戲開放一段時間後,遊戲內的擺攤系統也完成了。 在擺攤系統未開放前,遊戲間玩家的交易只能靠面對面的直接交易。 就線上遊戲來說,只有這樣的交易方式是不夠的。 而這款遊戲的擺攤系統,也不像前個專案要使用玩家角色來進行擺攤, 在設計時讓玩家角色還可以繼續進行遊戲,所以研發時多花了些時間。 在擺攤交易的部份,為了回收金錢我們採用了抽交易稅的設計。 當擺攤的玩家成功的完成交易後,會從獲得的金錢中系統回收一定的比例。 在交易稅的稅率部份,要設定為5%或是10%在設計時曾經討論過一陣子, 最後在製作團隊結論是10%對玩家好像太高,因此交易稅訂為5%。 不過在擺攤系統的預告中,撰寫公告的人一時腦子不清楚寫了10%, 而負責審核公告內容的人,也沒有注意到交易稅的數值寫錯, 於是這個錯誤的內容,就在擺攤系統的前一週出現在玩家的眼前。 這則擺攤的預告一刊出,立刻引出玩家的抱怨, 在遊戲討論板上馬上出現相關的討論串, 玩家表示「研發小組沒腦子呀,交易稅訂這麼高誰受得了呀。」 有玩家還搞連署,要求擺攤交易稅10%的設計要立刻降低。 發現討論板上玩家的抱怨後,專案成員立刻就進行討論了。 當時有人建議立刻修改公告的內容,然後告訴玩家原本的10%是筆誤, 討論後,我們決定不對公告進行修正,也不告訴玩家正確的交易稅, 因為擺攤系統兩天後就要開放,到時候玩家就會知道交易稅是5%了。 兩天後的開放日,開發了很久的擺攤系統順利的開發了。 部份的玩家在看到實際的交易稅是5%後,在討論板談起這次的『德政』, 還有玩家得意洋洋的表示那都是因為他的強烈建議,遊戲公司才做了修改。 知道事情真象的我們看到這些言論,還真要忍住去吐槽的衝動。 因為這一切並不如玩家所想的那樣,一切都只是因為筆誤的意外, 而玩家這麼得意的以為是因為他們的『建議』,更是讓人大爆笑。 這並不是說遊戲公司不會接受玩家意見,也不是說遊戲都不會修改。 只不過,任何遊戲的修改或是調整所需要的時間比玩家想像的長, 而且遊戲的研發人員也不是每天閒閒沒事,在那邊等著接收玩家的建議, 任何遊戲修改,都是原本的研發人員在工作計劃中插入的工作。 再加上就算是要修改,也要先全面的看看修改後的影響, 若是玩家的意見沒有思考清楚就進行修改, 恐怕會落得一改再改的狀況,這樣反而會讓遊戲變得更不穩定。 在線上遊戲的這份工作上,幾乎每天都會接觸到許多玩家的建議。 在工作的經驗上,這些建議大多是無法採用的意見。 會造成這樣的結果,並不是遊戲公司不願意聆聽玩家的聲音, 而是大多數玩家的建議其實都是沒有考慮全盤狀況和有私心的。 雖然說大多數玩家的建議都不能採用,不過銀狐也不是說玩家不能建議。 只不過玩家要記得,你們擁有的是『建議權』,遊戲公司有的是『決定權』。 有時候遊戲的修改方向和你所想的相同,可能也是個巧合, 就像這個曾經發生在某個專案中的事件一樣。 |