很多來達內學習的同學,對遊戲都有一些夢想,可是常常對於遊戲設計製作,想得很單純。
其實遊戲設計製作往往是需要伺服端程式的。

我們這邊分析一下為什麼需要伺服端程式。
如果是免費的公益型 / 教學展示型的遊戲就不需要
如果想寫的遊戲,並不考慮在任何點收取費用。而只是讓人遊戲,那這種遊戲就不需要伺服器,我們可以把所有的資料都放在包好的 App 當中,讓使用者下載即可。
如果想要讓遊戲當中有聊天室系統
如果我們做的遊戲有聊天室系統,可以讓玩家們透過聊天室系統聊天,這時候我們就會需要一台聊天室主機伺服器,這時候注意的點是,在程式的設計上,並不是伺服器傳送訊息給客戶端。而是客戶端要主動去拉訊息。而聊天室當中如果會有私訊系統,那伺服端程式及資料庫的設計上就會更複雜。
無伺服器付費遊戲的危機
如果我們設計的遊戲是付費遊戲,想要藉由設計出來的遊戲來賺點零用錢,那伺服器的機制更是重要。
我們在設計付費遊戲時,付費點可能會在抽道具、買道具、買體力,這幾點上面。而因為體力是會被消耗的,當玩家把體力消耗完之後,就需要等待時間等體力恢復,或者是直接付錢來讓體力恢復。這時候,如果是單機版的遊戲,那駭客型玩家會找出各種方法,來凍結體力或者是讓體力一瞬間恢復。一樣的狀況也會出現在抽道具或者是買道具上。
如果程式只有存在於客戶端,那客戶端上的各種資料庫,就等於是放著讓客戶自由操作了,這樣的狀況下,遇到了駭客型玩家,就可能會對遊戲收益造成重大的影響。
如何設計付費遊戲的伺服器
當我們設計收費手遊的時候,要注意只要是存在客戶端的東西,就會有很大的可能性會被駭客型玩家竄改,所以我們思考把所有的資料都存在雲端。但是只要是存在雲端,就會有資安的問題要考慮,所以我們一般會撰寫伺服端程式,撰寫 API 。客戶端程式必須要串接 API 去取得所有資料。而所有有關遊戲屬性的計算,也要在伺服端上進行,再把數值回傳給客戶端。而客戶端在依照接受到的數值進行遊戲的進行。
而遊戲的付費機制,更是要透過伺服器進行。在坊間有許多攔截付費機制的外掛,可以騙過手機上的 App ,讓這些 App 以為已經付費完成,其實這些玩家一毛都沒有付。
所有的付費,都一定要經過伺服器的驗證,伺服器要能夠到原廠付費伺服器上驗證該訂單的存在並且付款完成,才能夠繼續購買的流程。
這篇文章簡單地告訴大家遊戲為什麼需要伺服器的存在,希望對大家有所幫助。

