過敏!過敏!過敏!句句過癮!先來認識一下社羣大神「過敏黨」!
「過敏黨」遊戲從業前後端開發 10+ 年,創業 2 年!曾用 Unity 開發 3D 網遊 年+,熟悉Unity早期架構和其C++原始碼與定製,有自己的前後端框架。
300+ 部武俠小說閱讀史,曾粗讀 TAOCP,概讀遊戲程式設計精粹前7部,略讀具體數學、演算法導論,熟讀 UNIX3 部頭,精讀《爲啥我頭禿》。
熟悉 Windows、Linux、FreeBSD、MacOSX 系統的開關機,略知一點行業知識,略懂一點 DDOS 防禦,知識駁雜但淺薄,上班時負責經手過原生遊戲的產品、商務、運營、推廣等。
熟悉語言有:C = C++ = JAVA < Go = JS = C# < Python
自己基於對GFW的認知開發自用科學化上網的程式碼。
作者:過敏黨
編輯:張曉衡
「粗暴點說,沒有打動到核心使用者;實際點說,維護團隊沒有愛了(直接或間受益不足,包含KPI),附加的:缺少現象級遊戲。
從技術層面說,後端大多情況下需要的是框架而不是條條框框多的引擎
」
再說下後端流派和特點:
C/C++: 極致效能;需要有一定駕馭能力和積累,比如鵝廠部分專案;
Java: 流行標準;生態好,框架成熟,語言標準,庫多,人多;
C/C++加上Lua等膠水語言:有大拿推動或有獨特的代背景;比如雲峯的skynet,網易大話西遊的MudOS/LPC;
Go: 並行併發簡單,效能不錯,可以交叉編譯,部署簡單,和容器化相關技術docker, k8s等親緣性較好;
Python: 語言強大,庫牛逼,擴充套件性優秀,開發效率超一流;
Erlang: 分佈式,函數式,無腦熱更新,有成熟框架;流星於廣深頁遊,那一波帶動起來的;
PHP: 簡單粗暴,人多;農場等特定型別弱聯網遊戲,套上短連和數據庫可以像開發web一樣快速成型;
C#: 語法優秀,效能不錯,在微軟生態下有BUFF加成;在windows伺服器上部署簡單,跑得很歡暢。
過敏黨:
「註冊留存嗎?那這留存數據挺厲害,不過變化有點詭異。
留存看起來具有典型的網賺類產品特徵,詭異在次留偏高,長線留存偏低,應該是投放團隊很會做吸量投放,但是目標使用者被細的多了之後相對精準度降低了。
eCPM 的話可以去掉 iOS 再看,應該能體現出一些問題:蘋果6月30號會下掉一批沒有版號的遊戲,有的「比較特殊」的一刀 999 或者 XX 農場、YY 養豬之類的投放大戶在最後狂歡,eCPM大盤應該擡高了一點。
」
李逍遙:
「網賺類產品的「良好生命週期」會持續下降,渠道買量成本也會持續升高,在市場的更新和大量洗使用者下,變現的 eCPM 也將會走低。所以,要抓緊衝!接下來的30-45天內,會是一波熱潮!
」
過敏黨:
「波動可以看看是不是投放變化,是不是有羊毛黨組團來了
」
李逍遙:
「@過敏黨 你很不錯,能從數據中分析出一部分比較正確的觀點。數據分析可以
」
「ecs本身抽象是挺好的,但是我的分析和體驗是目前僅適合部分遊戲。尤其是系統可以龐大,但是單個複雜度不會太高,以及玩法可以複雜,但是不能太深。
」
比如國外的關卡式單機以及 MOBA 有點適合,國內的 MMO 乃至 MOBA 並不是很適合。
極端的 ECS 對目前的主流開發思維很折磨,這麼樣拆分是很痛苦的,老實說,有這個拆分能力的人,本身工程、架構能力不俗,哪怕用過程式的開發方式也能擼出產品來,只是規範準則是很有威力的,這個 ECS 以及類似系統的長期效益會體現出來。
我自己的做法(注:開房間類遊戲)是entity部分較多的採用OO,並且是用淺度繼承,Comp 部分參照 Unity, Cocos的主流用法,System 我是靜態程式碼實現。
實際體驗還可以,但是可能自身習慣或者是對 ECS 的激烈並不夠,所以相對目前 Cocos 或者曾經 Unity 的 CS 開發模式,並沒有太多改觀,約略說好處是更加規範了一些。
還有一個核心問題,致使 ECS 在 Cocos 開發中徒有其形,而並不能傳神:ECS在很大程度上並不是爲工程服務,而是爲效能服務,因爲這樣的劃分 Cache 友好性,以及適合並行,可以提高執行時效能。
而 Cocos 裏面指令碼層較難利用連續記憶體,而物件拆分過細也導致底層 js runtime 不能充分利用 Cache,另外邏輯本身沒有並行(嚴格來說,連併發也沒有),所以這裏基本上是遺憾了。
「」
如果有條件,可以在伺服器一次性並行獲取並打包處理好之後下發用戶端;
如果無伺服器邏輯,可以在用戶端做優先順序併發下載。畢竟一開始排行榜並不會全部顯示,螢幕上可能只能顯示下top10;
下載好之後頭像可以做本地有過期時間的 LRU Cache,下次不用下載相同頭像,根據最多顯示的排名數按需確定cache大小;
本地載入用 Virtual List,如果實在沒有且不想用,可以配合新增 Loading 菊花,分幀 Lazy 載入;
多數情況下,下載瓶頸在圖片,儘量縮小頭像大小且選擇合適的格式(嗯,比如同等大小 JPG 比 PNG 載入快)顯示效能瓶頸在文字,儘量用圖片字型或者用好 Label的 Cache 模式。
感謝「過敏黨」的,精彩分享,還有更多內容我們下次繼續!
歡迎加入「Creator星球開發者聯盟」一起聊遊戲!