標籤

2020年8月23日 星期日

Zombo Buster Advance

Zombo Buster Advance

Date: 20200821
Version: 1

趁著最近POE季末,來Steam上找找有沒有小遊戲來玩,通常我都是POE季末時,才會去玩玩其他遊戲,因為POE季末大蓋1個月左右,通常我都找一些小品遊戲來玩,價格不超過500元,可以玩1個月,我覺得還算是OK啦!

今天就介紹一下,這次找到小品遊戲:Zombo Buster Advance,以下用習慣的條列式來說明吧!

  1. 類似植物大戰殭屍的橫式塔房遊戲,但跟植物大戰殭屍不一樣的是,每條路線上限為3隻,但每一個角色都有類似寶石鑲嵌的功能,上限為5洞,可以鑲嵌不同的寶石,3個同等級的寶石可以兌換高一級的寶石;還有天賦,但不是天賦樹的概念,而是有限的天賦可以影響遊戲內容;最後再加上一些玩家武器,來影響遊戲內容。
  2. 此遊戲有繁體中文,價格為新臺幣102元整。
  3. 殭屍有生命值和裝甲值,兩種血量,裝甲值是不論傷害多高,每次受傷只減一點,而生命值就會被傷害所影響。
  4. 以下介紹遊戲內容:
    1. 小隊
      1. 槍手
        1. 傷害: 25 (攻擊力)
        2. 射速: 1.5 (每幾秒攻擊一次)
        3. 成本: 100 (多少錢)
        4. 時間: 30 (冷卻時間,秒)
        5. 效果: NA (特殊效果)
        6. 筆者說明: 一開始擁有的腳色,沒啥特別,後面有新角色就用不到了。
      2. 特工
        1. 傷害: 8
        2. 射速: 0.9
        3. 成本: 100
        4. 時間: 30
        5. 效果: NA
        6. 筆者說明: 射速是目前最快的,也是到後期也很好用,撐高攻速,拿來打裝甲值非常好用,可以把殭屍的裝甲值洗掉,讓後方的輸出角色可以打出傷害出來。
      3. 砲手
        1. 傷害: 75
        2. 射速: 3.5
        3. 成本: 125
        4. 時間: 40
        5. 效果: NA
        6. 筆者說明: 一開始傷害最高的角色,一樣後期就用不到了。
      4. 女特工
        1. 傷害: 20
        2. 射速: 1.25
        3. 成本: 125
        4. 時間: 40
        5. 效果: 迷你暈眩(25%)
        6. 筆者說明: 第一隻有效果的角色,暈眩會讓殭屍停頓一下。
      5. 烈焰
        1. 傷害: -
        2. 射速: 5
        3. 成本: 175
        4. 時間: 50
        5. 效果: 燃燒(100%)
        6. 筆者說明: 可以造成持續火焰傷害,但缺點是因為沒有傷害,所以對裝甲值無效,連裝甲值減一都不行,只能打生命值有用。
      6. 保鑣
        1. 傷害: 140
        2. 射速: 3.5
        3. 成本: 250
        4. 時間: 60
        5. 效果: 範圍暈眩(25%)
        6. 筆者說明: 負責傷害輸出,還可以造成暈眩,很好用的角色之一。
      7. 北極戰士
        1. 傷害: 20
        2. 射速: 3.5
        3. 成本: 125
        4. 時間: 40
        5. 效果: 減速(100%)
        6. 筆者說明: 效果不大。
      8. 致命首領
        1. 傷害: 75
        2. 射速: 2.5
        3. 成本: 175
        4. 時間: 50
        5. 效果: 爆擊(25%)
        6. 筆者說明: 爆擊有機率造成1-3倍的傷害,不管是裝甲值還是生命值都有用,蠻好用的角色之一。
      9. 神槍手
        1. 傷害: 125
        2. 射速: 3.5
        3. 成本: 250
        4. 時間: 60
        5. 效果: 穿透(100%)
        6. 筆者說明: 穿透至多三名殭屍,射一發至少有三倍的效益,好用的角色之一。
      10. 線衛
        1. 傷害: 35
        2. 射速: 1.5
        3. 成本: 125
        4. 時間: 40
        5. 效果: 擊退(10%)
        6. 筆者說明: 效果不大。
      11. 雷電扎珀
        1. 傷害: 50
        2. 射速: 3.5
        3. 成本: 250
        4. 時間: 60
        5. 效果: 連鎖閃電(100%)
        6. 筆者說明: 殭屍在一定的距離內,攻擊可以連鎖,其效果類似神槍手的穿透,但數量遠大於3隻,且可以電到上下層的殭屍,甚至可以連鎖部分可以穿透安全閘門,可以取代神槍手的作用。
      12. 死亡之擊
        1. 傷害: 25
        2. 射速: 1.5
        3. 成本: 175
        4. 時間: 50
        5. 效果: 死亡(8%)
        6. 筆者說明: 機率一擊必殺,類似血肉之魔,但可做用在裝甲值上,對BOSS無效。
      13. 太空戰士
        1. 傷害: 75
        2. 射速: 5
        3. 成本: 250
        4. 時間: 60
        5. 效果: 等離子束(100%)
        6. 筆者說明: 類似神槍手,可貫穿整層。
      14. 血肉之魔
        1. 傷害: -
        2. 射速: 10
        3. 成本: 250
        4. 時間: 60
        5. 效果: 生命值爆破(100%)
        6. 筆者說明: 當殭屍無裝甲值時秒殺,但因為無傷害,所以對裝甲值無效,任務送的角色,經測試對BOSS無效,即便BOSS無裝甲值。
      15. 裝甲之魔
        1. 傷害: -
        2. 射速: 5
        3. 成本: 250
        4. 時間: 60
        5. 效果: 破甲(100%)
        6. 筆者說明: 只對裝甲值有效,會清空殭屍目前的裝甲值,但因為無傷害,所以對生命值無效,任務送的角色,經測試對BOSS裝甲值僅會減一。
      16. 迷你炮機槍手
        1. 傷害: 5
        2. 射速: 0.15
        3. 成本: 350
        4. 時間: 70
        5. 效果: -
        6. 筆者說明: 比特工還要快的攻速,但價格偏高,建議降低其消耗,任務送的角色。
    2. 徽章
      1. 力量徽章
        1. 傷害提升+X%
      2. 敏捷徽章
        1. 射速提升+X%
      3. 能量徽章
        1. 成本降低+X%
      4. 時間徽章
        1. 時間減少+X%
      5. 觸發徽章
        1. 2x射擊+X%
        2. 筆者說明: 增加連擊(連速發射兩發)的機率,這樣應該比較好理解,此部分會加入效果說明中。
    3. 物資,也就是天賦,上限為10級。
      1. 量子反應器
        1. 增加能量產生
        2. 筆者說明: 增加每次產生的能量。
      2. 眾籌
        1. 增加初始能量
        2. 筆者說明: 增加開場可使用能量。
      3. 超頻
        1. 提高能量生產器的循環速度
        2. 筆者說明: 提高每次產生能量的速度。
      4. 醫療包
        1. 增加生命值點數
        2. 筆者說明: 不太需要,因如果要達到成就的話,基本上都要無傷,所以增加生命值沒必要。
      5. 物理鑽
        1. 提高已部署部隊的傷害和射速
        2. 筆者說明: 最高可提高20%
      6. 永恆齒輪
        1. 減少所有電子配件的冷卻時間
        2. 筆者說明: 道具的冷卻時間。
      7. 退休小貼士
        1. 卸下部隊時,保留一部份能量
        2. 筆者說明: 取消部屬時可返回部分能量,通常不會重新部屬,因為浪費時間還有能量,不太需要。
      8. 地雷
        1. 減少地雷的冷卻時間
        2. 筆者說明: 遇到地雷後補充。
      9. 超音速電梯
        1. 減少電梯替換冷卻時間
        2. 筆者說明: 跟植物大戰殭屍不同的地方,士兵部屬完畢後,可以透過電梯調換路線,可以集中部屬後,再透過調換路線來達到同樣效果,而不需分散能量去其他路線部屬。
    4. 電子配件,也就是道具,上限為10級。
      1. 炸藥
        1. 說明: 爆炸並造成範圍傷害
        2. 冷卻時間: 30(秒)
        3. 筆者說明: 對裝甲值只能減一,對生命值較有效。
      2. 時光機器
        1. 說明: 暫時停止所有殭屍
        2. 冷卻時間: 120
        3. 筆者說明: 暫停幾秒
      3. 尖刺陷阱
        1. 說明: 殭屍採到時,對其造成傷害
        2. 冷卻時間: 30
        3. 筆者說明: 地上障礙物,可持續造成傷害,可以快速消耗裝甲值。
      4. 等離子牆
        1. 說明: 暫時阻止殭屍們前進
        2. 冷卻時間: 60
        3. 筆者說明: 1等就有不錯的時間。
      5. 銀河響指
        1. 說明: 立即殺死隨機的殭屍
        2. 冷卻時間: 150
        3. 筆者說明: 隨機殺死殭屍,電影梗。
      6. 腎上腺素
        1. 說明: 暫時提高電梯中所有部隊的射速
        2. 冷卻時間: 90
        3. 筆者說明: 提高射速,可快速清掉一層後,調換置別路支援。
      7. 重置工具包
        1. 說明: 立即重置所有其他電子配件的冷卻時間
        2. 冷卻時間: 145
        3. 筆者說明: 重置其他冷卻時間
      8. 傳送器
        1. 說明: 在同一個樓層向後傳送所有殭屍一段距離
        2. 冷卻時間: 90
        3. 筆者說明: 暫時消失後,出現在後方一段距離。
      9. 隱身無人機
        1. 說明: 向殭屍發射多種炸藥
        2. 冷卻時間: 120
        3. 筆者說明: 一樣是全螢幕隨機殭屍造成傷害,但如果只有一隻,會集中在這一隻身上。
    5. 任務
      1. 換句話說就是解成就用的,會獲得金幣、勳章或士兵。
    6. 我的玩法/策略
      1. 個人習慣會一個角色都使用相同的徽章,力求效果最大化,傷害高的提高傷害,攻速快的提高攻速。
      2. 傷害角色:神槍手(傷害高,打擊數量中,使用力量徽章)、雷電扎珀(可多層,打擊數量最高,使用力量徽章)、保鑣(單體傷害最高,打擊數量最低,使用力量徽章)
      3. 攻速角色:特工(速度第2快,使用敏捷徽章)、迷你炮機槍手(速度第1快,但價格高,使用能量徽章)
      4. 效果角色:裝甲之魔(打裝甲值,通常只會放1,降低價格給其他角色使用)、血肉之魔(打生命值,通常只會放1,降低價格給其他角色使用)
      5. 天賦:量子反應器、眾籌、超頻、物理鑽、超音速電梯、永恆齒輪
      6. 道具:等離子牆、腎上腺素、重置工具包(第三個還在嘗試中)
      7. 總共50關,我也接近全破,102元的小遊戲,打發時間用,推薦給大家。

2020年8月15日 星期六

文字接龍

Date: 20191216
Version: 1

  1. 可參考上篇「文字戰爭」,這算是重啟之作,在上次實作之後,給了身邊的朋友測試,但效果不盡理想,最主要的原因是,一般人常用或口語用的詞彙,常常會與資料記載不符,也就導致詞彙無法送出,無法進到下一步,造成遊戲體感不佳。
    1. 假設有N個字,有M個有意義的詞彙,M<<N
    2. 2個字: M2 / N^2,M2<<N^2
    3. 3個字: M3 / N^3,M3<<N^3
    4. 以此類推,當隨著單字長度不斷增加,有意義的詞彙比例就會不斷下降,換句話書,越不容易送出非常態用的詞彙,也就是說會越接近資料庫所擁有的詞彙。
    5. 因此,在這階段,會將長度小於2的詞彙移除,僅保留長度大於2的部分,也就是相關詞彙會從長度3開始,後續再依照實際使用狀況進行修正,看是否要將長度3也拿掉。
    6. 雖然一開始想說把詞彙規範在成語當中,但成語的長度並非一致不變的,有長有短,最後就只保留長度3以上的詞彙。
    7. 資料來源主要是《成語典》、《國語辭典簡編本》、《唐詩三百首》及《宋詞三百首》。
    8. 《成語典》、《國語辭典簡編本》包含大部分的成語,而其中有一些具有逗號的成語,會相對應新增沒有逗號的版本,畢竟有的人會用逗號,也有的人不會用,所以沒有使用標點符號來進行分割。
    9. 但在《唐詩三百首》、《宋詞三百首》,逗號是作為分隔線的存在,會依照標點符號進行分割,故不會保留。
  2. 再來就是,因將相關詞彙資料放到Firebase上,在初始連線上所需要花費的時間過長,也會造成遊戲體感不佳。
    1. 將改由SQLite資料庫進行支援,變成local版本,在資料的處理上都會比之前方便快速許多,唯一需要注意的是需使用SQL句,但對我來說還算熟悉,因工作需求,要使用到MySQL、MSSQL、Oracle,所以SQLite對我來說,算是非常簡單的,優點就是輕巧,適合可攜式裝備也就是APP使用。
    2. APP Inventor 2本身並沒有SQLite的元件可使用,原生的只有TinyDB,所以需要另外裝SQLite套件才能使用,相關連結附於下方參考文獻。
    3. 除此之外,你要建立SQLite資料庫出來,可使用下方DB Browser for SQLite的程式進行建置SQLite資料庫。
    4. 而相關詞彙的資料可先用Excel建立好後,另存CSV檔,之後使用Notepad++轉編碼為UTF-8格式,這樣SQLite才能正常匯入CSV檔,因為平常Excel是以BIG5為主,所以會因為編碼不一樣導致亂碼,所以要先轉成UTF-8格式編碼。
    5. 資料庫結構如下:
      1. dict: 
        1. id: INT, PK, NOT NULL(NN)
        2. vocab: TEXT, UNIQUE, NN, 詞彙
        3. first_word: TEXT, NN, 首字
        4. last_word: TEXT, NN, 尾字
        5. source: TEXT, NN, 來源
        6. len: INT, NN, 長度
      2. source_code: 
        1. source: TEXT, NN, 來源
        2. code: INT, NN, 來源編號
      3. SQL句如下:
        1. 電腦,開始,可接龍
          • SELECT vocab FROM dict 
          • WHERE source IN (SELECT source FROM source_code WHERE code = ?) 
          • AND len <= ? 
          • AND last_word IN (SELECT DISTINCT(first_word) FROM dict) 
          • ORDER BY random() 
          • LIMIT 1;
        2. 電腦,接續,可接龍
          • SELECT vocab FROM dict 
          • WHERE first_word = ? 
          • AND source IN (SELECT source FROM source_code WHERE code = ?) 
          • AND len <= ? 
          • AND last_word IN (SELECT DISTINCT(first_word) FROM dict) 
          • ORDER BY random() 
          • LIMIT 1;
        3. 電腦,接續,不可接龍
          • SELECT vocab FROM dict 
          • WHERE first_word = ? 
          • AND source IN (SELECT source FROM source_code WHERE code = ?) 
          • AND len <= ? 
          • ORDER BY random() 
          • LIMIT 1;
        4. 玩家,確認
          • SELECT vocab FROM dict 
          • WHERE vocab = ?;
  3. 而這次除了改進上述問題外,還打算加入多人連線模式,而這個就會使用Firebase來做為線上資料庫來使用,而建置方式很類似於線上聊天室的模式。
  4. 雖然源自於BattleText,但我還是想稍微做一下改變:
    1. 對戰背景色修改,原為紅黑,後續改為紅(#d75b66ff)藍(#4e7ba7ff)配色。
    2. 單人遊戲又分為積分戰和生存戰兩種
      1. 積分戰:跟原本機制一樣,比分數,4.3/6.9 = X/50,X=31.2,分數比照字串長度等比例提高至30分。
      2. 生存戰:無法接龍者扣血,血量預設3滴血 or 5滴血,無法接龍1次,扣1滴血。
      3. 但因取消長度為2的字詞,可能導致難度提高,不確定積分戰是否可行,後續還要測試評估。
    3. 跟上一版相比,使用多個Activity來進行畫面的切換,而這次想改使用多個TabView的模式來使用,降低使用Activity,統一在一個Activity中加入相關元件,降低不同Activity之間呼叫的複雜度。
    4. 單人遊戲設定:
      1. 辭庫:預設《成語典》、《國語辭典簡編本》,選用《唐詩三百首》、《宋詞三百首》
      2. 長度:電腦可使用的詞彙長度上限,3~4字、3~7字、3字以上
      3. 難度:電腦有機率會忘詞,簡單(40%)、普通(20%)、困難(10%)
    5. 多人遊戲設定:
      1. 個人ID是使用GUID作為辨識,故第一次開啟APP後就會獲得一組GUID。
  5. 待處理問題:
    1. 雙方出一個無法接龍的辭時該如何處理。
      1. 當雙方都無法接龍時,不論出題者是哪一方,由電腦自動產生新辭
      2. 所以會多一個參數來記錄雙方無法出題數
      3. 無法出題者系指真的沒有可以接龍的辭,而非困難度所導致
    2. 電腦不能出一個不能接龍的辭,但若因人出了而電腦無法出一個可接龍的辭呢?
      1. 原則上電腦盡量要出一個可以接龍的辭。
      2. 若電腦無法出一個可接龍的辭,同理,玩家也無法出一個可接龍的辭,就會回到5.1。
      3. 所以當電腦無法出一個可接龍的辭時,就會跳脫5.2.1,而出一個無法接龍的辭。
      4. 這時玩家無法接龍,換到電腦也同樣無法接龍,就會回到5.1。
      5. 為解決上述問題(5.1&5.2),資料庫需進行修改,程式需再調整。
    3. 當無法接龍時,字樣上的呈現上應該要為3個全形空白,會比較清楚。(已解決)
  6. 單人遊戲製作過程還算順利,因為已經有過類似的經驗,所以製作上還算快,經測試有出現一些問題,列在上方第5點,後續要持續改善,而多人遊戲的話會先從Firebase聊天室開始下手,目前會先把單人遊戲部分完善,再繼續執行多人遊戲的製作。

參考文獻: