bookmark_border西瓜遊戲得分裡的數學

最近這一兩週爆紅的西瓜遊戲,應該大家都玩得不亦樂乎吧?

西瓜遊戲在遊戲本質上來說,其實跟九年前也爆紅過的 2048 是一樣類型的遊戲:在一個相對小的限定空間當中進行物件合併的遊戲。這個「相對小的限定空間」還滿重要的,這也是它跟 Merge-three 類型的休閒遊戲的最大差別:因為限定空間小,填滿的時間相對很快,因此可以快速地在十數分鐘內完成一局再行挑戰,形成一個自然的遊戲迴圈;但 Merge-three 類遊戲的盤面相對大,填滿反而不是主要目的,因此它的遊戲迴圈會建立在多樣化的物件互動上。

不過今天我們不是來談遊戲類型的。大家是否想過,為什麼這個遊戲會有這樣一個天然的 2000、3000、3200、3400 等等的得分門檻在?在玩的過程中應該很少人會去注意到遊戲的得分結構,而大家也只是聽說「達成三千分就算強了」之類的話。這篇文章就來和大家分析一下到底為什麼有這樣的階級出現。

Continue reading “西瓜遊戲得分裡的數學”

bookmark_borderGCJ 2023 Farewell Round C

沒想到今年就是最後一年的 GCJ 了……

這最後一年也不是一個完整的賽事年,而是就簡單地在 4/15 平行開四個難度各有不同的回合做為 Farewell Round,就此告別大家了。根據 FAQ,這四個回合的難度分配是這樣子的:

考慮到我這幾年的 GCJ 大約都在 R2 落馬,Round B 若是約 GCJ R1 難度的話我應該相對輕鬆,所以決定這最後一次就以 Round C 作結吧。

……然後就發現好像咬太多了,最終成績是 24/100。那麼,這句話也是最後一次用在 GCJ:成績截圖以下有雷。

Continue reading “GCJ 2023 Farewell Round C”

bookmark_borderAdvent of Code 2022

一年一度的 AoC 又要開始了。

為還不知道 AoC 是什麼的人簡單介紹一下:Advent of Code,名字取自聖誕日曆 Advent Calendar,是每年 12 月時開始的程式設計解題挑戰。和聖誕日曆一樣,從 12 月 1 日開始每天都有新題目,一直到 12 月 25 日聖誕節為止。每天更新的時間是美東時間的換日,換算台灣時間是下午一點。

題目的故事主題當然就是聖誕節,基本上就是那種「聖誕節快完啦,幫忙寫些程式救救聖誕節」之類的故事;但題目本身則包羅萬象,從簡單的練習題到複雜的微組合語言模擬程式都有,很適合各種不同程度的程式設計練習。就我看來,初階的程式設計學習者應該至少前五到十天不會有問題,有學了一些資料結構演算法的應該可以做到 15 到 20 日,而全通雖然是點挑戰,但也不需要到我這種打過比賽或寫過一堆程式的人,大概資工系大二到大三左右的程度應該就行了吧?

我自己其實曾經在 2018 年時做過一次,不過那年因為各種原因停在半途,一直到去年看到一個我加的 Discord 群裡有要做就又把它撿回來了。去年因為比較閒一點,除了去年當年的題目之外,一路回頭到把 2018 年之後的題目也做完了;今年則是在約一個月前把最早的三年 (2015~2017) 也清掉加入 350 星俱樂部。

這篇文章預計會是動態更新,發表時間是押 12 月 1 日,但會隨著我每天做題目新增當天的簡評。不過鑑於文章更新也要時間,當天的題目可能要到晚上或隔天才會更新。原始碼整理在 github 上了。

繼續閱讀以下就是各天的題目了。

Continue reading “Advent of Code 2022”

bookmark_border經過二十年,終於又被打越擺了一道了--AI: The Somnium Files -nirvanA Initiative- 全雷(且帶打越舊作品的核彈雷)的心得

AI: The Somnium Files 系列經過三年之後的第二作,劇本還是我們熟悉的那個打越鋼太郎。標題那一句話是我剛全破之後的簡短感想,不過仔細想想還真有必要來好好寫篇文來講一下到底這是什麼意思。

跟前作一樣,這作的主劇情是離奇殺人事件的調查;前作是左眼被挖出來,這作則是被縱剖成兩半的屍體。比起前作誇張的設定是,一個人的兩半屍體竟然相隔六年在兩個地方被發現:六年前,在前作結束後的三個月後,很多我們很熟悉的前作角色加上本作的新主角龍木來斗在攝影棚中目睹憑空出現的右半身;六年後,當年的小鬼瑞希也成為了 ABIS 的搜查員,在體育場正中間發現了同一個人的左半身。我們就是操作這兩個主角 (龍木跟瑞希) 來解開這個被稱做 Half Body 連續殺人事件的離奇案件。

雙主角已經不是打越第一次寫了;《Ever17》、《Remember11》、《12Riven》都是雙主角的故事,但在過了這麼久之後再度回來寫雙主角果然還是很有野心。也是因為隔了這麼久,才會完全沒注意到一件事……不過這就後面再說了。

這篇會跟前面那篇 DDLC 心得一樣,繼續閱讀之後會先有一段比較沒捏的東西,在要進入核心之前會有再一層防雷;不一樣的是前面那篇只有捏 DDLC 系列而已,這篇的後半會把打越鋼太郎的許多知名作品爆梗爆光光。還請多加注意。

Continue reading “經過二十年,終於又被打越擺了一道了--AI: The Somnium Files -nirvanA Initiative- 全雷(且帶打越舊作品的核彈雷)的心得”

bookmark_borderGKS 2022 Round C

結果晚七其實也不是什麼好時間。還好 GKS 的難度一般來說偏低,所以中間跑去邊做事邊想題目還是可以的。

破台時間是比賽終了前 15 分鐘,排名 188 名;不過如果不計滿分魔王 Q4 大測資的話,到 Q4 小通過的時間是 1 小時 23 分鐘,大約才用去一半時間而已。

照例分數截圖以下有雷。

Continue reading “GKS 2022 Round C”

bookmark_borderGCJ 2022 Round 2

慘烈的一場比賽……慘烈到原本以為我應該沒有晉級機會的,但結果開獎之後卻發現只要最後早個十五分鐘決定放棄東西就能晉級了。

多慘?這次的晉級線是 25/100 (+1:19:12),對應通過題目是 Q1 及 Q2 小……

我自己的成績也是 25/100,不過果然做題目沒有這麼順手了,加上 Q1 的一次罰時我的時間是 +1:43:05,排在了 1142 名。

慣例成績截圖以下有雷。

Continue reading “GCJ 2022 Round 2”

bookmark_borderGCJ 2022 Round 1A

好狠的 Round 1A……配分是 10+15/31/13+31,只做前兩題說不定還晉不了級--從我破台開始,1500 名一直都是 Q1 Q2 的 56 分,而因為這個配分的關係,下一個分數是 Q1 Q3 的 69 分,再上去就是破台了,所以基本上可以說晉級線一定是 Q1 Q2 的 56 分,只是劃在解題時間多少而已。

至於為什麼沒有 Qualification Round 的文章……這次的 Q Round 給五題,不過前三題是基本題,第四題需要想一下,第五題才是鑑別題。然後我做了前四題,第五題因為抓不到一個關鍵的思考點所以沒做。既然最有得寫的第五題都沒做出來了,我再寫些簡單觀察就跟題解重疊率太高就沒寫了。

回到 Round 1A。我在賽事終了前 50 分鐘左右「破台」,這時的暫時名次約 370 名左右;賽後發現 Q3 大 WA 了只得 69/100,不過還有約 500 名。照慣例分數截圖以下有雷。

Continue reading “GCJ 2022 Round 1A”