首先,我是一位自學成才的程序員/開發人員,對於一些顯而易見的問題感到抱歉。與編程相比,這個主題更像是一個設計問題。用node.js和socket.io爲手機遊戲構建簡單的後端
我有一個Android遊戲在Play商店,我使用第三方後端和網絡解決方案。現在我想創建自己的簡單後端和網絡解決方案。爲什麼?因爲:
- 添加免費的 將(服務器端)
- 移動gamelogic從客戶端到服務器端的
- 學習一下後臺開發
- 學習有關網絡(未P2P新功能的能力,所以沒有打孔)
- 在服務器端的開發積累經驗和技術
爲了您的信息,我的遊戲是某種黑桃。
現在我的問題:
我想使用的Node.js,socket.io和MongoDB創建我的後端系統。
這些是我想要做的:
網絡:
- 從服務器到客戶端和發送剛反之亦然
- io.to(插座#ID).emit( '嗨' )(服務器到客戶端)
- socket.Emit( 「JoinRoom」)(客戶端到服務器)
後端功能:
- 用戶認證
- 註冊玩家信息(姓名,唯一的ID,得分,日期 創作等)
- 每次
- 更新分數註冊的朋友列表,以便他們可以一起玩
- 等。
什麼會我gamelogic每個房間做(ATM我gamelogic是完全以客戶端,所以容易受到黑客和作弊):
- 在空間中創建的,等待10秒鐘,以便其他人可以加入
- 當10秒已經結束,調用處理該啓動 過程 隨機化
- 52甲板卡的功能
- AI選擇賭注
- AI選擇王牌
- AI播放時,它的輪到他
- 確定誰擁有下一回合
- 決定誰贏得了
- 更新分數數據庫
- 當比賽結束後打開空間,這樣的人可以離開, 加入遊戲
- 等等
是否有可能與正創建此ode.js,socket.io和mongoDB?如果是的話,用node.js,socket.io和mongoDB做這件事情還是很明智的,還是用其他技術做得更好?
或者我應該使用Node.js和受socket.io爲網絡部分,另一TECHNOLOGIE(例如asp.net)爲遊戲邏輯是什麼?我讀過node.js不擅長處理CPU繁重的任務,我認爲gamelogic部分是CPU繁重的。
也許有些人可能想知道我的系統有多少玩家支持?那麼atm我每天有20個CCU,但是我的遊戲在商店裏用了3個星期,而且我並沒有提升很多,因爲我首先需要一個強大的後端系統。我希望我的後端能夠處理10000個CCU,也許我永遠不會達到它,但這是我的目標。
我希望我清楚我想要什麼,我們希望你們能幫助我。如果我想要做的事情可能和有效,我已經找了一週。
非常寬泛的問題,儘管描述很長,但可能沒有足夠的細節。由於遊戲邏輯的緣故,您擔心服務器受CPU限制,但您對其複雜性的細節很少。此外,併發用戶在這裏可能不是一個好的措施,因爲大部分工作只是在「輪流」完成。更好的衡量標準是每個時間段的轉數...... – jcaron
@jcaron最重要的任務是在遊戲開始時,以及玩遊戲。 - 在開始時,由52張卡組成的陣列進行洗牌(字符串排列) - AI紙牌,最好情況下AI通過他的套牌1次(最多13張卡組成),最差4次。 因此,從開始到開始的1場比賽: - 最多4輪最多10,在贏得最多撲克牌的玩家之間投注 - 贏得投注的玩家選擇王牌,所以在這裏轉1圈。 - 然後遊戲開始,每個玩家必須玩,直到他的套牌完成。 所以每場比賽總共最多63回合。 –