一、背景和目標(biāo)
當(dāng)年大三的時候?qū)懥藗€五子棋世界,就是qq game那種大廳-房間-桌子(我只有簡單邏輯的五子棋)。畢業(yè)后一直想找個時間來重構(gòu)它,后來有次下決心看了下代碼,有點兒不知所措,你懂的,:D,還不如重寫。
現(xiàn)在對go很感興趣,準(zhǔn)備用go來實現(xiàn)以前的開源夢。就先已以前的五子棋世界那種休閑游戲平臺來開始練手吧。
目標(biāo)暫時不定的太大,基本實現(xiàn)大廳-房間-桌子-游戲就行了,慢慢重構(gòu)慢慢完善。
二、服務(wù)器架構(gòu)
基本架構(gòu)參照之前給公司項目做的架構(gòu)。當(dāng)架構(gòu)有改變時,及時修改這篇博客,或者新博客與這篇相互引用和注解。
不同的部分,加個大廳,大廳里顯示房間狀態(tài),這樣玩家就自己選擇閑的房間去玩,這樣就不需要做負(fù)載均衡的算法了。
(一)賬戶系統(tǒng)
游戲自身不做賬號密碼這種用戶系統(tǒng),只用第三方的賬戶,如微博賬戶等來連接到我們游戲。或者更簡單點,這塊兒只模擬下微博等第三方用戶系統(tǒng)的登陸了。
第三方賬戶連接到我們游戲,我們本地只由自增長的uid生成器來生成一個int的uid即可,將第三方的platformUid和我們的localUid做個關(guān)聯(lián)映射。
(二)大廳
大廳可以做成短連接,玩家選擇游戲及房間的時候才去大廳刷新下當(dāng)前的各房間負(fù)載情況。
二、客戶端
用walk。(待詳細(xì)規(guī)劃)