原创 .editorConfig常用設置

# http://editorconfig.org root = true [*] # 表示所有文件適用charset = utf-8 # 設置文件字符集爲 utf-8indent_style = space # 縮進風格(tab | sp

原创 淺談ET框架--ECS設計核心(一)

ET框架的ECS設計核心可以總結爲一句話,那就是: 繼承轉組件,多態轉分發 OOP設計裏的繼承更換爲組件Component模式,多態轉成分發模式。 框架代碼裏頭的案例: 數值組件掛載Entity上。 不同數值行爲通過NumericWatch

原创 Visual Studio快捷鍵總覽,推薦VS+Resharper實現高效開發

VS2022之後,其實還挺好用的,但個人還是習慣VS+Resharper的強強組合,尤其是Ctrl+N快捷鍵的全局搜,比VS自帶的Ctrl+T好用太多了,Ctrl+B還能直接查看反編譯之後的dll的方法。下面是常用VS快捷鍵,收藏記錄下。

原创 ET8開發微信小遊戲之部署雲服務器Nginx代理

最近用ET8搞微信小遊戲測試,部署到雲服務器,手機上運行,必須要用https備案過得域名,客戶端使用websocket創建必須要wss開頭,服務端部分通過Nginx進行https通信之後轉發到雲服務器的內網ET服,表格配置部分如下,當前我使

原创 .net Assembly.Load重複加載程序集造成執行異常

最近ET做熱更重載dll的時候,返回登陸會重新檢測新的dll,首次登錄之前已經Assembly.Load()過一次dll,第二次返回登陸再次load dll到內存中,Invoke執行方法的時候,異常了,有些方法執行了,有些未執行,於是查資料

原创 ET介紹——Actor Location

Actor Location Actor模型只需要知道對方的InstanceId就能發送消息,十分方便,但是有時候我們可能無法知道對方的InstanceId,或者是一個Actor的InstanceId會發生變化。這種場景很常見,比如:很多遊

原创 ET介紹——數值組件設計

類似魔獸世界,moba這種技能極其複雜,靈活性要求極高的技能系統,必須需要一套及其靈活的數值結構來搭配。數值結構設計好了,實現技能系統就會非常簡單,否則就是一場災難。比如魔獸世界,一個人物的數值屬性非常之多,移動速度,力量,怒氣,能量,集中

原创 ET介紹——淺談AI框架

AI框架 1. 幾種AI的設計 AI在遊戲中很多,但是爲什麼大家總是感覺ai編寫起來十分困難,我後來思考了一番,主要原因是使用的方法不當。之前大家編寫ai主要有幾種方案: a. 狀態機 我是不知道誰想出來這個做法的,真是無力吐槽。本來對象身

原创 ET介紹——更爲便捷高效的AI框架-行爲機(Behavior Machine)

什麼是行爲機 顧名思義,類比狀態機每個節點是一個狀態,行爲機每個節點是描述一種行爲。行爲機每個節點之間是互斥的,並且節點相互之間完全不用關心是怎麼切換的。這裏就不講狀態機跟行爲樹是怎麼做ai的了,這裏只講用行爲機怎麼做一個ai。舉個例子 m

原创 ET介紹——事件機制EventSystem

事件機制EventSystem ECS最重要的特性一是數據跟邏輯分離,二是數據驅動邏輯。什麼是數據驅動邏輯呢?不太好理解,我們舉個例子 一個moba遊戲,英雄都有血條,血條會在人物頭上顯示,也會在左上方頭像UI上顯示。這時候服務端發來一個扣

原创 ET介紹——強大的基於.dotnet7+Unity3d的雙端C#開源遊戲框架

ET是一個開源的遊戲客戶端(基於unity3d)服務端雙端框架,服務端是使用C# .net core開發的分佈式遊戲服務端,其特點是開發效率高,性能強,雙端共享邏輯代碼,客戶端服務端熱更機制完善,同時支持可靠udp tcp websocke

原创 ET介紹——組件式設計(優化版的ECS)

組件式設計 在代碼複用和組織數據方面,面向對象可能是大家第一反應。面向對象三大特性繼承,封裝,多態,在一定程度上能解決不少代碼複用,數據複用的問題。不過面向對象不是萬能的,它也有極大的缺陷: 1. 數據結構耦合性極強 一旦父類中增加或刪除某

原创 ET介紹——爲什麼使用C# .net core做服務端?

爲什麼使用C# .net core做服務端? 遊戲服務端從早期的單服到分佈式,開發越來越複雜,對穩定性,開發效率要求越來越高。開發語言的選擇也逐步發生了變化,C 到 C++ 到 C++ + PYTHON 或者C++ + LUA 到現在 很多

原创 ET介紹—— 一切皆實體的設計

一切皆實體 目前十分流行ECS設計,主要是守望先鋒的成功,引爆了這種技術。守望先鋒採用了狀態幀這種網絡技術,客戶端會進行預測,預測不準需要進行回滾,由於組件式的設計,回滾可以只回滾某些組件即可。ECS最重要的設計是邏輯跟數據的完全分離。即E

原创 ET介紹——分佈式Actor模型

Actor模型 Actor介紹 在討論Actor模型之前先要討論下ET的架構,遊戲服務器爲了利用多核一般有兩種架構,單線程多進程跟單進程多線程架構。兩種架構本質上其實區別不大,因爲遊戲邏輯開發都需要用單線程,即使是單進程多線程架構,也要用一