Monster Run!!

Avatar of JianKai.
Avatar of JianKai.

Monster Run!!

後端開發工程師 @ WishMobile inc.
Taipei City, Taiwan
業餘時間寫的Telegram Bot小遊戲,玩家可於群組內招喚一隻怪獸,並對牠隨機丟自訂義物品(真的什麼都可以),怪獸遭到攻擊時就會受到一定傷害,不過怪獸也有機率閃躲,當然玩家也可能因腎上腺素增加產生爆擊的攻擊加乘,而這遊戲比的是運氣與尾刀數,在每週排行榜中看誰撿的最多。 – Bot對話啟動安全機制 因Bot只服務於好友間私下打發時間的幾個群組,因此並沒有對外開放,Bot一律需經主人透過群組中下達註冊指令方能啟用。 – 攻擊傷害機率 通過機率計算邏輯,隨機指定攻擊傷害(區分低、中、高三種傷害指數等級),並隨機計算當次攻擊是否能有爆擊加乘。 – 物品固定與隨機改變的攻擊力 為使同一物品攻擊力不會於每次使用時都是不同的攻擊傷害,因此物品攻擊力在首次使用定義後,攻擊力指數將會存入資料庫,下次再被使用時將會依照記錄中攻擊力進行傷害計算,但也為了避免同一物品因攻擊力過高導致過於氾濫,所以加入了隨機觸發物品傷害改變的機制。 – 防止大量發送攻擊(丟物品)指令機制 為防止玩家一次發送多個攻擊(丟物品)指令,造成後端與資料庫查詢負載等問題,因此於後端利用快取機制紀錄並限制每一位玩家發送攻擊指令Cool Down Time,防止短時間大量資料庫查詢,並且資料表結構設計時也已針對相關常用檢索欄位進行索引建立,提升資料查詢處理速度。 ----- 執行此專案時,遇見字串中含有emoji表情符號時,造成資料無法儲存進入資料庫問題,最終確認問題根源為emoji為4個字節,而MySQL資料表欄位編碼設定utf8僅支援最多3個字節,為解決此問題將其欄位編碼更改為utf8mb4_unicode_ci以解決此問題。
Avatar of the user.
Please login to comment.

Published: Aug 18th 2020
36
3
0

Share