ETH官方钱包

創(chuàng)作內(nèi)容

10 GP

【開發(fā)日誌】Space Proeject Devlog #1

作者:Snoweve│2024-08-22 17:47:06│巴幣:126│人氣:130
前言
  歡迎來到第一篇Space Project的開發(fā)日誌,這次的專案是團(tuán)隊(duì)作業(yè),我在裡面主要負(fù)責(zé)程式相關(guān)工作,所以不會去涉及美術(shù)相關(guān)的技術(shù),主要是簡單說一下這次做得是什麼樣的遊戲現(xiàn)在的製作進(jìn)度學(xué)習(xí)的技術(shù)等等。

  技術(shù)相關(guān)的東西基本上是邊做邊學(xué),所以我不敢說100%的正確,只能說當(dāng)下我的使用方法是這樣,沒有辦法講的太詳細(xì),還請多加見諒。

  專案的時(shí)間差不多是半年,目前很多東西都是邊做邊調(diào)整,像是有不少的功能目前都是未確認(rèn)的狀態(tài),也就是說有必要會刪除,只留下遊戲的核心元素。
  要舉例的話就像是戰(zhàn)鬥類型遊戲,可以不要對話、道具擱置、背包也不要,但是戰(zhàn)鬥一定要有,最基本的攻擊判定、玩家移動、玩家運(yùn)鏡、敵人AI這些都一定要有。

  最後還有要補(bǔ)充的地方是,這一篇大多數(shù)時(shí)候會以圖片跟文字說明,一方面是進(jìn)度還在緩慢進(jìn)行,邊學(xué)習(xí)邊做的副作用就是提不起效率,但這次目的有一半就是以學(xué)習(xí)為導(dǎo)向,所以沒有那麼的緊張。

  那麼前言的部分差不多就是這樣,如果看完整篇有甚麼疑問或覺得有問題的地方,都可以在下面的留言或者私訊跟我說。 
(備註:如果有興趣知道更詳細(xì)的可以聯(lián)繫我,有需要我也可以給組內(nèi)的企劃聯(lián)絡(luò)方式。)

製作手機(jī)的【放置遊戲】
  如果不認(rèn)識【放置遊戲】的可以參考以下幾款手機(jī)遊戲:
  當(dāng)然電腦上也有放置類型遊戲,就像是最經(jīng)典的開心農(nóng)場(早期FB的網(wǎng)頁遊戲),只是現(xiàn)在已經(jīng)停運(yùn)了,並且放置類型遊戲目前更多的是轉(zhuǎn)戰(zhàn)到手機(jī)上......有點(diǎn)題外話了,有興趣可以去網(wǎng)路上找相關(guān)資料。

  回到製作,這次要製作的就是【放置遊戲】,配上上面所參考的遊戲,以及經(jīng)過高概念發(fā)想後選擇了3D、科幻、漂流、建築等題材。
(經(jīng)過篩選後留下的高概念圖)

  在確定高概念後就開始做遊戲玩法的發(fā)想,這邊會用文字搭配圖片的方式進(jìn)行說明。
(備註:這個(gè)是發(fā)想用,一定還會有調(diào)整,等等看會覺得元素過多,可能特色太分散,或者說時(shí)間考量上這樣可能做不完,但這就是前言說的,有些還在待確認(rèn)。)

  每個(gè)玩家都會有屬於自己的島嶼,島嶼上可以透過放置後取得遊戲中的貨幣以及道具(途中說到的遺物)。
(玩家島嶼,可以先忽略上面的Icon)
(採集放置所產(chǎn)生的資源)
(查看自己獲得的資源)

  島嶼可以向某個(gè)地點(diǎn)移動,當(dāng)然需要花費(fèi)一點(diǎn)資源,地方分不同種,最主要的就是[交易地點(diǎn)]、[主線地點(diǎn)]、[其他玩家島嶼(弱連線)]。
(備註:其他玩家島嶼目前確定拔除,主要是技術(shù)難題,沒有做過,不知道怎麼做。)
(讓自己移動到某個(gè)島嶼身邊進(jìn)行交流)

  交易地點(diǎn)可以使用貨幣和道具交易,獲取更多的*傢俱*,[主線地點(diǎn)]是來獲得主線劇情的,遊戲中著故事給玩家去探索。
(不同的島嶼會有不同互動)

  然後遊戲還有一個(gè)特色就是*傢俱*,玩家可以布置自己的島嶼,不同的布置方式可以增加你放置獲得的好處,也就是上面提到的交易能獲取的東西。
(擺放不同傢俱能有不同的效果,或者單純布置)

  整體遊玩內(nèi)容差不多就是這樣,至於美術(shù)設(shè)計(jì)的部分前言說到這邊不會細(xì)談,那麼基本的遊戲題材和遊戲玩法說完,接下來準(zhǔn)備說到開發(fā)進(jìn)度的部分了。
(備註:如果遊玩有甚麼不夠詳細(xì)的,可以在下面留言我會補(bǔ)。)

開發(fā)進(jìn)度
  • 資料下載、資料讀取、資料紀(jì)錄、資料更新  
  • 計(jì)時(shí)功能

  資料下載、資料讀取、資料紀(jì)錄、資料更新
  更具體說的話就是上個(gè)月我寫過幾篇的 Google App Script -> Unity -> SQLite ,這邊提供未修改前的Excel當(dāng)作範(fàn)例。

(遊戲遺物舊的Excel設(shè)定)
(將Excel的資料放到SQLite)

  這個(gè)主要方便處理資料,這樣之後改完Excel後,並且寫一個(gè)可以更新的程式,就可以變成一鍵進(jìn)行更新,我個(gè)人覺得是方便不少,數(shù)值規(guī)劃時(shí)也不用特別開Unity改ScriptObject資料,動Excel就可以了。
(提供好接口,讓Control使用接口輸入更新甚麼,就可以快速進(jìn)行更新)
  
  計(jì)時(shí)功能
  這個(gè)就比較白話,主要需要的功能是:現(xiàn)在的時(shí)間、上次離開的時(shí)間、這次上線的時(shí)間、計(jì)算離線了多久,並提供時(shí)間計(jì)算功能給其他系統(tǒng),像是生成系統(tǒng)每30秒要生成,就要讓計(jì)時(shí)系統(tǒng)提供接口。
(備註:接口的部分不知道怎麼展示,等到生成系統(tǒng)做完可能更直觀一點(diǎn)。)
(總和離線時(shí)間這麼大不是bug,這是因?yàn)檫@是我隔一天才又啟動一次)

  開發(fā)進(jìn)度大概就是這樣,以一個(gè)月來說真的很少,但是因?yàn)檫@之中還加上學(xué)習(xí),學(xué)習(xí)的部分等等學(xué)習(xí)的技術(shù)會提到。
  還有一部分是經(jīng)驗(yàn)不足導(dǎo)致,例如目前正在製作的生成系統(tǒng),生成物品可不可以疊放這種看似簡單的問題,有時(shí)候在設(shè)計(jì)時(shí)忘記,所以要花時(shí)間問,有時(shí)候問馬上就收到回覆,可能就沒想到,但有時(shí)候是設(shè)計(jì)設(shè)想時(shí)忘記有這樣的細(xì)節(jié),就還要花時(shí)間去想,這樣一來一回就又花了不少的時(shí)間。
(備註:但是這邊引用一句某位前輩跟我說的「設(shè)計(jì)階段的時(shí)候處理掉越多事情,後續(xù)就會越順?biāo)臁梗?/font>

學(xué)習(xí)的技術(shù)
  這次最主要用到的就是[洋蔥架構(gòu)]和依賴注入框架[Zenject],插件的話目前沒有,因?yàn)椴寮胚M(jìn)來也是要學(xué)習(xí),可是光前面兩個(gè)就花了很多時(shí)間,尤其目前花最多時(shí)間的是理解Zenject。
  像我說的,目前都是邊做邊學(xué),再加上我個(gè)人的習(xí)慣,我不敢再不確定前把東西說死(也是為甚麼我發(fā)文不是很長就是很水),所以更多的是說目前有甚麼問題,或者單純的說明學(xué)習(xí)的技術(shù)。

  洋蔥架構(gòu)
  簡約的方式來說,就是將程式邏輯依照不同層級進(jìn)行分離,unity的話可以用assembly,並透過開介面(interface)做反向注入,並不像平時(shí)的直接引用,可以達(dá)到解偶的目的,而且這樣的拆分讓程式碼更清楚的擺放,也能讓程式撰寫人更好的去找到功能的所在地。

  目前的困難
  洋蔥架構(gòu)乾淨(jìng)架構(gòu)等資料網(wǎng)路上的資料很多,但詳細(xì)的資料夾結(jié)構(gòu)我自己找不太到,所以目前都是以功能上做簡單的區(qū)分,不知道有沒有甚麼網(wǎng)站或github可以做參考的。
(洋蔥架構(gòu)的分層)
(目前專案的資料夾區(qū)分)

  Zenject
  Zenject像上面說到是一個(gè)依賴注入框架,運(yùn)用這個(gè)框架可以讓注入變得中心化,透過installer去做綁定,如果其他的程式需要某個(gè)類別的時(shí)候,只要寫上標(biāo)記就可以將該類別注入近去。
  Zenject還有提供像是事件處理singal bus,工廠factory,物件池memorypool等等,真的是很強(qiáng)大的框架。

  目前的困難
  現(xiàn)在都是抱著Zenject的Github文檔在看,真的要說比較大的問題,那就是全原文的文檔很花時(shí)間,中文圈也只有少少人的討論,除此之外就是慢慢啃原文檔了,目前正要做生成的我也正在詳讀memorypool以及factory。

  推薦教學(xué)  
  剛剛說到中文圈很少討論,但這邊要重點(diǎn)推一個(gè)專門做Zenject基礎(chǔ)講解的人,那就是Rstar(不是GTA那個(gè)),Rstar的Zenject教學(xué)可以說對第一次接觸的人很適合,不僅有刻意做一些新手可能犯錯的地方,並且中間還加上了單元測試的使用流程,真的是很好的教學(xué)。
(這張圖綁定:如果找IRepository這個(gè)介面,就會找或生實(shí)例的SQLiteService給你)
(所以當(dāng)這裡需要IRepository,就會是SQLiteService,使用的功能也就是它的)

結(jié)語
  這是第一篇也是第一次寫這個(gè),從開始寫完寫了差不多3小時(shí),感覺還是有不少地方?jīng)]有說好,但也只能走一步算一步,所以像開頭說的,有甚麼地方有疑問或想知道更詳細(xì),都可以留言說。

  那麼這次開發(fā)日誌的部分就到這裡結(jié)束了,下一次的話應(yīng)該就會是功能的進(jìn)度回報(bào)居多,更多的影片展示,程式碼想想其實(shí)也不好給,還不如給github看更快(但是不行!),那麼下次開發(fā)日誌見。
引用網(wǎng)址:http://www.jamesdambrosio.com/TrackBack.php?sn=5990062
All rights reserved. 版權(quán)所有,保留一切權(quán)利

相關(guān)創(chuàng)作

留言共 2 篇留言

bogay
弱連線的部分具體來說是要做啥啊?你有提到技術(shù)問題但我看有用到 GAS 的話應(yīng)該基本的網(wǎng)路相關(guān)知識是有的?

08-22 21:06

Snoweve
玩家的資料在某些時(shí)候會上傳到一個(gè)網(wǎng)路資料庫做統(tǒng)一管理,然後拜訪島嶼有說到可以去拜訪其他玩家的島嶼,主要就是在生成島嶼(給你去的地點(diǎn))時(shí)會抽幾筆資料,可能是玩家島嶼的資料或已經(jīng)訂好的島嶼資料(主要地點(diǎn)或交易地點(diǎn))這樣。
這樣的設(shè)計(jì),只要用我學(xué)的GAS知識就好嗎?還是這功能其實(shí)就跟從Excel讀資料沒差別?08-22 22:05
Snoweve
基本的網(wǎng)路知識有哪些,可能需要一點(diǎn)科普,我大部分都是扒資料看,有時(shí)候腦袋挺亂的,麻煩妳了。08-22 22:06
bogay
> 基本的網(wǎng)路知識有哪些,可能需要一點(diǎn)科普,我大部分都是扒資料看,有時(shí)候腦袋挺亂的,麻煩妳了。

我覺得這要講的話可能會有點(diǎn)長?而且需要一些來回討論。在巴哈的介面不是很方便,你介意改用 DC 私訊或隨便一個(gè)我們共同的 DC server 上討論嗎?

08-22 22:12

Snoweve
那我私訊你好了,我記得你的DC是哪一個(gè)。08-22 22:18
我要留言提醒:您尚未登入,請先登入再留言

10喜歡★snoweve99183 可決定是否刪除您的留言,請勿發(fā)表違反站規(guī)文字。

前一篇:【生活】一線的生活... 後一篇:【學(xué)習(xí)】物件池、為甚麼不...


face基於日前微軟官方表示 Internet Explorer 不再支援新的網(wǎng)路標(biāo)準(zhǔn),可能無法使用新的應(yīng)用程式來呈現(xiàn)網(wǎng)站內(nèi)容,在瀏覽器支援度及網(wǎng)站安全性的雙重考量下,為了讓巴友們有更好的使用體驗(yàn),巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現(xiàn)和功能。
屆時(shí)建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業(yè)系統(tǒng)版本才可使用)

face我們了解您不想看到廣告的心情? 若您願意支持巴哈姆特永續(xù)經(jīng)營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學(xué)】