iT邦幫忙

2

使用unity做單機遊戲再改成線上可行嗎?

  • 分享至 

  • xImage

各位前輩想請教,目前想用Unity設計一個手機遊戲,是線上回合制RPG遊戲,但不曉得先以單機的角度出發,完成後再調整成線上這個想法是可行的嗎?還是應該一開始在設計的時候就要把線上考量進去呢?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1

一般只需要注意到,資料的發送即可。

如果你的單機遊戲的開發情況。本身就已經是發送後端資料的情況。
這樣可以先暫時以單機考量為主。
日後再從後端應用搭配及調整成線上制資料的方式就好。

但如果您的單機開發模式。其資料只是單純將資料儲存在本機設備上。
那這就不太適合日後改為線上制。
因為會改的不要不要的@@"

28474759 iT邦新手 5 級 ‧ 2024-05-07 14:22:26 檢舉

謝謝您的回覆,不曉得我的理解對不對,如果現在建一個後端來接收、發送資料,之後再改由線上的方式處理這樣嗎!

嗯,只要資料發送是傳送後端的情況下。要改成線上的機制其實就比較不難。
事實上,也有很多線上遊戲。也都可以改成單機版再玩。

畢竟線上遊戲的意義,就是資料共用處理。
像是一支怪物的出現。血量是由後端發出去有1000血。
A君砍一刀300血。回傳到後端就-300變700血。
B君砍一刀500血。回傳到後端就-500變200血。

如果資料在本機上。
就會700 500無法同步。

28474759 iT邦新手 5 級 ‧ 2024-05-08 15:17:13 檢舉

了解,謝謝解說!

1
小處成就大事
iT邦研究生 1 級 ‧ 2024-05-07 15:19:34

單機遊戲的存檔儲存手機上,線上遊戲的存檔儲存在伺服器上。
從單機改成線上,你可能要考慮到存檔要存在哪,如果是儲存在使用者的手機上,你就需要考慮遊戲可能會被修改進而影響公平性的問題。
如果你要讓遊戲的存檔存在伺服器上,那你要評估的可能就又要更多了,例如你的伺服器要放哪?AWS還是Google?

看更多先前的回應...收起先前的回應...
28474759 iT邦新手 5 級 ‧ 2024-05-07 15:47:25 檢舉

謝謝您的回覆,線上主要是要考量存放資料的位置就對了,應該就是要存放在伺服器了吧,不曉得相關收費要去哪邊找。

28474759
你可以參考看看以下這兩個連結:
AWS:https://aws.amazon.com/tw/pricing/?aws-products-pricing.sort-by=item.additionalFields.productNameLowercase&aws-products-pricing.sort-order=asc&awsf.Free%20Tier%20Type=*all&awsf.tech-category=*all

Google:https://cloud.google.com/products/calculator/

因為這是你自己製作的遊戲,自己製作的成本可能可以忽略不計,但伺服器的費用就沒辦法裝作沒看到了,這是你必須支出的成本,所以你還要考量花費的問題。
再者,就是你確定了花費之後,你該如何填上這個坑,買斷制?包月?免費但遊戲中你要額外課金?這也會是你需要思考的問題。
想要靠自己一個人做出線上遊戲是一個很大的挑戰,成功了那表示你的能力真的非常強,如果失敗了沒有達到預期的目標也沒有關係,因為那些成功的線上遊戲背後,付出的絕不是一個人的心力而已,加油。

28474759 iT邦新手 5 級 ‧ 2024-05-07 16:16:38 檢舉

謝謝建議,我會再思考成本的問題!

froce iT邦大師 1 級 ‧ 2024-05-08 08:09:08 檢舉

不只是資料儲存的問題,網遊你還要考慮作弊的問題,基本上實時連線機制是一開始就該考慮進去的,至少要考慮一些檢核機制,確保上一個動作玩家手上的資源和下一個動作符合。
單機或單機加聯網PVE簡單多了,玩家付完錢,要怎麼改他的事,這種模式才比較適合你說得先搞單機出來再弄聯網。

28474759 iT邦新手 5 級 ‧ 2024-05-08 15:19:37 檢舉

阿..倒是沒考慮到這個,謝謝告知!

2
SunM0on
iT邦新手 4 級 ‧ 2024-05-07 17:45:32

前面的前輩都提了資料儲存的部分

我說點別的,肯定是可行的
但你要注意自己開發時的擴展性,不要寫太多hardcode,舉個例子
在每個功能開發時,都要留個心眼想一下是獨立於角色還是共享的資源,
當你沒有考慮到這個資源是怎麼呈現,你寫出來的東西加入連線後就容易不穩定
例如最簡單的寶箱拾取,也會有很多問題
1.玩家2撿取後在玩家1身上
2.想讓寶箱獨立於每個玩家,每個玩家都能看見自己的寶箱,或是寶箱是共享資源,誰打開就是誰的
3.當寶箱是共享資源時被兩人同時撿取時,兩人都有同樣的寶物
...

我的建議是先做一個最小原型(至少要到能連線的程度)出來,沒問題再回頭繼續加單人內容,才不會越走越歪

28474759 iT邦新手 5 級 ‧ 2024-05-08 15:27:32 檢舉

謝謝建議,先做一個小原型好像可行!

1
桃桃
iT邦新手 5 級 ‧ 2024-05-08 12:27:09

做一個線上回合制RPG遊戲,我想你考慮連線的原因,主要有兩個:

  • 1.玩家資料儲存
  • 2.與電腦應戰

以第一個儲存資料來說,因為把玩家資料存在手機裡面會有作弊問題(自己改等級, 錢...),就如同上面的大大們建議的,把資料存在伺服器上會有一筆花費產生。

不過不用氣餒,其實也有許多"在限額內免費"的工具存在,比如你可以參考"【阿空】Firebase + Unity 免費雲端資料庫" 這部影片。就算使用AWS,Amazon DynamoDB也是永遠免費的,如果你還是學生,甚至有享有各種學生優惠(請搜尋:AWS學生方案)。
可以參考以下連結
https://aws.amazon.com/tw/free/database/

至於第二,與電腦回合制應戰,這個就比較困難,你得自己思考並撰寫電腦的出牌邏輯,並且自己架設伺服器,這樣玩家透過網路發出對戰要求,伺服器就能依照你要的行為處理。這部分無法給你建議,畢竟撰寫這樣的邏輯對我而言,也是很困難的事情。

如果是與其他玩家應戰,那麼應該會好處理很多。畢竟這樣伺服器只要知道兩人的對戰成敗,檢測是否有人作弊,並發出獎勵即可。

28474759 iT邦新手 5 級 ‧ 2024-05-08 15:26:53 檢舉

謝謝分享,很實用的資訊!

我要發表回答

立即登入回答