InfiniteWing

Till Dreams Come True

  • 2017-01-16
    個人作品►楓之谷APP

    楓之谷APP開發日誌 ─ 第四章

    似乎相隔了許久才又想起更新這一系列的日誌,老實說這一年多也確實是發生了許許多多的事情,差點讓我都忘了怎麼繼續這即將邁入三年的開發計畫。

    呼,扯遠了,今天這一篇文章是要講述如何把地圖套上手機APP裡。

    冒險的起點 ─ 勇士之村

    好的,大家可以看到這是一張勇士之村的大圖

    各位一定很好奇這楓之谷的背景圖片是怎麼產生的:
    基本上就是一個一個物件堆疊起來,然後靠各自的x,y座標,z軸來控制前後景,最後東拼西湊就能產生這麼一張完整的勇士之村地圖。

    (好吧其實裡面滿多血淚的,但是實在事隔多年我也差不多快忘了當初的血淚是怎麼流的xDDD,如果對官方XML裡面的格式有問題的話不妨站內私訊我。如果有足夠的緣分我剛好上線看到的話一定會完整地回覆。)

    不過在這個地圖裡面,其實左側跟右側、還有下方都是有一定大小的留白…因為在官方的XML資料中,有些竟然沒有邊界的VR值…。
    幸好國外的水友是強大的,翻了好多國外的討論,最後終於得到了計算邊界的公式,然後就寫了一支程式來自動修復這個錯誤。

    修正邊界錯誤的勇士之村大圖

    可以看到經由程式修改了VR邊界值的錯誤後,新產生出的這一張大圖的邊界已經不會有留白的部分了。這樣就有助於將這張大的背景地圖繪製到手機上,讓角色看起來真的像在勇士之村等等經典楓之谷地圖中遊走一樣。

    或者你現在會問說,把整個地圖物件都壓縮進一張大圖,那不就會出現很詭異的情況?比如原本某個物件應該是在角色的前面,那現在不就通通跑到後面去了?

    老實說對於這個事情我也實在愛莫能助,雖然都已經知道地圖要怎麼繪製了,但是遭不住Android他有運算及儲存效能的問題。
    如果每個物件都是要動態繪製上去的話,那天曉得一幀跑完需要幾秒的時間…更何況還有傳說中的OOM,一不小心地圖都還沒畫到一半就OOM爆炸了…。

    所以無奈下我只能選擇把整個地圖壓縮成一張大圖,至少這樣就能減少許多運算及記憶體的耗損。

    將背景加入遊戲中

    這是將地圖實際放上APP後的表現,老實說我做到這個地方已經懶得繼續做下去了…畢竟又不能上架也不能炫耀,這憋屈的感受怎麼讓人受的了…。

    所以從2015年4月完成地圖的實裝後,我就把整個計畫擱置了整整一年半的時間,直到最近才又因緣際會下重啟這項計畫。

    下一篇日誌就會來講述最近實裝的成果─背景的繪製(就是上圖黑色的地方,會用動態的地圖背景來取代,基本上加上去後就跟真的楓之谷有87%像了xDDDDDDD)

    To be continued..
    Posted at 2017-01-16 03:58:41
    Share 留言
    • Android APP
    • 個人作品
    • 童年
    下一篇
    楓之谷APP開發日誌 ─ 第五章
    上一篇
    楓之谷APP開發日誌 ─ 第三章

    InfiniteWing

    Where Do We Come From?
    What Are We?
    Where Are We Going?

    最新文章

    • 有感而發 - 2018-08-24
    • 楓之谷APP開發日誌 ─ 小結 - 2018-08-21
    • 龍王的工作 - 2018-02-05
    • WSDM - KKBox's Churn Prediction Challenge - 2018-01-01
    • 在GCP安裝python3,運作pytorch - 2017-12-13

    分類

    • Big Data11
      • Cloud Computing3
      • Competition6
      • Deep Learning2
    • FreeBSD1
      • 系統防護1
    • Kaggle1
      • Notebook1
    • 個人作品9
      • 小說創作1
      • 楓之谷APP8
    • 生活4
      • 心情日記4
    • 網站設計2
      • Hexo2
    • 論文寫作1
    • 輕小說1
      • 心得1

    標籤雲

    Android APP8 Big Data11 CNN2 Cloud Computing3 Deep Learning2 FreeBSD1 GCP3 Hexo2 Kaggle9 Keras2 Notebook4 PCHome個人新聞台2 Visualization1 WSDM1 ssmtp1 個人作品9 夢想1 小說1 心得1 心情4 日常1 童年8 第一次3 系統防護1 經驗14 網站設計2 論文寫作1 資訊安全1 輕小說1 龍王的工作1

    彙整

    • 八月 20182
    • 二月 20181
    • 一月 20181
    • 十二月 20171
    • 十一月 20171
    • 十月 20171
    • 九月 20171
    • 八月 20174
    • 七月 20179
    • 二月 20171
    • 一月 20172
    • 十一月 20151
    • 十月 20152
    • 九月 20151
    • 三月 20141
    • 六月 20131
    © 2020 InfiniteWing all rights reserved.
    Powered by Hexo
  • Home
  • About
  • Archives
  • Work
  • Gallery