分類目錄歸檔:日常

生活如同一張華麗的袍,裡面長滿了虱子.

[新坑預告] Yet another shadersmod implementation

最近閉(zhuang)關(si)了幾個月,我並沒有被Hello Games幹掉(順便在這裡祝賀他們沒有跑路而堅持在Steam黑五打折期間出了個主要更新,以及敢於向玩家們彈小窗的勇氣 - 他們是我見過的第二個向玩家彈窗發送更新通知的遊戲廠商,第一個是製作MachineCraft的G2CREW) 這4個月我基本都在過着6點睡2點起(嗯,早晨6點,下午2點)每天見不到幾個小時的太陽的生活,在肝膩了文明V(沒有I)、艦R、崩3、WT後我終於決定該寫點什麼,正好手頭這個秘密開發了5個月的坑終於有些眉目了,因此決定放個預(wei)告(xing),有人說把坑公開出來就能督促自己不棄坑,然而對我這樣的臉皮略厚的人來說好像並沒有什麼用...2014年我公布了AsmEventBus(基於ASM的Java事件總線系統,比Guava那個基於反射的系統要快很多)和一個沒公開名字的Java模塊系統(如果稱它是"類OSGI"顯然有些裝逼,但它做的事確實和OSGI差不多) 然後理所當然地坑了,其實對於前者我挺耿耿於懷的,明明只要再完善一點就是個很好的庫...今年年初在日狗的軟工作業要求下不得不放了個某文字H遊戲引擎的Java開源復刻衛星,然後,嗯,然後沒下文了.寫到這時我自己都忍不住掩面笑了一下,看來羞恥柱這種東西對我這樣倒錯的人來說並沒有什麼監督作用.其實我挺懷念11~12年的那段時光,那段不知失敗為何物敢於寫任何自己想寫的代碼的日子,在11年的最後一個月我在這個房間的同一個角落半生不熟地用C#寫一個文字獵奇遊戲,用慢的吔翔的GDI+在WinForm上畫文字(現在一想其實挺像ERA啊,當時我要知道ERA的存在的話是不是就給ERA寫腳本去了?) 最吃精(?)的是當時我居然在試圖寫一個自己設計的腳本語言的解析器,幸好當時沒做出來,不然這足以讓現在的我感到自愧不如,有人說好的程序員應當在看到自己6個月以前寫的代碼時能發覺自己現在的進步,這麼說我應該儘快刪IDE退圈了. (笑) 不過我倒真的挺懷念那個項目,畢竟能親手(即使是只有文字)肢解幻想鄉的女孩子怎麼想也是一件刺激又有趣的事情,有機會的話我一定要把它復刻出來. (啊呸)

懷古傷今的時間到此為止了,現在說說手頭上這個坑,當時提出做MC光影Mod的復刻這個概念是在什麼時候已經無從考證了,印象中是14年7月我和ici2cc給CustomSteve做光影Mod兼容時第一次提出了自己做光影的想法,不過當時由於很"容易"地完成了CS與光影的兼容工作,因此這個念頭就被打消了.一年半後的16年2月我寫完了光影包教程後和ici侃大山時聊到了光影Mod的種種不足,當時我開玩笑地提出自己也打算寫一個光影Mod,ici沉默半響後問道你是認真的嗎,這時我才開始真正考慮這件事,具體的討論過程記不清了,結論大概是坑太大填不起,而且當時我剛完稿光影Mod教程很累,也並不想就這麼立刻廢掉自己的工作成果,更重要的是我想去填一個自己之前挖出來的大坑(這個坑不想提了...也不用猜,"基本上"從未公布過) 因此這件事就被放下了,時間到了6月,那時不知在哪我看到了一個消息,Continuum光影包的作者在用C++給MC寫一個渲染器,不用說也知道它會支持第三方光影包,當時就把正在補伊里野的天空的我嚇得把播放器關了,為什麼呢,因為當初我被Continuum的作者肛過一次(大霧) 2月初我在撰寫光影包教程的最後兩章時ici彈小窗告訴我"被搶先了",當時嚇得我差點提前去見幽幽子,ici趕在我失神之前發來條鏈接,我趕緊緩過來點開一看是個油土鱉視頻列表,上面三四片Continuum的作者錄製的光影包教程視頻,簡單地看了一下後我半自我安慰地得出了個結論:(局座臉)這教程,飛不起來! 本着公平競爭的原則,這裡貼出視頻列表地址,為什麼那麼說呢,我感覺他過度死扣光照、ToneMapping和PBR,而忽略了對光影Mod特性的介紹,最簡單的例子,除了我的那篇附錄以外還能從哪找到對光影Mod的技術規範文檔呢,恐怕官方Wiki都沒有這麼詳細,然而話是這麼說,但畢竟人家已經搶先發出來了,"第一個光影Mod教程"這個頭銜是搶不到了,只好奮筆疾書去搶"第一個成文的光影Mod教程" (笑) 這也是為什麼我的教程中最後兩章明顯的很潦草的原因 (當然,我寫煩了也是一個原因...) 後來我的教程發出來了,而他的教程棄坑了,我還順手打了兩發對他的黑槍 (誒嘿,我這人咋就這麼愛打黑槍呢) 一個是他那個"號稱世界最強卻實際只是又一個C13衍生品的光影包",一個是他開的"MC的Vulkan渲染器"坑.故事就看似告一段落了,然而我萬萬沒想到的是他那個Vulkan渲染器在知難而退後又蛻變成了"C++寫的OpenGL4.5渲染器",然後又把我肛了一次!被一個人肛兩次這事能忍嗎!

然而當時是考試周,我只能忍下去了 (笑) 考試結束後我開始探究技術可行性(後來證明這幾乎是無用的,所有遇到的問題這時都沒發現) 並於7月的實習第一天在那間位於商住一體樓里的破房子中建了項目的Git倉庫,版本記錄顯示前三天我寫的代碼除了Mod主類和Coremod的LoadingPlugin以外沒有一行保留到了現在 (手動滑稽) 一方面說明了那個"百分之多少(記不清了)的代碼是要在一年內被重構掉"的理論是正確的,另一方面說明了當時我是有多麼低估了問題,雖然那次糟糕的實習讓我失去了去CJ和Jeb見面(對此ici可以吹一輩子(笑))以及勾搭上養豬場的機會並且錯過了魔都THO,但如果說那一個月實習有什麼用的話,那就是讓我塌下心能用當初徒手肝解析器的勁頭從零製作"Yet another shadersmod implementation",不,它不叫"Yasi"或什麼的(雖然現在看起來還挺酷!) 也不叫ShaderCraft云云,我將其命名為OpenShader,因為Open這個詞對於開源程序員來說就如同貓薄荷對貓一樣充滿魅力,顯然這是開源的,不過我將它暫時託管到了私有倉庫中,因為當初我也實在不敢確定它可以完成,畢竟我之前失敗過的太多了,事實上,直到11月初時它甚至還沒法正常運行,而我最初的計劃是10月初給出一個Demo...當初我寫光影包教程時也曾"計劃"在10月初完稿,不過現在看來這次我似乎不必拖到次年2月了,然而Mod維護是一件長期的工作,不是嗎?主要的技術突破都是在11月中完成的,現在它已經實現了:

  • 高度自定義的渲染管線,可自定義每一幀(Frame)渲染時採用的Pass,以及每一Pass包含哪些繪製階段(Stage)
  • 着色器加載系統,包含一個簡單的Includer實現(無需那個ARB擴展).
  • 可自定義的幀緩衝和幀緩衝的掛件(顏色、深度、模板),包括掛件的尺寸和格式.
  • 頂點着色器的頂點屬性(Attribute)注入.
  • 一致變量(Uniform)注入.
  • 優化的GlStateManager,儘可能地減少OpenGL調用.
  • 特性(Feature)系統,用於開啟、關閉或改變一些MC的功能與屬性,比如設置太陽偏斜(光影Mod的sunAngle)
  • 使用VAO渲染區塊 (WOW!) 理論上講90%+的顯卡都支持ARB_vertex_array_object和APPLE_vertex_array_object中的一個,如果有哪個辣雞卡兩個都不支持,那它也不見得跑得動着色器.
  • 支持Mod式和外部文件式的光影包(其實只實現了前者)

當然,它還有一個不短的TODO List,由於沒有寫TODO List的習慣(??)這裡先隨手寫上一些能想到的:

  • 紋理系統,比如光影Mod的載入法線和高光紋理,以及載入外部紋理文件,可以搞基於LUT的顏色校正啦.
  • 用戶界面.
  • 外部文件式的光影包的解析.
  • 資源管理...
  • 條件允許時使用UBO更新一致變量.
  • 世界上有兩群人需要人間會社程序員的人間關懷:烏干達的可憐兒童,和蘋果機用戶.
  • 還有一些瘋狂的念頭,不過都是要在前面這些完成的前提下才有...
  • 大量的,關於紫sama藍sama幽幽sama覺sama戀sama秦心醬和瑪艾露貝莉x蓮子的福利

想說的暫時是這麼多,如果成了的話喜大普奔,再一次棄坑了的話那就又是一次喜聞樂見的自掛城牆,我先睡覺(jue)去了...這裡貼一個Mod式光影包的光影包初始化代碼和渲染管線構建代碼的一部分 (群眾:有毛用啊!) 可以大概了解一下它的API風格,畢竟將來有了外部配置文件式的光影包後,基本上也會跟它差不多:

53057998_p0

不好意思,貼錯了...



20161203071732 20161203065401

這個才對 √

閱讀全文 [...]

實習結束,與對無人深空的黑槍

前幾天實習結束了,開始的工作居然是做盜版書...(OCR把掃描版的字扣出來,然後手動糾錯並錄成Latex格式) 最後一周老闆找我去談♂話,說他去年培訓的基本不會編程的本科生(??大叔你招的真的是本科生嗎)出來可以月薪上萬,勸我留下來繼續跟他做學(jiao)♂習(yi),淦,你還想再讓我做6個月盜版書?大叔見我一臉冷漠,還真讓我先做一周PY交易再來考慮 - 他翻出了個以前的"實習生"做的產品,一個拿Python寫的Wifi嗅探器,唔不過不是演示給我看,而是要我去調通了...它現在居然還運行不了,老闆你的實習生這麼忽悠你真的沒問題嗎...我看了下附帶的文檔,居然是寫給評委求好評的,看來不是畢設就是什麼競賽的參賽作品,帶着敬畏的心情我按照文檔上的指示裝好了依賴庫,順便糾正了源程序里幾個硬編碼的問題,看來他們是真沒打算讓這程序在除開發機以外的任何地方運行,然後啟動了程序,等了半分鐘沒有任何響應後,正當我想問候Konqueror開發者們的家人時終於彈出了個VB風格的窗口,看上去還有模有樣,然而我點了幾個按鈕卻發現沒有任何反應,就連主界面上的熱點參數也是驢唇不對馬嘴.我查了一下源碼中的其他部分,結果感覺自己的智商收到了致命的打擊...整個程序唯一有實際功能的部分只有啟動系統時的熱點嗅探,其他的部分只有個界面,包括主界面的那些參數都是事先填上去的...而且他們連子窗口的打開都沒有做,只用PyQT畫了個界面,看來是打算糊弄過文檔中的截圖部分就了事了,我把這個令人尷尬症發作的消息彙報給老闆後老闆仍不甘心,在聯繫了一通當事人後又找我說他們抗議說明明還製作了一個顯示熱點信息的功能 - 哦我知道,就是那個內容是事先填好的那東西?我又重新分析了一遍源碼,發現有一段從未被調用的代碼倒還真是跟將Wifi信息顯示到主界面有關的代碼,哎哎看來剛才冤枉人家了,不過為什麼會從來沒調用呢?在源碼里搜了一夏發現調用被注釋掉了,取消掉注釋後程序再一運行,duang,掛掉了,原來那段代碼是沒寫完的,就兩個功能還有一個沒寫完,你們當時deadline可踩得夠緊啊.當我把第二個噩耗彙報過去時他們已經把(前)老闆拉黑了,可喜可賀的結局啊.老闆也沒再找我什麼事,最後幾天在班上乾乾私活肝肝艦(?)也就過去了,要說實習收穫了什麼,一個是學了Py交易--哦不,是學了Python和Latex,第二個是染上了艦癮(!),第三個是幹了些私活,就這三點微小的工作,謝謝.另外那大叔還想再留我干200天白工...謝謝您嘞,您還是專心去折磨下一波實習生去吧...

另外這幾天無人深空終於發售了,這一個月無人深空的負面消息幾乎接連不斷,在我印象中似乎是在偷跑視頻曝出之後才有的一波波的黑槍,排除故意抹黑和牆倒眾人推的跟風黑以外,在發售後無人深空的表現確實是有些對不起當年的宣傳,於是發售當天我就寫了篇差評,順便一提我看官方的Supoort提到遊戲需要支持OpenGL4.5的顯卡並且明確聲明不支持I卡(什麼東西需要OpenGL4.5並且永遠與I卡無緣?對了,DSA) 於是我想看看一個用到了OpenGL包括DSA在內的全部先進特性的3A級遊戲渲染是怎麼寫的,便掛上了調試器,然後...然後...我看到了這些,我就發個圖,懂的秒轉(開玩笑) 別忘了這不是OpenGL2.1時代的遊戲,這是一個寫明了要求OpenGL4.5(不是客服吹逼,着色器腳本中的#version可是寫着要求450的(笑)) 把I卡全家直接打死在門外,寫着AMD與狗不得入內的3A級遊戲.

nmsr
Hello Games你他娘的找不出個會算線性代數的程序員就算了,用第三方的數學庫也行啊,你TM glGetFloatv+glUniformMatrix4fv是個毛意思?是不是U3D出來後市場上連個會寫引擎的程序員的招不到了? (U3D:媽的日常招黑)

另外附上我在Steam評測上的黑槍 🙂



開始我一直不明白為什麼按E才能進入遊戲.
後來當一架太空艇映入我的眼帘時,我才明白:
按E,方可賽艇!
-------------禁忌的分割線-------------
當初第一次看到無人深空的宣傳片感覺內心受到了深深的震撼,這不正是我一直期盼的一款遊戲嗎?集沙盒遊戲、過程生成、太空探險等大成者於一體的神作,於是我一直在關注這個遊戲,只可惜官方放出的消息實在太少,很長一段時間官網唯一的內容只有封面上那個黑色八面體,但是每一部宣傳片或宣傳圖都吊足了觀眾的胃口,從無人深空出現的那一天起,無限星辰一直在跳票,星際公民一直在攬錢,精英危險一直在放星球登陸的衛星,好像所有跟太空和星球沾邊的遊戲,都被無人深空的影子給蓋上了.因此當它剛剛登陸Steam時我就將它加到了願望單中,今年3月剛剛開放預訂時我就砍了手.原定6月發售的遊戲跳票到了8月,沒有關係,我們都等了兩年了,還在乎這兩個月?
時間到了12號的晚上,小夥伴們盼星星盼月亮地等着0點遊戲解鎖,群里有人吐槽"這一刻我們都成了麥克雷",隨着桌面上的時鐘跳到00:00,我低吟一聲"午時已到",重啟了Steam,然而依然沒有下載選項,跳到商店頁一看,"將在大約less than one hour後解鎖"?難道這遊戲的13號解鎖指的是UTC+7的13號?算了反正已經等了幾年了,不在乎這一個小時.我看了一會Metacritic上主機玩家們對無人深空的評價,又刷了會知乎上對遊戲的黑槍,1點很快就到了,我隨手掛上4發大建,4個1:25:00,靠看來今天的運氣現在就用光了,我重開了Steam,這一次終於有下載了.
我忘了遊戲下載也需要時間這個問題,以現在3A級遊戲的容量,幾十個G的東西起碼要下個一兩天,這意味着這段時間我除了對群里那些百兆光纖的土豪羨慕嫉妒恨之外什麼都做不了,在鬱悶中我點開了下載,Steam告訴我需要下載2600MB的東西.
等等,2.6G?
我仔細數了一遍數字和單位,確定不是26G或2600G什麼的東西.這遊戲確實只有2.6G,你看隔壁塞歐弟和太太掉下來幾十G的東西都只局限於地球或某個鳥不拉屎的外行星球上那麼巴掌大的一小片空間,就連以沙盒著稱的雞踢誒5也不過是模擬了一個小島就花了67G,之前聽說塞歐弟:WIFI戰爭終於可以上太空了覺得因吹絲挺,現在看來無人深空用2.6G就能囊括整個宇宙,簡直把它們完爆到媽都不認識了!我感動得淚流滿面,我不知道什麼不到1G的SpaceEngine,更不知道不到300MB的Pioneer,也絕不知道PS4版有6G,在這個靠塞無壓縮的高清紋理、1080P CG影片和多國語音來惡意強撐遊戲容量的時代,無人深空這個最後的良心為遊戲圈帶來一股清風,向世人宣告遊戲大小不代表深度!8年前的這一天,在遊民深空上有個孢子的無腦吹說"從此以後世界上不再需要別的遊戲了,因為孢子就能模擬它們全部",正如那句老話"鐵打的遊民流水的噴子",那人就像千千萬萬遊民噴子一樣很快就消失在歷史長河但中,但8年後的現在,我將繼承他的衣缽,舉起無腦吹的大旗,宣布"從此以後世界上不再需要別的遊戲了,因為無人深空就吊打他們全部"!
家裡水管雖小,但下2.6G的東西已足以,我上B站二周目了一遍秘封活動記錄,然後用小號在下面評論區釣了個魚"這破動畫吃棗藥丸",遊戲已經下好了,上一次我感受到遊戲在召喚我還是去年輻射4出的時候,這一次 - 我相信是最後一次,因為今後將不會有遊戲再感動我了 - 我又感受到了無人深空的召喚!我來了!
進入遊戲,啟動果然很快,隔壁Minecraft點開遊戲後先得點上支煙才能等到彈出啟動界面,而無人深空幾乎在我鼠標鬆開的那一刻就進入遊戲了!製作商的Logo過後,是一片耀眼的群星,想必那一個個標籤就是星系的名字吧,宇宙雖大,但與人類的野心相比仍太小,如果我不早點探幾個星系,想必整個本星系群都要被中國人和掛機軟件佔滿了吧,到時候看着滿銀河的"dajiba666"、"baoweinanhai"、"lajiyouxi"這樣的國人風格星系名或"pan"、"1c0xr8Hy"、"h0yx"、"SSTM"這樣Bot自動生成的星球名字,豈不噁心?群星很快就消失了,取而代之的是一個純白的界面,上面只有一行字"初始化",嗯我明白,遊戲總得預處理一些數據,我切出了遊戲,群里管理說他卡在了初始化界面二十分鐘了,我笑他那是什麼破機器,然後我被口球了,我想切回遊戲--
但卻發現切不回去了.
我能理解這種情況,很多遊戲在載入數據時都是沒有響應的,因為就是有那麼多半路出家的遊戲程序員不知道要把資源加載放在另一個線程,或者在主線程中加一個單次資源加載的閾值超過這個閾值就要先去poll一下Windows事件再繼續"少女祈禱中".然而此時我已經能聽見遊戲中BGM的聲音了,載入時有BGM的遊戲我還沒見過幾個,所以憑着多年遊戲經驗,我知道遊戲不是卡在加載中,只是純粹地切出去就不能切回來了,我打開了任務管理器,10分鐘,這大概是我玩的Steam遊戲中,最快的一個需要叫任務管理器來救場的遊戲吧.(Update:我開始以為因為這是主機遊戲所以開放商沒考慮切出遊戲的情況,後來小夥伴告訴我主機也能切出遊戲的,啊露怯了← ← 姨夫:"這鍋我不背!")
這一次我進入遊戲後學乖了,我在"初始化"界面老老實實地等着,生怕它再一言不合死給我看,我打開手機收了剛才的建造,高雄、愛宕、中二病的摩耶和一臉想做的小婊子鳥海,靠真是一家人整整齊齊,我把她們全打包喂提爾比茨了.又收了一波遠征後再看屏幕,依然是白的刺眼的屏幕和一行黑字"初始化",以及下面一個寫着E的小圓圈,這遊戲怎麼載入這麼久?我不敢切出遊戲,只好在手機上Q去群里看看,我的口球還沒下來,所以沒法發問,只好慢慢翻他們聊天記錄,我看到一個人提到進遊戲要按E,我就笑了,勞資打了這麼多年遊戲日系美系歐系俄系甚至東南亞系遊戲都玩過,見過按ESC按Z按回車按空格進遊戲的,還真沒聽說過按E進遊戲的,帶着一臉的不屑,我隨手按了一下E鍵,心裡想着這要有用的話我直播口乞--
寫着E的小圓圈多了一道黑邊.
我哭了,這個"初始化"不是初始化遊戲的,而是"初始化"我的智商的,我怎麼就沒想到那個E是要我按E鍵?姨夫的形象浮現在我眼前,手柄上的按鍵都是圓圈,你在屏幕上畫個圓圈裡面寫個△那主機玩家的第一反應就是按下△,這是顯而易見的.然而電腦上可不存在按鍵是圓的的鍵盤啊!幸虧這遊戲不是按O進遊戲,不然電腦玩家看着大圓中套一個小圓恐怕就是腦補出咪咪頭也想不出是要按O進入遊戲,我淚流滿面地按住了E,進入了遊戲,耳邊傳來電子音的女聲,居然是中文,而且是標準的普通話,看來商店頁那個"中文語音"不是製作商手滑寫錯了,這一點我要給一千個贊!我滿懷激動的心情憧憬着我在異星球上的生活,腦中浮現出一幕幕宣傳片中的世外桃源,然而映入我眼帘的是一個冰雪的世界,無垠的雪地與淡綠色的天空在遠處混為一體,屈指可數的幾株植物散落在腳下這片綠地上,HUD上-41°C、1.6Rad、15.4Tox提醒着我,這不是生機盎然的山中秘境,而是一個接近生命邊緣的死亡世界,是的,探索、看畫那是次要的,生存才是我們這些出生在惡劣地形的非洲玩家需要在意的事情.然而我就要在這個破星球上待一輩子嗎?這時我看到了一架破損的太空船,於是便有了本文開頭的那一幕.
遇險信標上一個紅色的球球告訴我它叫阿特拉斯,它要指引我做完新手任務,我笑了,我見過的阿特拉斯是大西洋下的極樂城中勇敢地反抗萊恩暴政的自由戰士,是穿越於寰宇之間充當著霸主帝國的經濟主動脈的星際貨輪,是站在內天體與氏族之間的第一道與最後一道防線的巨型機甲,而不是哪個面數低到可憐的幾何球體,我點"對指引嗤之以鼻",然而什麼也沒發生,看來遊戲的製作者沒料到會有像我這樣作死的,沒製作這個對話分支,我決定虛心接受它的指導,點了"接受阿特拉斯的指引",然而卻依然什麼也沒發生,WTF!?抱着試一試的態度,我長按鼠標,結果光標周圍出現一個圓圈型的進度條,卧槽我第一次見到有哪個遊戲是要長按鼠標來選擇選項的!我TM這不是觸屏啊!阿特拉斯在"接受了我的效忠"後就消失了,沃日!說好的新手任務呢!?
好在右下邊有遊戲提示,提醒着我要先修好飛船離開這個鬼地方,說起來我還沒有給這個星球取名字呢,我調出了主菜單,選擇為星系改名並上傳,我做了一件我期盼了幾個月的事,打開輸入法,輸入"huanxiangxiang"
然而什麼都沒有發生,這個遊戲雖然支持中文,但並不支持輸入法,於是我只好退而求其次,敲入了"Gensokyo",這也好,讓老外也能看得懂,這個冰雪交加的死亡世界與大多數人眼中的幻想鄉不太一樣,不過倒也挺符合東方無限螺旋中3013年的那個永遠處於核冬天的幻想鄉.而至於星球的名字,我不知道幻想鄉中那些地名的羅馬音是什麼,也不敢切出遊戲去查;又覺得"Yuyuko my lover"有些太俗,於是我給它起了個很科幻的名字,"Gensokyo Prime",嗯,幻想鄉主星,很好,肥腸科幻.
想修船沒有資源怎麼能行,我掏出了手中的多用途工具槍,撫摸着這個又硬、又粗、頭還圓乎乎的東西,我找到了一塊石頭,HUD告訴我這個石頭蘊含著豐富的鐵,我假裝自己是從2001年穿越來的,不懂它那自帶打碼的低清材質,將工具槍對準了那個石頭,扣下了扳機,一束綠瑩瑩的光線噴涌而出,雖然這一幕我早已在偷跑視頻中看了一遍遍了,但我還是為了配合這不可思議的景象,故意裝出了吃驚的表情.從隔壁鐵拳史蒂夫用手拍木頭拍石頭拍黑曜石,到屎大棒用物質操縱槍拆得多少土著家破人亡,修理地球變得原來越簡單!老毛說過與天斗與地斗不如與人斗,那是因為他沒見過這工具槍,如果他知道修理地球也是一件如此簡單有趣的事情的話,估計他當年也就--
突然我的角色虎軀一震,拿着工具槍的那隻手像觸了電似的伸了回來,難道我被水表爆破了!?並不是,上一次我見到類似的一幕,還是我最後一次玩Halo:CE時在追殺對方的奪旗手,將他打到大概還剩最後一點血時突然像癲癇發作一樣捧着冒着藍焰的電漿步槍雙手發顫;是我玩WH40K桌面戰棋時一回合有6個勇敢的帝國衛隊戰士因為機械神教粗製濫造的電漿槍過熱炸膛而殉國;是我玩機甲戰士僱傭兵時打競技場在最後一個對手只剩下最後一絲血時PPC一輪齊射沒秒掉對方然後自己過熱停機,硬生生被對面翻盤打死...沒錯,這就是科幻遊戲中臭名昭著的過熱!人類31世紀的智慧結晶,居然在零下41度的環境射一發就過熱!?你TM屬機甲戰士的啊!?(這是BattleTech被黑的最慘的一次)
礦物采完了,該製作修復起落架的裝甲了,然而遊戲中卻沒有任何地方提示該如何合成物品,我在群里的口球已經被摘下來了,於是我趕快問了一下這個問題,一個小夥伴告訴我是把鼠標移到空格子上按E,卧槽原來E鍵如此重要!難怪遊戲開頭要玩家長按E鍵才能進入遊戲啊.修好了起落架,然後需要去挖一個製作者臉滾鍵盤滾出來的名字的元素,掃描儀告訴我距離我最近的這種礦物走過去需要4分鐘的路程,如果是在風和日麗的世界這一趟短途旅行並沒有什麼問題,然而我現在是在一個極地世界,防護服一邊報告說維生系統只剩下一半的能量,一邊報告說即將進入零下70度的極夜,群里管理員哭訴說他出生在了一個零上60多度的星球,我吐槽他可以當這是風之旅人來玩,然後又被口球了,靠,我這已經是冰雪奇緣了好不好.一路蹣跚到了礦區,路上還遇見了一個蘋果垃圾桶,心想蘋果真TM是土豪公司,到了未來已經可以滿宇宙亂扔MacPro了,走過去一看居然是一個遠古遺迹,遺迹教給我外星語中的一個詞"給",不知道今後見到外星人後叫他們"給"會不會當我是基佬把我打死,等我挖完礦時我的防護服已經開始報警了,25%的能量肯定不夠支撐我走回墜落點的,難道我的一周目就要這樣結束了嗎?我這才發現維生系統可以充能,而能量源可以是任何同位素,我瞅了眼旁邊富含鈈元素的植物,不禁感嘆造物的神奇,也暗自吐槽難怪這個星球有那麼高的本底輻射.
凌晨三點,我終於能離開這個終日被積雪覆蓋的冰封星球了,飛船騰空而起,終於飛上天了!然而太空船在低空似乎沒法隨意調整高度,也沒法將武器對準地面,看來我所屬的文明的軌道轟炸政策是禁止,很好,這很聖母,我依依不捨地繞着墜落點繞了一個圈,望着地上已經幾乎看不見的遇險信標,我相信總有一天我還是能再次遇見阿特拉斯,抬起機頭,打開加力,腦補出的G力將我緊緊壓在椅背上,我的耳邊響起了無限螺旋中八雲橙在離別時的贈言"願你所在的世界的幻想鄉,能夠幸福常在",再見了!冰雪的幻想鄉!在激動之餘我隨手按了一下E鍵.
飛船急停,極速下墜,在即將親吻大地時又突然止住下降,緩緩地降落在茫茫的雪地上,艙門打開,將一臉懵逼的我再一次彈出到31世紀幻想鄉永恆的極寒當中.
願各位玩家的出生地,春色常在.
-------------禁忌的邊境線-------------
總體來說,這遊戲質量屬於中等偏上,主要是當初畫餅畫得太大,衛星放得太高了,14年的採訪當中製作人在聊到多人遊戲時一臉燦爛的笑容,當時我們以為這是自信,現在我們明白這是騙煞筆時發自內心的歡樂.
那些舔無人深空的人,你們看看商店頁上的宣傳圖,覺得臉被打的疼不?
啊當然,中文語音一定要支持!一定要點贊!

如果你也滋詞這篇評測的話歡迎來點(jiao)♂贊(yi) http://steamcommunity.com/id/szszss/recommended/275850 當然如果拍磚點個差我也沒法怎樣的 ? 閱讀全文 [...]

基本更新到1.9.4?

20160707023557
尼瑪呀!本來心存僥倖覺得不會蹈覆那個推主的舊轍,結果扔柜子里沒管過了三周一看卧槽居(guo)然彎了!而且彎的姿勢跟推主的那隻一模一樣,支架根本就是擺設啊!下次再買波天宮的東西我直播食屌,popstick你媽飛了


咳,話歸正題,現在教程的最主要的部分,基礎篇的前三篇已經更新到了1.9.4了,如果你在我更新的時候正巧在讀第三篇的話,恐怕難免會感覺像一夜間穿越了一樣...這次更新也修正了一些之前的疏漏,我曾起過一個念頭就是故意寫一篇完全是按照錯的講的"教程"用來整蠱,現在發現在1.9時代(準確說已經到1.10時代了)留着一篇1.7時代的教程就已經夠誤導人了,再想到MCBBS上那篇ModLoader時代的教程...哎,為什麼產生了一種自己站在時代發展的對立面的感覺  face5 閱讀全文 [...]

挺屍預告?

真正的廚,即使知道是坑也要義無返顧地踩上去!
20160615225420
IMG_20160615_123941
以前早有耳聞這是東方圈中的邪神Saber(雖然我覺得最魔性的還是國內某東方雜誌創刊號附贈的永遠拼不上的黑白),實際到手後感覺造型不是那麼糟糕,然而不得不說這款做工真糙啊,要不是知道這是冷門貨不太可能有山寨,還真的會懷疑是祖國版...

上一篇文章是在4月份發的,熟悉我工作風格的都知道我喜歡悶聲搞大♂新♂聞,事實上我也確實是在憋文章,然而這一次大新聞還沒搞出來,電腦就(又一次)掛掉了(正所謂截稿前硬盤必亡之理,嗯哼?) 等到修好的時候已經到了期末各種deadline壓上頭的時候,因此一直拖到現在才有時間來填坑.

前幾天在E3微軟搞了個大新聞,宣布Minecraft會支持Mod...哦草,明明前不久我還在和別人討論天國的官方API墳頭草長得有多高,結果今天我就可以下崗了 ? 不過從目前已知的消息來看,應該是局限於移動版、主機版和用C++寫的Win10商店版這幾個版本,用Java的PC版不知道會不會有這個功能;Mod的形式大概是類似於腳本插件那樣,從PC版越來越向數據驅動方向發展的趨勢來看確實有可能(比如1.8到1.9最大的變化之一就是外置的掉落表).其實如果真的想要一個Moddable的高(C)性(P)能(P)的Minecraft的話...我個人認為MineTest遠比Win10MC要靠譜.

然後就到了對PC版的黑槍,這一次Mojang出人意料地提早推出了1.10,按照流行的版本始終要比最新版要落後一版的定律(?),應該可以放心大膽地跟進到1.9.4了,前文已經提到1.9多了個外置的掉落表,除此之外還有雙持武器、盾、滑翔翼等...這些除了雙持武器以外沒有什麼功能性的更新,據說渲染系統有些新內容,不過對大多數開發者來說還用不上.雖然看着MCBBS Mod版上一堆1.7Mod真心疼,但我還是趁着這幾天有時間更新一下教程吧("上學期"說要更新結果妥了一個學期也沒弄 233),不然等過一段時間課設和實習堆上來更沒時間弄了. 閱讀全文 [...]

嗯?軟件工程?

由於奇怪的課程要求,在接下來的小半年中每周我都會開一趟車-唔...是發一篇關於軟件工程的小短文.靠,我寫MCMod教程都沒這麼勤快過,這就是軟院對計院的復仇嗎?

大多數高等院校的信息類學科都被分為計算機科學和軟件工程兩個部分,關於科學與工程的區別,一個常見的解讀是"科學是在解決一個舊問題的同時提出兩個新問題,而工程是在不引發新問題的前提下解決掉舊問題".顯然客戶總是希望產品能夠準時準點地交付,而非一次又一次地次元突破Deadline.軟件工程就是為軟件的編寫提出一個章法,給世界上最桀驁不馴的一群人套上韁繩,讓他們製造出一個可靠的工程,而不是一個充滿了各種奇思妙想和奇技淫巧的垃圾堆.

The_Tower_of_Babel
老彼得·勃魯蓋爾的《通天塔》,在《黑客與畫家》一書中被用作封面.傳說中通天塔的建造由於人類的語言不通而最終以失敗收場,軟件開發中由於人員矛盾導致的殘局也是數不勝數. 閱讀全文 [...]

MCMod教程開始恢復更新

MC1.9馬上就要發布了,按照"總是差一個版本"的慣例(這是哪的慣例啊),教程準備從1.7更新到1.8了 ? 剛才看了眼第一篇教程,文中介紹的Eclipse居然還是4.3...現在第一篇教程已經更新了,最近那麼多人抱怨沒法配置開發環境,現在看來一點也不奇怪(捂臉,那篇實在太陳舊了).

想看看當初給MC1.2寫ModLoader教程時的原始手稿,結果發現找不到了...這種東西還真能丟啊. 閱讀全文 [...]

寫在《如何編寫Shadersmod光影包》截稿之後

20160217032142

時間是早上6點30分.第一縷陽光透過天際線,將天空重新染回了深藍色,宣告着一天生活的開始,而在此之前,這個城市第一批工作的人早已忙碌起來,樓下傳來電動車輕微的嗡嗡聲,如果那位送奶工稍有留意的話,一定會注意到在這個尚未醒來的社區中,總有一棟樓的一扇窗是通宵長明的,當一個人在沉睡的世界中醒來時,難免會對周圍為數不多的同樣清醒的人產生好奇,那間房間的住戶在他眼中會是什麼樣的人?一個沉迷於電子遊戲通宵達旦的少年?一個在半睡半醒中着衣準備扎入地下,沿着一條隧道前往城市的另一頭上班的青年?還是一個見證了共和國的誕生與成長,在結束了自己幾十年如一日的工作後,正在安享另一個十年如一日的生活的老(zhang)者(?)?又或是僅僅不經意地瞥一眼後便調整車頭一甩而過,畢竟這個城市太大,而值得留意的人又太少.
對於房間的主人來說也是一樣的道理,在被車聲分心了眨眼的工夫後,便又重新將注意力集中在眼前的屏幕上,灰色背景的網頁中,密密麻麻的象形文字平鋪在純白的框體中,對一個英語國家的人來說,這種文字幾乎是不可思議的,難以想象這些遠古的黑暗時代的塗鴉能伴隨着文明一路成長延續至今,並深深地滲透入它的文化當中,而對信息學家而言,這種表述方式並無任何值得驚訝的地方,在卐字旗已經從國會大廈前降下而鐵幕與高牆尚未築起的時代,香農已經指出了信息的本質,世間萬物,但凡實際存在可被度量者,皆可被表示為比特,原本無意義的塗抹被有機地組合後構成了文字,而數以萬計意義不明的文字在被精心地排列後,構成了眼前的這一篇文章,在另一處看不見的地方,數以千萬計的比特正以電或磁的形式存儲在介質中,當它們以合適的形式顯示出來時,在屏幕上就是一張張美輪美奐的截圖或簡潔而巧妙的圖示.這些內容加起來不及一億比特,倘若只是單純地產生它們,在計算機中只需微秒計的時間,但要將他們排列成有意義的形態,卻需要數以月記的時間.在安慰性地掃視了幾眼後,鼠標指針停在發布按鈕上,已經沒有什麼可等待的了. 閱讀全文 [...]

悲報,硬盤損壞...

2015-05-26 190905

硬盤損壞一直是各種Deadline前工作不能完成或一個如火如荼的項目突然下馬的最好理由(同時也是搞毀一家蒸蒸日上的O2O公司的極好方式,咳咳),結果前幾天讓我遇上了...上周五回家時就發現有時系統會因為硬盤無法讀寫而死機,因為無法判斷是加速用的固態緩存盤的問題還是存放系統分區的機械硬盤的問題,因此就只是簡單關掉了加速,當時又是在趕着爆肝做機原作業,於是便抱着僥倖心理希望它還能再多撐幾天,結果到這周二我就中頭獎了... 閱讀全文 [...]

"有些話說出來就舒服多了"

(標題不用太在意,又一發黑槍而已...)
因為昨天把腳崴了,所以今天在家休息一天,感覺這段時間造的孽太多,前幾天把一個在圖書館看霓虹動♂作♀片的仁兄曝光了(請叫我正義的朋友),在blog上又搞了十幾天的放置play.因此決定趁現在瘸着腿什麼都不想乾的時候寫點啥.
首先是教程還更不更的問題,這個我想說的是,基礎篇估計不會更新了...真要更新的話可能是實體部分會再詳細一點. 至於TileEntity,冶煉和地圖生成這三部分可能不會再有了,等着別人來寫吧 23333
Extra篇可能會有個3D部分,此外肯定還會有個關於這三年間我遇到的各種MC問題的Q&A.

順便再感慨一下,終於有人做到這一步了:

它的作者Arun Gupta自稱是暢銷書作者,你可以在他的blogO'Reilly的官網找到目錄信息,能把這點內容寫出200頁確實有兩下子,反正我是把新舊兩個教程連同Extra篇加在一起也湊不出200頁.我覺得那本書叫Minecraft modding for dummies或許更合適,事實上作者本人也說他的目標讀者是初學編程的未成年人,因此就不要指望書中會有網絡編程或Coremod之類的了...

另外,有些東西不一定非要問別人才能知道...我不是很喜歡知乎的原因除了山寨和半實名制外,還因為它扼殺了一些人探究問題的能力,當擅長嘩眾取寵的人能壟斷一個問題的話語權時,一切理性都是蒼白無力的.比如關於配置時JAVA_HOME不正確之類的...這些問題大部分我都沒法在自己的機器上重現,最後結果還不全是去Google搜索...想知道MC的xx怎麼做/怎麼用,最簡單的辦法是:看官方是怎麼弄的.Eclipse中的References(查找引用)功能非常強大,點上你想查找引用的類/字段/方法,然後右鍵-References-Project(其實更多情況下我是直接Ctrl-Shift-G...)就能找它的所有調用,然後看看官方是怎麼使用它的.想追蹤調用棧的話可以Ctrl+Alt+H,查看類的繼承家譜還可以F4,能自己很快完成的事情為何還要去找別人問呢. (順便一提,如果不知道eclipse怎麼解除智能感知的封印的話...去網上搜一下吧.雖然它的智能感知即使解除封印了也確實不如VS和IDEA,甚至在高版本中有越來越蠢的跡象,Luna版的智能感知一度想讓我砸鍵盤...就看4個月後的Mars版怎麼樣了) 閱讀全文 [...]

眾矢之的

東方廚:囧主席,你覺得ZUN的月之都中國風設定好不好啊?

囧仙:好啊!

東方廚:妹老闆也支持嗎?

囧仙:當然啦!

東方廚:國內的一位東方廚呢最近發表了一個視頻說呢,一些考據的設定有誤、角色設定沒好好做。你對這個看法有什麼回應呢?

囧仙:扯吉拔蛋。

東方廚:是B站的一個UP主說的。

囧仙:你們廚千萬要記着,不要“見得風,是得雨”。接到這個消息,你們廚本身也要判斷,明白意思嗎?假使這些完全無中生有的東西,你再幫他說一遍,你等於..你也有責任吧。

東方廚:現在那麼早你們就說增加了你幾萬字設定的原創人物,會不會給人一種要脫離ZUN的設定的感覺呢?

囧仙:沒任何意思,原創也還是按照ZUN的...按照一設,按照考據,去發揮...
剛才你問我啊,我可以回答你一句“愛看看不看滾”,你們也不高興,那怎麼辦?我講的意思不是我不滿ZUN的設定。你問我支持不支持,我是支持的,我就明確地告訴你這一點。
你們啊,我感覺你們廚還要學習一個。你們非常熟悉外國廚的這一套理論,你們畢竟還too young.明白我的意思吧?我告訴你們,我是身經百戰了,見得多啦!東方的哪一個女孩子我不熟悉?你們要知道,月都的月夜見,那比你們不知要高到哪裡去了,我對她了如指掌。所以說廚呀還是要提高自己的知識水平,識得唔識得啊?唉,我也替你們着急啊,真的。你們有一個好,全世界關注什麼東西,你們比其他的外國廚還要安靜。但是呢一旦有了問題,鬧起來呀,都too sha'bility, sometimes zhuang'bility. 懂了沒有?

東方廚:囧主席,能不能說一下為什麼支持中國風?

囧仙:我很抱歉,我今天是作為一個策劃跟你們講。我不是傻廚,但是我見得太多了。我有這個必要好告訴你們一點創作的經驗。
剛才我很想啊,我每次碰到你們,我就講我以前有一句話叫“考據是二次創作”。我什麼話也不說,這是最好的。但是我想我見到你們這樣熱情啊,一句話不說也不好。所以剛才你一定要,在宣傳上將來如果和你們理解上有偏差,你們得吃鱉。我沒有說本作要一板一眼,死扣ZUN的設定,沒有任何這個意思。但是你一定要問我對中國風支持不支持,我們能不支持?這是ZUN的一設,我們怎麼能不支持一設?對不對?

東方廚:但是如果說本作是二設呢?

囧仙:二設也要遵照ZUN的一設啊,對不對?要按照考據的...當然我們的改編也是很重要的。秘封活動記錄是東方Project的二次創作,到那時候我們會表態的。明白這意思吧?你們啊,不要想喜歡弄個大新聞,說現在已經做成幻想鄉大戰秦時明月了,就把我批判一番,你們啊, not even wrong!I am angry!你們這樣子是不行的,我今天是婊了你們一下。

這算是我給@囧仙打了一發小小的黑槍,不了解最近國內東方Project形勢(至少是不看貼吧或囧仙微博)的人看了後都會一頭霧水.長話短說的話... 閱讀全文 [...]